[Glade-devel] Re: Glade Palette Prototype

On Mon, 2006-03-27 at 16:58 -0500, Tristan Van Berkom wrote: 
Vincent Geddes wrote:
Hi Tristan

I have resumed work on a fancy resizable palette for glade3. 

Attached is a prototype. Most of the work has been done though. If you
like it, I can finish it off and integrate it into glade3.

I think it beats the pants off any other palette in Gnome!

Nice progress, it really rocks :)

A few comments:

   o What does GladePaletteExpander do differently than GtkExpander ?
     (would it be possible to derive from GtkExpander and achieve the
     same or close with alot less code ?)

   o From the example I cant really tell if the item order is preserved,
     just noting here that it should be (i.e. resizes on the palette
     should preserve the order in which icons are listed when the icons
     get "shuffled").

So asides from that... there are a few things I'd like to change
about the way the palette works (which I may have already mentioned)
after integrating the UI work:

   o GladePalette obviously doesnt need "catalog-changed" signal,
     so that can be trashed (I dont even know if it was ever emitted,
     and it was certainly never connected to).

   o Need some simple apis for:
     /* Add an icon associated with a generic pointer
      * (we will use the pointer for a GladeWidgetClass *)
     void glade_palette_add_item (palette, icon, user_data)

     /* Return the user data associated with the selected icon
     gpointer glade_palette_get_selected_data (palette)

     In a nutshell, we need generic palette apis to replace the ugly
     glade_app_get_add/alt_class() stuff.

   o The palette should catch GladeApp signals to handle when there
     is no active project, and set itself insensitive (and set sensitive
     when a new project is added).

I've been trying to get the time to review/finish this mail all day,
and with everything I have to do... that wont happen soon, so
the bottom line is; I like the UI work and hope to not have to
maintain a dual implementation of GtkExpander; if you feel comfortable
re-arranging the GladePalette api as I mentioned above; please
do so, otherwise just patch the UI stuff and I'll get to the other
stuff myself.

Cheers and thanks for the great palette ;-)


Hello Tristan

I do intend to rewrite the GladePalette class, and will take into
account all the points outlined in your message.

My GladePaletteExpander was a bit of a hack, I just used the GTK
GtkExpander source, and fiddled with it's drawing code to get the look I
wanted. I did try and subclass GtkExpander, but I needed to access some
of it's private members, so that was the end of that. I could use a
normal GtkExpander until as such time that I work out a solution.

Earlier, you pointed out that it would be nice if the palette had two
layout styles, the one Glade3 currently uses, and the one seen in my
prototype. I have modified my custom layout container
(GladePaletteTable) to support this.

As such the palette will provide the user with a right-click pop-up
menu, which will offer the user various preferences such as "Show Widget
Names", "Show [Small|Large] icons", etc. So that means users will have a
choice of 2 palette item layout styles.

I will send you my next prototype in 2 or 3 weeks.



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