Contributing to the EDT project [message #902834] |
Mon, 20 August 2012 13:13  |
Eclipse User |
|
|
|
I am copying my question over here from the blog comments. There has been some discussion in blog comments about the focus of the EDT team being mainly compiler, generator, and language internals for the next 4-6 months. My whining about wanting more "visible" features (like HTML5 support) led to the inevitable "why don't you contribute that yourself?" Let's assume that I am skilled enough and ambitious enough (not necessarily valid assumptions) to do so. That's where my question comes in:
"I've written quite a few widgets for my own use but something that trips me up when I think about creating widgets suitable for inclusion in an effort like EDT is my concern that there are certain rules that should be followed of which I am not aware. For example, when I look at Dojo widgets and others written by IBM (like those in the HTML5 preview for RBD) I see function calls on "eze$$DOMElement" and "egl" used extensively in the hand-written JavaScript code used to implement widgets and classes. I have no idea what functions these objects provide outside of what I see used when I poke around IBM-created widgets. And as I said, I see calls to functions and properties set that seem like they are probably fundamentally important.
Is there any documentation that outlines the expectations on a widget implementation so that it will play nice in the EDT world? Any documentation for the "eze$$xxxxxx", "egl" and other apparently internal objects that a widget developer should/could/might use?"
--Dan
|
|
|
|
Re: Contributing to the EDT project [message #902976 is a reply to message #902834] |
Tue, 21 August 2012 09:32   |
Eclipse User |
|
|
|
Dan,
Some high level information on defining new widgets can be found in the existing RBD documentation:
http://pic.dhe.ibm.com/infocenter/rbdhelp/v8r5m0/index.jsp?topic=%2Fcom.ibm.egl.lr.doc%2Ftopics%2Fregl_ui_richui_extending.html
http://pic.dhe.ibm.com/infocenter/rbdhelp/v8r5m0/index.jsp?topic=%2Fcom.ibm.egl.lr.doc%2Ftopics%2Fregl_ui_richui_external_type.html
I can try to provide some additional information in this thread, and any additional topics can be discussed on the EDT Developers Forum - http://dev.eclipse.org/mailman/listinfo/edt-dev
All EGL runtime fields and functions are qualified by the 'egl' namespace (i.e. egl.IE, egl.createElement(), etc ). These fields and functions are placed within the 'egl' namespace so that they do not collide with other JavaScript elements being included in an EGL Rich UI application. You can find most of these definitions in the org.eclipse.edt.runtime.javascript project, as part of the files egl.js and egl_development.js.
All of the 'important' fields defined within an EGL 'Class' are qualified with 'eze$$'. Similar to the 'egl' runtime namespace, this naming convention is used to avoid any potential conflicts between a user defined field and a runtime field that is critical to the function of the application. You can find the definitions of these fields in the runtime.javascript project as well, as part of the files egl.js, under the defineWidget function, and in eglx\ui\rui\Widget.js.
As for writing your own widgets, I would recommend looking over the existing set of widgets to try and locate a runtime field or function that meets your needs. If you can't find anything, you can ask in the dev forum and we can try to help out.
-Brian
|
|
|
|
Powered by
FUDForum. Page generated in 0.06324 seconds