Here is a little screenshot of pyGEF (using GC) in action.
See the semi-transparent selection region and anti-aliasing.
NOTE! I would have thought that the text would appear smoother?

Retief Gerber
Lektor
Lecturer
Departement Elektriese en Elektroniese Ingenieurswese
Department of Electrical and Electronic Engineering

Tel: +27 21 808 4011  I  Faks/Fax: +27 21 808 4981
E-pos/E-mail: [EMAIL PROTECTED]

Universiteit Stellenbosch University
Privaat Sak/Private Bag X1 Matieland 7602 
Suid-Afrika/South Africa
www.eng.sun.ac.za





> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:floatcanvas-
> [EMAIL PROTECTED] On Behalf Of Gerber, HR, Mnr <[EMAIL PROTECTED]>
> Sent: 03 June 2007 07:06 PM
> To: Mailing List for the wxPython Float Canvas.
> Subject: Re: [fc] Float canvas as a component w/ undo/redo
> 
> Chris and Bill
> 
> I am currently building just such a library/framework for python, it is
> loosely based on GEF (Graphics Editing Framework) (Trigris and Eclipse
> each have their own implementations) and OGL. I studied them all and
> designed my own based on what I thought they did well and what one can
> do in python. I am still going to look at wxArt2D, as it is probably
> the most similar to my library, but I don't just want to build a clone
> as creating python binding might be easier.
> 
> I have created a sourceforge project called pyGEF. There isn't anything
> there yet but, it's a start. I will keep you informed. Anybody want to
> help??
> 
> pyGEF provides a typical editing environment with commands, tools,
> undo, redo, load, save and many more. GEF does not rely on a specific
> drawing canvas or drawing primitives.
> 
> My first version of pyGEF used floatcanvas, while my second uses
> GraphicsContext (GC). I build a layer onto GC so that it is similar to
> floatcanvas, making  my conversion easier. It would therefore be very
> easy to support both drawing canvases as I make use of a Plotter class
> that does the actual drawing (i.e. wrapping the GC\floatcanvas). It
> should also be possible to use an OpenGL canvas for 3D visualization
> and editing.
> 
> I mainly started using the GC so that I can learn how it works and
> because of the great looking graphics that it produces.
> 
> Currently there is a problem with the GC in that it is really very slow
> (floatcanvas is much faster), this makes GC unusable for projects that
> draw more than a couple hundred components. GC is still very new and
> will improve with time. I currently know too little about the inner
> workings of GC to know if the performance decrease is because of my
> possibly inefficient usage. :)  My usage of it should also improve. :)
> 
> I agree with Chris that the editing framework and the drawing canvas
> should be two separate libraries. This would make each more powerful
> and generic.
> 
> For those that are interested.
> 
> pyGEF mini roadmap:
>       Partially and completed work:
>               The basic drawing canvas - GC\floatcanvas
>               The basic primitive drawing objects     - Line, Polygon,
> Rectangle, etc.
>               The Command Structure - For the creation of actions that
> can be undo.
>               The CommandStack - For undo and redo.
>               The Editor container - The document editing container.
>               The SelectionManager - Handling of selections like multiple
> selections.
>               The LayerManager and Layers - Handling the layers of the
> document.
>               The CreateTool - For the adding of new components to the
> document.
>               The SelectTool - Handing of selection of document
> components within the document.
>               The MoveTool - Handling the moving and rotating of document
> components.
>               The ConnectTool - Handing the creation of connections
> between document components.
> 
>       Next work:
>               The EditTool - Handling the editing of component
> properties.
>               The ModifyTool - Handing the resizing and reshaping of
> components.
>               Make pyGEF compatible with both floatcanvas (Chris! we will
> need to add some features to fc) and GC.
>               Create an installer. (Can someone please help with this as
> I have no idea how to create an installer!!!!!!)
>               Place first release in SF (Two to Three months from now).
> 
> 
> Regards
> Retief
> 
> Retief Gerber
> Lektor
> Lecturer
> Departement Elektriese en Elektroniese Ingenieurswese
> Department of Electrical and Electronic Engineering
> 
> Tel: +27 21 808 4011  I  Faks/Fax: +27 21 808 4981
> E-pos/E-mail: [EMAIL PROTECTED]
> 
> Universiteit Stellenbosch University
> Privaat Sak/Private Bag X1 Matieland 7602
> Suid-Afrika/South Africa
> www.eng.sun.ac.za
> 
> 
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:floatcanvas-
> > [EMAIL PROTECTED] On Behalf Of Christopher Barker
> > Sent: 03 June 2007 08:44 AM
> > To: Mailing List for the wxPython Float Canvas.
> > Subject: Re: [fc] Float canvas as a component w/ undo/redo
> >
> > Bill Baxter wrote:
> > > I was thinking about drawing a component for an app, and how to
> deal
> > > with communication between the host app and the drawing component,
> > and
> > > dealing with undo/redo, and with giving the component toolbars etc,
> > > when it occurred to me that the STC text control [*] solves a very
> > > similar problem, it just provides an interface to a rich text
> > document
> > > model rather than a drawing document model.  All the issues that it
> > > has to deal with are pretty much the same.  It might be a good idea
> > to
> > > copy its API.
> >
> > I've never used STC at all, so thanks for the suggestion. I should
> take
> > a look at it.
> >
> > I've been thinking about this some, and one issue I have is that I"m
> > not
> > sure what role FloatCanvas itself should play. I've really always
> > thought of it as the Viewer part of any potential app. I think
> various
> > different uses are going to require fairly different types of
> > documents,
> > so we really don't want the whole document model built in to
> > FloatCanvas. However, FloatCanvas should "play well" with those
> various
> > document models.
> >
> > As an example, I think STC is really designed not for all types of
> text
> > documents, but really code in particular, and I don't think it plays
> > all
> > that well with other types of docs.
> >
> > I haven't really built anything yet that really had "documents", but
> > I've figured that when I do, I'll create Graphics objects that are
> used
> > in the document that are subclassed from FloatCanvas DrawObjects.
> >
> > >  Anyway I could use something like a
> > > drop-in figure editing component.  Maybe that's what OGL is though?
> >
> > It depends on what type of figures your talking about. My impression
> of
> > OGL is that it is designed for boxes-connected-by-lines type
> drawings.
> >
> > > Then there's wxArt2D too, but I don't think there are py bindings
> for
> > > that.
> >
> > Nope. and I understand that it uses a lot of Virtual method which
> makes
> > wrapping it a pain.
> >
> > > I never paid much attention to OGL because it was all aliasy.
> > > But maybe now with the new GCDC it's gotten a facelift?
> >
> > Only if someone as adapted the code. And FloatCanvas is using the
> same
> > old aliasy DCs too. (though see recent messages here from HR Gerber,
> > he's been playing with the new GraphicsContext, with some nice
> results.
> >
> > Anyway, I'd love someone to build a nice figure editor with
> > FloatCanvas,
> > hint, hint.
> >
> > -Chris
> >
> >
> >
> >
> > --
> > Christopher Barker, Ph.D.
> > Oceanographer
> >
> > NOAA/OR&R/HAZMAT         (206) 526-6959   voice
> > 7600 Sand Point Way NE   (206) 526-6329   fax
> > Seattle, WA  98115       (206) 526-6317   main reception
> > _______________________________________________
> > FloatCanvas mailing list
> > [email protected]
> > http://mail.mithis.com/cgi-bin/mailman/listinfo/floatcanvas
> _______________________________________________
> FloatCanvas mailing list
> [email protected]
> http://mail.mithis.com/cgi-bin/mailman/listinfo/floatcanvas

<<attachment: pylink.PNG>>

_______________________________________________
FloatCanvas mailing list
[email protected]
http://mail.mithis.com/cgi-bin/mailman/listinfo/floatcanvas

Reply via email to