Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ve-dev] how does eclipse know


... we can spend hours on this issue.  But, the net net is that VE in its core will be able to drop any JavaBean on the Free Form (see http://java.sun.com/products/javabeans/docs/spec.html).  VE will model the bean,  instantiate it with a null constructor, introspect it, and will render properties on the PropertySheet.

To support WYSIWYG, the core VE was extended to screen scrape certain component hierarchy.  To extend VE we use override files that could say that for a given hierarchy... use special (GEF) edit parts, Decoders,  hide/fluff properties etc.   see org.eclipse.ve.jfc\overrides\java\awt\Component.override as an example override file for a Swing Component.

The Reverse Parsing process does not necessarily looks at all the instance variables and code in your class.  It tries to filter what is rendered.
If it is a Swing/SWT component will render them (e.g., see the  modelled="true" in the Component.override file).
If the class is not to be modelled by default from an override file, you can for VE to model it as following (this logic comes for rules that can be extended as well):

   1.  prefix the instance variable name with "ivj"
   2.  (This is on CVS and will be available in the next build)  An instance declaration has a comment that starts as following  //  @jve:decl-index=0:



         e.g.,   if you use the ChooseBean to drop a none Swing/SWT component, it will generate code like  this
                       Foo  myFoo = null;  //  @jve:decl-index=0:visual-constraint="56,58"
   This implies that myFoo will be modeled, and will be placed on the Canvas at coordinates 56,58.

                      Foo  myFoo = null;  //  @jve:decl-index=0:visual-constraint=""
       myFoo will be modeled, and Free Flowed on the FF.

                      Foo  ivjmyFoo = null;
       ivjmyFoo will be modeled, and Free Flowed on the FF.

                      Foo  myFoo = null;  //  @jve:decl-index=0:
       myFoo will be modeled, but will not be placed on the FF

                      Foo  myFoo = null;  
       myFoo will NOT be modeled... as it is not a "override designated Visual Class"




------------
Dr. Gili Mendel
IBM
Software Development
RTP Raleigh, NC
(919)543 6408, tie: 441 6408


 
Ps- Just out of interest how does the Visual Editor know which are visual components and must the class follow a certain structure ( a la JavaBean structure)? I was trying to port some old classes to it and i'm redoing them... just thought if I understand how it builds it up I can save some time. Thanks again for the prompt reply.

Back to the top