[Uml-devel] [Merge request] New features

Andi Fischer andi.fischer at hispeed.ch
Thu May 12 18:22:18 UTC 2011


Am 09.05.2011 08:04, schrieb Emmanuel Lepage-Vallée:
> Hi, I my name is Emmanuel Lepage Vallee (Elv13 on IRC). This is my 
> first post on this list, some of you may be aware of my recent work on 
> Umbrello or have seem me in the past decade on IRC.
>
> Recently, I have put quite a lot of time on Umbrello recently working 
> on UI elements I disliked or prevented umbrello from being used to do 
> real work at a decent speed. My main contribution is a new input 
> system for classifier and other related UML objects. This system 
> is/will be making it easier to add element to classifier items (more 
> to come, but classifier for now). It use/will use a dock instead of a 
> legion of keyboard unfriendly popups. It currently look like that:
>
> http://img88.imageshack.us/i/blender101.png/
>
> The idea is not new, some other modeling software such as Oracle (TM) 
> MySQL Workbench already use similar input system. It already work 
> really well with the mouse. The keyboard part need some work, as it 
> need a custom even filter to manage tabs and enter corectly. This work 
> is still in progress. There is also some bugs and unconnected slots. I 
> will need to make some test cases to be sure everything work. The 
> changes are semi invasive. 95% of them just hook to the model. Some 
> other take existing code and put it into new widgets, such as one for 
> the operation/attribute type, as this code is shared in many new and 
> existing places.
>
> The other changes you can see in this screenshot is a statusbar zoom 
> widget. This widget is getting quite common in KDE4 and is easier to 
> use than the current toolbar slider. It is a little cool change, 
> nothing big. The fact that the text is centered is a bug, I just need 
> time to fix it.
>
> The other change is moving the toolbar to the left and dock to the 
> right and merge them. While undo view is useful, it may not be 
> required by default. As for the documentation dock, I think it's nice 
> to have it. I am not sure if it need to be separated from the model 
> treeview. The classifier input system take a lot of place when it is 
> visible, so it looked better like that, not sure about usability however.
>
> There is quite a lot of other changes I want to make too:
> Double click: return to cursor when the toolbar item is pressed once 
> and lock if the item is double clicked. Workbench/Vision/Draw/MS 
> Office/OpenOffice/All other work like that. It will require an event 
> filter.
> Better item tree: The current treeview is terrible. It show too much 
> stuffs like items from other diagrams. A little filter, removal of 
> unneeded items, better default expansion settings would be nice, someday.
> Auto add items to the view during import: Having to add items in the 
> canvas by hand after importing them is bad. Auto import of the 
> projects classes would be nice (not all classes, just the project ones)
> "Fit" zoom: this is broken in the widget right now, I wait from the 
> Camila GSoC work.
> Handle all types of diagrams: Some diagrams variant would need some 
> love. I am thinking about dedicated helpers for code Classes and 
> database diagram while they are the same in theory,
> Remove zoom from toolbar: well, it is not needed anymore to be there 
> by default
> New icon set: I am working on it, it's getting nice, but the small 
> variants are not yet as nice as I would like them to be.
> KAction for everything: there is a lot of actions missing all over the 
> place like adding a class in the canvas.
> Multiple view at once: using a qsplitter to view more than once 
> diagram at once. It's useful when you have to base one diagram on an 
> existing one. I tried, but I failed to get it to work without bugs, so 
> I will wait for the new canvas to be ready too.
>
> Those features are TODO, it is obviously too late for 4.7. However, I 
> think my current work on the classifier is more then useful enough to 
> be part of 4.7. I added it on the soft feature freeze so I can merge 
> it until may 12. I will not enable it by default just yet, it need 
> more polishing and bug fixing, but it should be quite strong when 4.7 
> is being released. So this is a formal merge request:
>
> Can I merge my current work once I have unified the indentation and 
> variable naming (95% done):
> -The dock inout system for classifier items
> -The zoom widget
> -The toolbar on the left with small icons
> -The removal of zoom items from the default toolbar
> -Disable the undo view by default
>
> You can try the features by cloning this repository 
> git at github.com:Elv13/Umbrello-ng.git If something is broken, try the 
> previous commit. It's still buggy, but it work. As for other things, 
> like porting umbrello to git, this will wait until this code is merged 
> as the deadline is quite soon. Any feedback welcome. I will take care 
> or merging what is ready once/if I get the approval to do it.
>
> Thanks for reading, answer soon please, the deadline is coming, I know 
> I am late too, but I talked about it on IRC since like 2 months.
Hi Emmanuel,
I compiled your repository successfully.
Your work is very nice and useful, but I think it is not yet ready for 
inclusion.

Here are some observations and opinions:
- A lot of new compiler warnings are present.
- When running Umbrello-ng my CPU is at 100% :-(
- Disable the undo view by default is ok for me.
- Adding the zoom widget is very welcome, but "fit" and "100%" buttons 
do not work yet.
- In tab "Entity Attributes" there is a "Doc" button. Clicking on it 
opens a pop-up, that can not be closed again. Same in other tabs (e.g. 
source).
- Why has a class this tab "Entity Attributes"? Is this not only for 
Entity Relationship Diagrams?
- ...

Please, keep up the good work. Do some more polishing and merge it as 
soon as the freeze is over.
But this is only my opinion ;-)

Regards,

Andi






More information about the umbrello-devel mailing list