Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ve-dev] is there an ECore model for the override files

Hi Joe:

 

Thank you very much for the pointers and insights. I did find the event.mdl Rose model in the JEM SDK and am studying it.

 

You mentioned there are thoughts of having an editor for authoring .override files. It seems to me that such an editor is a good candidate for an exemplary modeling tool for the recently proposed GMF (Graphical Modeling Framework, http://www.eclipse.org/proposals/eclipse-gmf/index.html) project.

 

If you like the idea, maybe I can make the suggestion to the GMF team and express my interests in contributing to the implementation of such an editor.

 

Thanks,

Chaur

 

 


From: ve-dev-admin@xxxxxxxxxxx [mailto:ve-dev-admin@xxxxxxxxxxx] On Behalf Of Joe Winchester
Sent: Thursday, March 17, 2005 2:22 AM
To: ve-dev@xxxxxxxxxxx
Subject: Re: [ve-dev] is there an ECore model for the override files

 


Hi Chaur,

I believe the model is in the package com.ibm.etools.emf.event although Rich Kulp knows more about this area than me so he might want to jump in and correct me as I believe this is a temporary place right now. For an element like Add there is a corresponding Java class as it is a code generated EMF model, so you can create a workspace, import org.eclipse.ve.swt and its required plugins and then just open the type "Add" (or "AddImpl") for the class and then browse it.  In the package you will see a file event.mdl and this is a rose model of the EMF schema.

The .override files are at the heart of VE extensibility for a particular Java class.  What occurs is that an EMF JavaClass is built up for the class that contains its structure.  The primary source of this is reflection of the actual class from JDT combined with BeanInfo Introspection, and each JavaBeans property ends up as an EReference and the hierarchy of the actual Java class becomes the EMF eSuperclass, etc...  Decorators are held against elements in the model that are used as factory lookup extension points.  For example ClassDescriptorDecorator is held against the JavaClass itself and holds onto the name of the GEF EditPart names.  BeanDecorator holds onto the name of the adapter that mediates conversation to the target JVM.  These are described in the .override and the best way to learn the syntax is just to look at the many examples that exist in org.eclipse.ve.jfc or org.eclipse.ve.swt.  There is no hard coding in the base VE code so everything special that an AWT or Swing or SWT class does is soft coded in either the BeanInfo or the .override.  Some of the .overrides are more complex than others because things like extra relationships that occur in classes like javax.swing.JSplitPane or org.eclipse.swt.widgets.TabFolder or org.eclipse.swt.widgets.Composite need extra relationships and EMF elements.

We are working hard to document the extension mechanism for this as we get many requests for how to leverage the .override files.  Gili and I gave a tutorial at Eclipsecon on this very subject where we have a small plugin that touches a number of the usual extension points (property editors, GEF edit parts, custom code generation) and this will be made available shortly in the next few days.  We are also working on another example that shows how to do GUI building using classes that themselves aren't actually visual which is another popular pattern of extension (it is the one used by Canoo for example who published a very good whitepaper on the VE web site recently that is definitely worth reading) and libraries such as JFace would also require this (for example TextViewer doesn't inherit from Text but you still want to drop a TextViewer onto an SWT Composite).

For the .override files we have also toyed around with the idea of having some kind of fancy editor to hide the complexity of the underlying XML structure, much the way the PDE has a nice plugin.xml editor that gives you high level pages with lists and wizards that mean you don't need to code in raw XML syntax.  The amount of work for us to build the editor however might be large so instead we're trying to document the structure and also possibly think about better ways to debug mistakes in the files which can be tricky to find just by trawling through the ErrorLog - possibly a builder could validate some of the syntax much the way the PDE builder can validate plugin.xml to see that it is using valid extension points in a correct way over and above being correct XML syntax.

Best regards and many thanks,

Joe Winchester

Please respond to ve-dev@xxxxxxxxxxx

Sent by:        ve-dev-admin@xxxxxxxxxxx

To:        ve-dev@xxxxxxxxxxx
cc:        
Subject:        [ve-dev] is there an ECore model for the override files


Is there an ECore model for the .override files? It seems to me that there should be such a model to govern the structure of an override file. Otherwise, how am I supposed to know that there are XML elements such as <event:Add> and <event:AddMany> to use in an override file? But when I open an override file, the “event” XML namespace points to event.xmi, which doesn’t seem to exist anywhere. Any idea?

Thanks,

Chaur

 

 

 

 

 

====================

Notice to Recipient: This e-mail is meant for only the intended recipient of the transmission, and may be a communication privileged by law. If you received this e-mail in error, any review, use, dissemination, distribution, or copying of this e-mail is strictly prohibited. Please notify us immediately of the error by return e-mail and please delete this message from your system. Applicable legal notices regarding the e-mail content, attachments, and web links are posted on Ellie Mae's website.

http://www.elliemae.com/legal.asp



====================

Notice to Recipient: This e-mail is meant for only the intended recipient of the transmission, and may be a communication privileged by law. If you received this e-mail in error, any review, use, dissemination, distribution, or copying of this e-mail is strictly prohibited. Please notify us immediately of the error by return e-mail and please delete this message from your system. Applicable legal notices regarding the e-mail content, attachments, and web links are posted on Ellie Mae's website.

http://www.elliemae.com/legal.asp


Back to the top