== What I did this week: ==

- Some weeks ago I said that Dr. Joaquin Peña suggested me to take an
MDA approach with Eclipse technologies, ATL and MofScript for my
project. I had on Thursday a meeting with him, and he introduced me to
how these technologies work and how I should apply them to the new
Property Panels subsystem. I think that this could be a good approach,
but I don't feel that I can accomplish it this summer. BTW, thanks to
Dr. Joaquin Peña for his commitment and patience showing me those
technologies.
I should write more about these ideas, but I'll do ASAP in another thread.

So our main approach right now are the XML-based property panels from
scratch. Here is what I did with them...
- Defined some plain data structures that transport the XML data
(Don't want to increase the dependency with XML specific code).
- Deep study of how the current Property Panels work.
- Defined some factories that create some UI elements: basic text data
(name) => label + textfield, combos (namespaces), checkgroups
(modifiers), options (visibility). Some of them are very specific and
I would want to have some general ones, but that should be done on
another iteration. Those uses the current code in property panels. If
it's needed, they'll be reimplemented on the next period (I think here
about writing UI-agnostic components, that can be plugged in Swing or
SWT UIs).
- Created XMLs for UmlClass and Interface. They'll will be reworked
while the project is alive, so the syntax is not very strong yet, but
we can show some progress.

== Following steps ==
- Clean up some code. I had some hurry because of Bob's holidays, and
I wanted that he could be able of carrying functional code in his
laptop, so maybe some code is ugly. I'll go through the code and clean
up things.
- Until now, XMLs where flat lists of elements. But with options we
need a tree structure (valid modifiers are not the same for Class and
Interface). We'll work on the structure needed, and fix the XML parser
so it takes account of them.
- Working on the Class and Interface panels, adding as elements as we
can, as generic as we can. I find three groups: modifiable lists
(dependencies), unmodifiable lists (generalization, specialization,
association ends and owned elements), rearrangeable lists (attributes
and operations). So I think that, if we can generalize, we'll add two
boolean attributes: rearrangeable and modifiable. All of these lists
need to be navigable (p.e. we can go to an attribute clicking on it).
- Start thinking about how we can build the toolbar in the property
panels, hopefully with generic code for all of them.

-- 
Cheers,

Christian López Espínola <penyaskito>

Reply via email to