[
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.