← Back to team overview

gtg-contributors team mailing list archive

Re: Tag editor not in Glade?

 

Several:

   - It's poor: only standard widgets are available. When you need to
   compose with custom widget, you end up with a half-baked widget definition,
   the rest should be defined programmatically (I think I never wrote a single
   widget without ending up in this situation)
   - it has a poor usability: I spend much *much* time looking for the
   right parameters to set when experimenting with a widget. Rearranging
   widget is an unspeakable mess. And I won't talk about the poor status of
   cut&paste and undo/redo.
   - It increases project entropy: instead of one file entirely
   self-contained for a widget, you end-up with several files, with unclear
   separation of code and logic as of where is what (look at browser.py and
   its glade file for an example).
   - Migration is a pain in the ***: you're never sure to have caused an
   unwanted modification, and thus regression, when opening the file and
   performing simple changes (at least, it was - this seems to go better with
   the latest versions)
   - Poor visibility on versioning. Patches against python code are clear,
   patches against XML code are unreadable.
   - It hides GTK+ API, and that's actually not a good service. Let's be
   clear: GTK+ is a good widget library, but its API can sometimes be a real
   mess. I'm performing a much better investment in time by really
   understanding GTK+ API through programmatic definitions than by fighting
   the half-baked abstraction that glade offers.
   - Programmatic definitions leave much more possibility to actually
   document things, through comments, etc.
   - ...

In the end/long-term, avoiding the use of glade allows for a better,
stricter, cleaner coding of widgets and better maintenance. Most of the
time, it's also the only way you can define widget that are actually useful
for your app - something we're obliged to do. And finally, I'm now sure I
don't save any kind of time when developing with glade, quite the contrary.
It may have sense for standard-looking, simple widgets though (and I'm not
even sure of this).
Regards,

Bertrand

On Mon, Jul 2, 2012 at 2:36 PM, Izidor Matušov <izidor.matusov@xxxxxxxxx>wrote:

> Hi Bertrand,
>
> I would like to ask you why is the tag editor UI hardcoded in code. Other
> dialogs are defined in a glade file. Are there any reasons for that?
>
> (I was modifying the code recently for adding sharing widgets and I was
> wondering)
>
> Izidor
>



-- 
Bertrand Rousseau

References