[wxPython] wxIDLE reconsidered

Hi Riaan,

[Riaan Booysen wrote]:

Boa is your wxIDLE.
This is the *primary* role that Boa tries to fulfill,
GUI building,Zope, etc are secondary for me.
This is complete overlap!
The IDE/Editor component that you talk about
is ready for use in Boa,
stable and offers equivalent functionality to IDLE.
...
I don't think this is a good idea,
and am against yet another ide.
Please help out with Boa.
Why not work together on a wxPython IDE
for Python instead of dividing resources
and duplicating work? Boa aready does everything you want,
you can help make it work the way you want it.

I cannot speak, of course, for Terrel, but personally I think you are
right.
What made me think of a "wxIDLE" as something apart from Boa
was simply my
impression of Boa as something fantastic but monolithic and huge
that would still have a long way to go. But what is there is really
great and that's why I had the idea of using Boa's editor for
"wxIDLE": it was clear for me that not using it would be something
like trying to reinvent the wheel.
I mean Boa is not exactly what I imagined as "wxIDLE",
it is (already now) much more. So my request for Boa is much in
line with Robin's advice for "wxIDLE".

[Robin Dunn wrote]:

My one request for wxIDLE:
Be sure to design it with a plug-in
architecture. (Plug-in Editors: code editor,
layout editor, menu editor, etc.
Plug-in Tools: simple debugger, remote debugger,
Bob's debugger, class browser, PythonCard, etc...)

If this is compatible with your future design ideas for Boa then
thinking of "wxIDLE" in fact means thinking basically of the Editor
and Shell components of Boa and it is of course infinitely more
meaningful to think of it as a part of a larger context (i.e. Boa) than
to take it out of this context into something "new" and smaller like
a "wxIDLE". This would indead mean wasting resources.
Seen from that angle I have to admit that my idea for "wxIDLE" was
not a very good one. But, on the other hand, if it helped bringing
broader attention, some new ideas and fresh life to the
development of Boa, it was still ok.
Christoph

Hi Christoph, thank you for reconsidering.

Although this thread hasn't been entirely pleasant for me, it has
definitely highlighted the need for a 'lighter' Boa.

I've now spent some time going thru the code, examining
dependencies and testing whether I could do what I promised :wink:

For now suppose 'light' mode may be set with a commandline option
or preference setting.

The following components will be excluded:
Palette
Inspector
Frame Designer

I can see ways to make this work by adding lots of ifs and moving
certain imports out of module scope into function scope.
This is not the cleanest way to do this, but it's a good start.
It can be gradually refactored to something neater.

On a smaller scale it is very simple to remove views associated with
a model. They are defined as a tuple in the constructor of the
model's controller.

One question at the moment is the Inspector. It is not only
used by the Frame Designer, but also by some Explorers like Zope,
DAV and Preferences.

The Explorer classes cannot be left out because they provide the
transport layer for the Model objects. (items you open in the Editor)

If we decide we do need the Inspector, we also get the Companion
and PropertyEditor classes which make up a large part of the code
used by the Frame Designer.

I'd appreciate more feedback about what people would want in such
a light version of Boa.

Hi Riaan,

[Riaan Booysen wrote]:
>Boa is your wxIDLE.
>This is the *primary* role that Boa tries to fulfill,
>GUI building,Zope, etc are secondary for me.
>This is complete overlap!
>The IDE/Editor component that you talk about
> is ready for use in Boa,
>stable and offers equivalent functionality to IDLE.
>...
>I don't think this is a good idea,
>and am against yet another ide.
>Please help out with Boa.
>Why not work together on a wxPython IDE
>for Python instead of dividing resources
>and duplicating work? Boa aready does everything you want,
>you can help make it work the way you want it.

I cannot speak, of course, for Terrel, but personally I think you are
right.
What made me think of a "wxIDLE" as something apart from Boa
was simply my
impression of Boa as something fantastic but monolithic and huge
that would still have a long way to go. But what is there is really
great and that's why I had the idea of using Boa's editor for
"wxIDLE": it was clear for me that not using it would be something
like trying to reinvent the wheel.
I mean Boa is not exactly what I imagined as "wxIDLE",
it is (already now) much more. So my request for Boa is much in
line with Robin's advice for "wxIDLE".

[Robin Dunn wrote]:
>My one request for wxIDLE:
>Be sure to design it with a plug-in
>architecture. (Plug-in Editors: code editor,
>layout editor, menu editor, etc.
>Plug-in Tools: simple debugger, remote debugger,
>Bob's debugger, class browser, PythonCard, etc...)

If this is compatible with your future design ideas for Boa then
thinking of "wxIDLE" in fact means thinking basically of the Editor
and Shell components of Boa and it is of course infinitely more
meaningful to think of it as a part of a larger context (i.e. Boa) than
to take it out of this context into something "new" and smaller like
a "wxIDLE". This would indead mean wasting resources.
Seen from that angle I have to admit that my idea for "wxIDLE" was
not a very good one. But, on the other hand, if it helped bringing
broader attention, some new ideas and fresh life to the
development of Boa, it was still ok.
Christoph

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

This is my take on the 'Plug-in' nature of the components in Boa;
Boa itself is a framework in which many different 'boa plug-ins'
like explorers, controllers, models, views, companions, etc are
plugged in. This makes it very easy to extend Boa because most of the
work for integration in the IDE is done for you (indeed Boa could
never have grown as it has without such a framework), but the
drawback is of course that these classes are only useable in the
Boa framework.

Let's look at the Frame Designer as a plug-in component;
The DesignerView is just another (granted, big) EditorView class that
plugs into any BaseFrameModel, similarly for the DataView. Both these
views derive from InspectableObjectView which provides functionality to
view objects in the Inspector. Controls in the Frame Designer
have corresponding Companion classes that define their design-time
behaviour and are also referenced on the Palette. When the Designer is
closed the companions are serialised to the method their View
maintains (e.g. the Frame Designer maintains _init_ctrls,
Collection Editors maintain _init_coll_*, etc).
These methods are then finally written back to the Model through
the Module object that all Python Models (derived from ModuleModel)
have.

The point of this rather long winded description was to show how
the process of Frame Designing spans across quite a few of the
IDE framework components. To me, it does not make sense to separate
the Frame Designer from the boa framework.
If I had to create a stand-alone Designer plugin, I would add a pseudo
framework to this Designer plugin.

Enough for now (too much already :wink:

···

CCF.Herzog@gmx.net wrote:
--
Riaan Booysen
___________________________________________________
Boa Constructor - RAD GUI building IDE for wxPython
     http://boa-constructor.sourceforge.net

The following components will be excluded:
Palette
Inspector
Frame Designer

The Frame Designer is something I've always wanted to see, however at least
with the release version of Boa, if I open the Frame Designer it always just
sucks up 100% of my CPU and I have to close it down. I'm running
ActivePython 2.1 build 211 on Windows 2000, wxPython 2.3.1 It sounds like
maybe I have to grab Boa out of cvs?

I am working on a GUI resource editor for PythonCard and would like to see
what you've used for moving widgets around dynamically.

ka

Well, this thread interested me, so I updated my CVS copy of Boa and ran
through my "sit down and try to start using it to see what problems arise"
process. I put the bugs and feature requests I came up with into the Boa
SourceForge trackers. If everyone looking for a wxIDLE does this, we'll
probably get a good idea of what's remaining to create the environment for
which we're looking.

Basically, I think if you focus on and simplify the base interface (the
editor), eliminating the clutter of the GUI designer (as you describe below)
until the user actually needs it, you'll find a lot more people seeing the
package as simple and easy to use, rather than being overwhelmed. i.e. the
problem appears to be one of interface design, rather than system design.
Potentially this could be a different top-level script, but I think a set of
options would be more appropriate.

My Bias:
  Basically, I use my Python IDEs (PythonWin normally) as heavy-duty
text-editors, with syntax highlighting, attribute lookup and calltips.
Automatically running the current script in another process is one of the
things I see as a "killer time saver" (can't currently do it in PythonWin,
hence my interest in Boa). I've never successfully used a dialog painter in
a real-world project (I always need dynamic layouts), so I don't see the
dialog painting as useful until it supports dynamic layouts. I don't use
Zope much any more. I use SourceForge for most of my projects, so the CVS
integration looks good (though I haven't got it set up yet).

Thanks for all your work, Riaan,
Mike

···

-----Original Message-----
From: wxpython-users-admin@lists.wxwindows.org
[mailto:wxpython-users-admin@lists.wxwindows.org]On Behalf Of Riaan
Booysen
Sent: August 10, 2001 00:05
To: wxpython-users@lists.wxwindows.org
Subject: Re: [wxPython] wxIDLE reconsidered
...
For now suppose 'light' mode may be set with a commandline option
or preference setting.

The following components will be excluded:
Palette
Inspector
Frame Designer
...

Rather than excluding the Palette, Inspector, and Frame Designer, what about
just hiding those frames until the user does something that requires them?
It doesn't buy you any resource savings, but it does get you the comfort of
"Out of sight, out of mind" as a first step toward Boa Light. (Or is it Boa
Lite, Boa--, ???)

···

---
Patrick K. O'Brien
Orbtech
"I am, therefore I think."

-----Original Message-----
From: wxpython-users-admin@lists.wxwindows.org
[mailto:wxpython-users-admin@lists.wxwindows.org]On Behalf Of Riaan Booysen
Sent: Thursday, August 09, 2001 11:05 PM
To: wxpython-users@lists.wxwindows.org
Subject: Re: [wxPython] wxIDLE reconsidered

Hi Christoph, thank you for reconsidering.

Although this thread hasn't been entirely pleasant for me, it has
definitely highlighted the need for a 'lighter' Boa.

I've now spent some time going thru the code, examining
dependencies and testing whether I could do what I promised :wink:

For now suppose 'light' mode may be set with a commandline option
or preference setting.

The following components will be excluded:
Palette
Inspector
Frame Designer

I can see ways to make this work by adding lots of ifs and moving
certain imports out of module scope into function scope.
This is not the cleanest way to do this, but it's a good start.
It can be gradually refactored to something neater.

Boa Light. (Or is it Boa
Lite, Boa--, ???)

Baby Boa? (Like Baby Food, it's what you eat until you get your teeth.)

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

Boa Constricted?

···

----- Original Message -----
From: "Robin Dunn" <robin@alldunn.com>
To: <wxpython-users@lists.wxwindows.org>
Sent: Friday, August 10, 2001 8:11 AM
Subject: Re: [wxPython] wxIDLE reconsidered

> Boa Light. (Or is it Boa
> Lite, Boa--, ???)

Baby Boa? (Like Baby Food, it's what you eat until you get your teeth.)

Hi Tim,

Tim Hochberg wrote:

From: "Robin Dunn" <robin@alldunn.com>
To: <wxpython-users@lists.wxwindows.org>
Sent: Friday, August 10, 2001 8:11 AM
Subject: Re: [wxPython] wxIDLE reconsidered

> > Boa Light. (Or is it Boa
> > Lite, Boa--, ???)
>
> Baby Boa? (Like Baby Food, it's what you eat until you get your teeth.)

Boa Constricted?

He he! This one is just as catchy!

Which one to choose, which one to choose... :slight_smile:

···

----- Original Message -----

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

--
Riaan Booysen
___________________________________________________
Boa Constructor - RAD GUI building IDE for wxPython
     http://boa-constructor.sourceforge.net

Hi Robin,

Robin Dunn wrote:

> Boa Light. (Or is it Boa
> Lite, Boa--, ???)

Baby Boa? (Like Baby Food, it's what you eat until you get your teeth.)

LOL!!! This is great!

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

Still LOL :slight_smile:

···

--
Riaan Booysen
___________________________________________________
Boa Constructor - RAD GUI building IDE for wxPython
     http://boa-constructor.sourceforge.net

Hi Mike,

"Mike C. Fletcher" wrote:

Well, this thread interested me, so I updated my CVS copy of Boa and ran
through my "sit down and try to start using it to see what problems arise"
process. I put the bugs and feature requests I came up with into the Boa
SourceForge trackers. If everyone looking for a wxIDLE does this, we'll
probably get a good idea of what's remaining to create the environment for
which we're looking.

Yeah, everybody go for it.
Bugs on the SourceForge site get fixed (if at all possible) sooner than
other bugs.

Basically, I think if you focus on and simplify the base interface (the
editor), eliminating the clutter of the GUI designer (as you describe below)
until the user actually needs it, you'll find a lot more people seeing the
package as simple and easy to use, rather than being overwhelmed. i.e. the
problem appears to be one of interface design, rather than system design.
Potentially this could be a different top-level script, but I think a set of
options would be more appropriate.

I love the Editor interface!
Please suggest explicit changes I should consider.

My Bias:
        Basically, I use my Python IDEs (PythonWin normally) as heavy-duty
text-editors, with syntax highlighting, attribute lookup and calltips.
Automatically running the current script in another process is one of the
things I see as a "killer time saver" (can't currently do it in PythonWin,
hence my interest in Boa). I've never successfully used a dialog painter in
a real-world project (I always need dynamic layouts), so I don't see the
dialog painting as useful until it supports dynamic layouts. I don't use
Zope much any more. I use SourceForge for most of my projects, so the CVS
integration looks good (though I haven't got it set up yet).

Thanks for all your work, Riaan,
Mike

It's a pleasure!

···

-----Original Message-----
From: wxpython-users-admin@lists.wxwindows.org
[mailto:wxpython-users-admin@lists.wxwindows.org]On Behalf Of Riaan
Booysen
Sent: August 10, 2001 00:05
To: wxpython-users@lists.wxwindows.org
Subject: Re: [wxPython] wxIDLE reconsidered
...
For now suppose 'light' mode may be set with a commandline option
or preference setting.

The following components will be excluded:
Palette
Inspector
Frame Designer
...

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

--
Riaan Booysen
___________________________________________________
Boa Constructor - RAD GUI building IDE for wxPython
     http://boa-constructor.sourceforge.net

Hi Kevin, the air is thick with IDE developers, eh :wink:

Kevin Altis wrote:

> The following components will be excluded:
> Palette
> Inspector
> Frame Designer

The Frame Designer is something I've always wanted to see, however at least
with the release version of Boa, if I open the Frame Designer it always just
sucks up 100% of my CPU and I have to close it down. I'm running
ActivePython 2.1 build 211 on Windows 2000, wxPython 2.3.1 It sounds like
maybe I have to grab Boa out of cvs?

Yeah, the OOR features introduced since 2.3.0 changed behaviour
0.0.5. relied on.

Please grab the latest from CVS and if possible use 2.3.0.
2.3.1 unfortunately introduces a bug with accelerator tables.

I am working on a GUI resource editor for PythonCard and would like to see
what you've used for moving widgets around dynamically.

I don't have time now, but I'll post some notes soon.

···

ka

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

--
Riaan Booysen
___________________________________________________
Boa Constructor - RAD GUI building IDE for wxPython
     http://boa-constructor.sourceforge.net

One more possibility:

Feather Boa

And since your editor already uses a feather as an icon, it's doubly
appropriate....

-tim

···

----- Original Message -----
From: "Riaan Booysen" <riaan@e.co.za>
To: <wxpython-users@lists.wxwindows.org>
Sent: Friday, August 10, 2001 9:06 AM
Subject: Re: [wxPython] wxIDLE reconsidered

Hi Tim,

Tim Hochberg wrote:
>
> ----- Original Message -----
> From: "Robin Dunn" <robin@alldunn.com>
> To: <wxpython-users@lists.wxwindows.org>
> Sent: Friday, August 10, 2001 8:11 AM
> Subject: Re: [wxPython] wxIDLE reconsidered
>
> > > Boa Light. (Or is it Boa
> > > Lite, Boa--, ???)
> >
> > Baby Boa? (Like Baby Food, it's what you eat until you get your

teeth.)

>
> Boa Constricted?

He he! This one is just as catchy!

Which one to choose, which one to choose... :slight_smile:

>
> _______________________________________________
> wxpython-users mailing list
> wxpython-users@lists.wxwindows.org
> http://lists.wxwindows.org/mailman/listinfo/wxpython-users

--
Riaan Booysen
___________________________________________________
Boa Constructor - RAD GUI building IDE for wxPython
     http://boa-constructor.sourceforge.net

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

Basically, my explicit suggestions are what I'm entering in the feature
request tracker on SourceForge. The basic editor interface is good, my
suggestion (
http://sourceforge.net/tracker/index.php?func=detail&aid=449719&group_id=190
9&atid=351909 ) was to simplify it by eliminating the painter interface
"around it". There are other suggestions in the tracker relating to the
lack of direct manipulation widgets (close buttons for instance), missing
functions in menus, useful "standard" or expected functionality that could
be added (search and replace, tab handling (without which I, for one, can't
use the editor, since our coding standard is pure-tab-only)), the need for
status bar help text, etc.

http://sourceforge.net/tracker/?func=browse&group_id=1909&atid=351909

Thanks again,
Mike

···

-----Original Message-----
From: wxpython-users-admin@lists.wxwindows.org
[mailto:wxpython-users-admin@lists.wxwindows.org]On Behalf Of Riaan
Booysen
Sent: August 10, 2001 12:07
To: wxpython-users@lists.wxwindows.org
Subject: Re: [wxPython] wxIDLE reconsidered
...
I love the Editor interface!
Please suggest explicit changes I should consider.
...

I agree on tab handling. I despise using spaces, which is why I've stuck to
XEmacs for all my development.

···

On Monday 13 August 2001 09:04, you wrote:

be added (search and replace, tab handling (without which I, for one, can't
use the editor, since our coding standard is pure-tab-only)), the need for
status bar help text, etc.

--
Cliff Wells
Software Engineer
Logiplex Corporation
(800) 735-0555

This is off topic, but I'm going ot put my $0.02 in anyway...

Cliff Wells wrote:

> be added (search and replace, tab handling (without which I, for one, can't
> use the editor, since our coding standard is pure-tab-only)),

I agree on tab handling. I despise using spaces, which is why I've stuck to
XEmacs for all my development.

Mixing Tabs and spaces was always stupid, but frankly, I don't care
wheter I use all tabs, or all spaces, as long as my editor takes care of
it for me. i.e. I press the tab key to add an indentation lkeve, and the
backspace key to remove one. Whether it is actually putting a tab in or
spaces is of no concern to me, but since the "official" style is now all
spaces (and four of them per indent), I think all Python modes should
use that. Consistency really is a good thing!

-Chris

···

--
Christopher Barker,
Ph.D.
ChrisHBarker@home.net --- --- ---
http://members.home.net/barkerlohmann ---@@ -----@@ -----@@
                                   ------@@@ ------@@@ ------@@@
Oil Spill Modeling ------ @ ------ @ ------ @
Water Resources Engineering ------- --------- --------
Coastal and Fluvial Hydrodynamics --------------------------------------
------------------------------------------------------------------------

Since this happens to be exactly what I use, I'm glad to read it, but how
"official"? Did our BDFL (GvanR) say it?

···

On August 13, 2001 11:50 am, Chris Barker wrote:

spaces is of no concern to me, but since the "official" style is now all
spaces (and four of them per indent), I think all Python modes should
use that. Consistency really is a good thing!

--
Regards, Paul Evans

Perhaps the best compromise would be an editor that generated spaces in the
code, but moved the cursor as if they were tabs (i.e. jump 4 spaces instead
of having to hit the arrow key 4 times) or used tabs (optionally, of course)
when editing, but converted them to spaces upon saving the file.

···

On Monday 13 August 2001 11:50, you wrote:

This is off topic, but I'm going ot put my $0.02 in anyway...

Mixing Tabs and spaces was always stupid, but frankly, I don't care
wheter I use all tabs, or all spaces, as long as my editor takes care of
it for me. i.e. I press the tab key to add an indentation lkeve, and the
backspace key to remove one. Whether it is actually putting a tab in or
spaces is of no concern to me, but since the "official" style is now all
spaces (and four of them per indent), I think all Python modes should
use that. Consistency really is a good thing!

--
Cliff Wells
Software Engineer
Logiplex Corporation
(800) 735-0555

He did, but apparently it's been retracted... The official style guide is
now at Python Enhancement Proposals Have Moved!. I remember several
months ago that the document this PEP taken from was changed to say "Always
use spaces" but now it no longer says that.

···

On August 13, 2001 11:50 am, Chris Barker wrote:
> spaces is of no concern to me, but since the "official" style is now all
> spaces (and four of them per indent), I think all Python modes should
> use that. Consistency really is a good thing!

Since this happens to be exactly what I use, I'm glad to read it, but how
"official"? Did our BDFL (GvanR) say it?

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

We are a little off-topic, but here's the point I was making:

  There are shops where tab-only is the accepted, in-practice,
still-going-strong standard. These shops are not going to switch thousands
of modules to space-based indentation just to use a new IDE. IDEs need to
be flexible enough to accommodate what's needed by the user.

  And, incidentally, both pure-space and pure-tab-based indentation are
considered valid in the latest style guide PEP:

http://python.sourceforge.net/peps/pep-0008.html

  Tabs or Spaces?

  Never mix tabs and spaces. The most popular way of indenting
  Python is with spaces only. The second-most popular way is with
  tabs only. Code indented with a mixture of tabs and spaces should
  be converted to using spaces exclusively. (In Emacs, select the
  whole buffer and hit ESC-x untabify.) When invoking the python
  command line interpreter with the -t option, it issues warnings
  about code that illegally mixes tabs and spaces. When using -tt
  these warnings become errors. These options are highly
  recommended!

Enjoy,
Mike

···

-----Original Message-----
From: wxpython-users-admin@lists.wxwindows.org
[mailto:wxpython-users-admin@lists.wxwindows.org]On Behalf Of Paul Evans
Sent: August 13, 2001 14:45
To: wxpython-users@lists.wxwindows.org
Subject: Re: [wxPython] wxIDLE reconsidered

On August 13, 2001 11:50 am, Chris Barker wrote:

spaces is of no concern to me, but since the "official" style is now all
spaces (and four of them per indent), I think all Python modes should
use that. Consistency really is a good thing!

Since this happens to be exactly what I use, I'm glad to read it, but how
"official"? Did our BDFL (GvanR) say it?
--
Regards, Paul Evans

_______________________________________________
wxpython-users mailing list
wxpython-users@lists.wxwindows.org
http://lists.wxwindows.org/mailman/listinfo/wxpython-users

I just upgraded from wxPython 2.3b4 to wxPython 2.3.1. This fixed a bunch of
problems I'd been having with Boa, but introduced a new, major one: all of
the accelerators stopped working. Anyone have any ideas as to why and/or
fixes. This on win2k with python 2.1.

Thanks,

-tim