Re: [UI] Sheets and Objects dialog

At 14.07.2010 13:22, demurgets free fr wrote:

I subscribed to this list because I sent a complete mail on the 3td this month
and it still not have been moderated.
Fixed now. But as Steffen already said subscribing is a good idea in your case ;-)

I'd like to make a couple of UI enhancements to Dia, and before that, remove the
use of deprecated Gtk widgets.

Patches to get rid of deprecated widgets without loosing functionality would be very welcome.

I started with GtkComboBox and took quite some time to port the Sheets and
Objects dialog located in the File menu.
I stopped halfway to just think if the dialog could be improved first.

So, first things first, I'd like to know the use cases of this dialog:
        - is it useful to customize system sheets? maybe to reduce the number of
I think so, although I only did for testing. (The HEAD version was slightly broken since my GtkBuilder port regarding this feature. Now fixed again: )

Note: this is not modifying the system sheet, but instead creating a user specific shadow version.

        - is this to add personal items to them? because the problem is you can add UML
shapes to Network for instance, which just defeats the purpose of the
The user can create custom sheet versions without (arbitrary) limitations. IMO this is consistent with the ability to create (e.g. UML) diagrams and mixing in shapes from other diagram types.

        - adding new type of sheets? but how to remove them?

Just use the remove button? There you can select between object or whole sheet removal. The latter is disabled for system sheets, but can remove their shadow versions (with a small issue, becuase the original version will only be available again after restart.)

This involves a lot of code, including a startup warning dialog if the system
sheet is newer and if you want to overwrite your local customizations.
To me this code complexity appears to be necessary, if the use case is considered usefull.

I'd like to improbe the UI in light of removing deprecated widgets.

This should be basically the replacment of GtkOptionMenu with GtkComboBox.

So the use cases seem to be
        - creating custom sheets
        - customizing system sheets
        - adding/removing custom shapes
        + removing custom sheets

If I'm not mistaken, customizing system sheets should be ruled-out, even if they
are a lot of items.
I dont follow (although I'm only using it to shake out bugs;)).

Creating custom sheets is nice, but you need to write shape files.

Not really. You can just create them by the shape exporter. (Some XML editing is still necessary to create good shapes.)

Wouldn't it make it simpler to have:
        - some sort of bookmarks (a la Firefox) lying in this dialog first *and*
accessible from a popup in the palette directly to quickly bookmark an item
        - the bookmarks go in a unique "Custom" sheet (ideally always visible)
        - when you have 1+ bookmark, you automatically get this "Custom" sheet

Looks like a useful feature in itself, but I don't see this as necessarily coupled with the Sheets&Objects dialog. Alhough sooner or later the user might have more bookmarks than viable for a flat structure (one sheet).

Anyway what's the point of creating your own sheets if you need .shape files?
That means you'll need to edit XML at some point.
If users want to create sheets, they can edit them using XML, the DTD is simple.
Still I see a huge difference between editing at some point and having no GUI at all. Of course we could throw away the Sheets & Objects dialog alltogether, if it isn't used. But if I follow your argument we could also throw away the Preferences and Plugins dialog, the results are stored in XML as well ;)

For exchanging sheets, maybe it would be better
to propose an option to import a sheet you got from the Internet for instance.

See Steffen's mail.


-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it.                -- Dilbert

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]