[Glade-devel] Some feature requests

Date view Thread view Subject view Author view

From: Hongli Lai (hongli@telekabel.nl)
Date: Sun Jul 01 2001 - 05:04:40 EDT


Hi,
I've been following Glade development and I'm happy that development is now
speeding up.
However, there are some features I'd like to see in Glade.
I've used Delphi, which is in my opinion the best GUI designer (if you strip
out the IDE part) in the world.
Perhaps Glade should adopt some of Delphi's ideas.

1. Support for widgets through modules ("Packages" in Delphi)
In Delphi, *all* widgets are stored in packages and can be added or removed
at runtime. If Glade implement this as well, then it would greatly improve
modularity.

Packages in Delphi also have the ability to extend the IDE (for example,
adding a menu item, or adding a new template to the New Window dialog).
I think Glade should implement this as well, so extending Glade without
recompiling will be easier.

2. Support for non-visual components
Delphi also supports non-visual components (classes that you can't see, like
GtkObject). You click on an item on the palette, drop it on the form
designer, and it will create a button with the icon of that object.
It's not really a button, it only looks like a button an design time and will
be invisible in runtime. When I click on that button, Delphi will treat it as
any visual component and show the properties etc.
The component will be created when the window where it is dropped is created.

3. Smaller GUI
One thing that's been bothering me is how big the Glade windows are.
My screen is only 800x600 and I can't make it bigger unless I switch to 256
colors. I'd like to see fully resizeable windows (that can be made smaller
than it's limit; just turn on the Shrink property of the window).
The current property editor has 4 tabs, but I think that's waste of space.
They should be all put in one tab, perhaps with a label to seperate the
different sections.
The signal editor should be put in the 2nd tab.

4. IDE integration
In Delphi, assigning an event (similar to GTK+'s signals) to a function is
very easy.
All I have to do is to click on the Events tab on the property editor, and
doubleclick on the entry on the right of the label that has the name of the
event I want. Then a function is automatically added to the code editor and
the cursor will jump into that place. The entry will be automatically filled
with the name of that function.
If the function already exists, then Delphi will simply move the curses to
that place.

The entry is also a drop-down menu, where I can see a list of functions that
are compatible with that event. I can just choose one from that list without
typing the entire name of the fnction. It also has auto-completion if I want
to type the name.

I'd like to see something similar in Glade. I know Glade is not an IDE, but
is it possible to integrate something like this with an IDE?

5. Runtime widget creation.
The current way to use the widgets generated by Glade is to either use
Glade's source code outputter ot LibGlade.
But this has three disadvantages:
1. The source code outputter only supports a limited amount of languages.
2. The developer doesn't always like the source code outputted by Glade.
3. LibGlade only supports a limited amount of widgets.

I'd like to suggest the following: use the modules not only to add widgets
and extend Glade, but also as widget loader at runtime.
LibGlade loads an XML file, loads the modules that are nessecery, and tell
the modules to create those widgets just like they would in Glade, but not
create the design time things.

This will make it easier to use Glade files in other languages.
All they have to do is to write a wrapper around LibGlade.
Delphi does something similar, except that it's possible to statically link
to the packages so they aren't needed at runtime.

6. Widget embedding
The current method requires one to load external XML files.
In Delphi, the widgets' information are stored in a resource file that is
statically linked to the final executable. The application reads the
resource, and loads it.
Perhaps Glade should implement something like this as well: to embed the XML
file into the application and give LibGlade the possibility to read from the
internal XML resource instead of an external one.
LibGlade should implement the possibility to use both internal and external
XML files.

Regards,
Hongli Lai

_______________________________________________
Glade-devel maillist - Glade-devel@ximian.com
http://lists.ximian.com/mailman/listinfo/glade-devel


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Sun Jul 01 2001 - 08:55:11 EDT