Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [wb-dev] Extensibility docs?


  Well, we don't provide much documentation, only source.
  Initially WindowBuilder had only support for Java based toolkits, but then we've added also support for XML.
  So, it is extensible in some form.
  I recommend you to look on org.eclipse.wb.core.xml (base support for XML) and org.eclipse.wb.xwt (specific parser, renderer, models, etc).

  But you should understand that adding support for new language, such as C++ is big task.
  You will need:

1. Some format of components description - for XML we've used same *.wbp-component.xml descriptions as for Java and even share these descriptions for example between GWT Java and GWT UiBinder. See org.eclipse.wb.internal.core.xml.model.description.ComponentDescription and org.eclipse.wb.internal.core.xml.model.description.ComponentDescriptionHelper

2. New Editor which is composition of language specific Source editor and Design page which hosts subclass of  org.eclipse.wb.internal.core.editor.DesignComposite, see org.eclipse.wb.internal.core.xml.editor.XmlDesignComposite and org.eclipse.wb.internal.core.xml.editor.XmlDesignPage which hosts it 

3. Parser of the source into models tree. See org.eclipse.wb.internal.xwt.parser.XwtParser or com.google.gdt.eclipse.designer.uibinder.parser.UiBinderParser (GWT Design is also open sourced, but not in Eclipse, see http://code.google.com/p/gwt-designer/)

4. Renderer which takes models tree (or just source) and renders real UI with ability to ask every property value, location/size of each component, their images, etc. See org.eclipse.wb.internal.xwt.parser.XwtRenderer or com.google.gdt.eclipse.designer.uibinder.parser.UiBinderRenderer

5. Toolkit specific set of models and GEF EditParts, LayoutEditPolicies to edit models and source. See org.eclipse.wb.internal.core.xml.model.XmlObjectInfo and org.eclipse.wb.internal.xwt.model.widgets.ControlInfo



This has been on my list of things to look at since WindowBuilder joined Eclipse. I've been wondering whether it can be used for non-Java GUI designs. There are quite a few windowing platforms in the native world I interact with CDT and they all need good Eclipse-based design tools.

Along those lines is there any documentation I could look at to learn more about how to add a new integrations?

 



--
Konstantin Scheglov,
Google, Inc.

Back to the top