Gtk+ 2.0 'properties'



Hi all,

I've been working on converting use of GtkArg in Gtk+ to use g_param_spec_*,
and adding parameters to widgets with no GtkArgs. I thought I'd 
post the current status of what I've done, so people can comment 
and maybe help out. (This is quite long, sorry).

Below is a list I started by doing 'ls *.h' in gtk+/gtk and then 
adding the names of properties that exist in the current state.

Quite a few of these that you'd think have properties but have none 
benefit
from inheritance. The best example is GtkCheckButton - its label is a
property, it's just exposed by GtkButton (its super-super class), rather
than the checkbutton directly.

Where no information is present, it means I haven't gotten around 
to that
widget yet. If anyone wants to help out, please mail me so we don't 
overlap. Much as I think I've done a fair amount, there's still a 
lot left to do. John Margaglione is also working on this; I've asked 
him to post a list of how far he's got too.

Where 'none' is the state, that means I think there are no appropriate
properties to export. Feel free to disagree with me and speak up if you
think otherwise.

Key:
ap=patch applied.
bz=patch sent to bugzilla.
nc=no changes necessary.
ro=read only
wo=write only
N/A=properties don't really make sense for this module.

gtkaccelgroup - N/A.
gtkaccellabel - done, bz: accel_widget, accel_width(ro).
gtkadjustment - broken, see bug #50844.
gtkalignment - done, ap: xalign, yalign, xscale, yscale.
gtkarg - deprecated.
gtkarrow - done, ap: arrow_type, shadow_type.
gtkaspectframe - done, ap: xalign, yalign, ratio, obey_child.
gtkbbox - done, bz: spacing, layout_style.
gtkbin - done: none.
gtkbox - done, bz: spacing, homogenous. fixme: child args.
gtkbutton - done, bz: label, relief.
gtkcalendar - fixme: nasty property-wise, see bug #50949. fixme: add
 display_options with g_param_spec_flags().
gtkcellrenderer - done, ap: xalign, yalign, xpad, ypad.
gtkcellrendererpixbuf - done, ap: pixbuf.
gtkcellrenderertext - done, ap: text, background, foreground, background_gdk,

 foreground_gdk, font, font_desc, family, style, variant, weight,
stretch,
 size, size_points, editable, strikethrough, underline, rise, background_set,

 foreground_set, family_set, style_set, variant_set, weight_set, 
stretch_set,
 size_set, editable_set, strikethrough_set, underline_set, rise_set.
gtkcellrenderertextpixbuf - done, ap: pixbuf, pixbuf_pos, pixbuf_xalign,

 pixbuf_yalign, pixbuf_xpad, pixbuf_ypad.
gtkcellrenderertoggle - done, ap: active, radio.
gtkcheckbutton - done: none.
gtkcheckmenuitem - done, bz: active.
gtkclipboard - N/A.
gtkclist - deprecated.
gtkcolorsel - done, bz: use_opacity, use_palette, color, old_color.
gtkcolorseldialog - done: none.
gtkcombo - done, ap: enable_arrow_keys, enable_arrows_always, case_sensitive.

gtkcompat - N/A.
gtkcontainer - done, bz: border_width, resize_mode, reallocate_redraws, 
 child(wo), fixme: child_args stuff still needs to be converted.
gtkctree - deprecated.
gtkcurve - done, ap: curve_type, min_x, max_x, min_y, max_y.
gtkdata - N/A.
gtkdebug - N/A.
gtkdialog - not really done: none (possibly add default_response but 
 it's a bit weird).
gtkdnd - N/A.
gtkdrawingarea - done: none.
gtkeditable - done: none?
gtkentry - done, ap: text_position, editable, max_length, visibility, 
 invisible_char.
gtkenums - N/A.
gtkeventbox - done: none.
gtkfilesel - done, bz: filename, show_fileops.
gtkfixed - done: none.
gtkfontsel - done, bz: font_name, font(ro), preview_text.
 +-> gtkfontselDialog - done: none.
gtkframe - done, bz: label, label_xalign, label_yalign, shadow.
gtkgamma - done: none.
gtkgc - done: none.
gtkhandlebox - done, bz: shadow, handle_position, snap_edge.
gtkhbbox - done: none.
gtkhbox - done: none.
gtkhpaned - done: none.
gtkhruler - done: none.
gtkhscale - done, bz: adjustment.
gtkhscrollbar - done, bz: adjustment.
gtkhseparator - done: none.
gtkhsv - done: none. might want to look at making colour a property.
gtkiconfactory - done: none.
gtkimage - fixme: properties aren't symmetric, not sure what to export 
as r/w.
gtkimagemenuitem - done, nc: image.
gtkimcontext - N/A.
gtkimcontextsimple - N/A.
gtkimmodule - N/A.
gtkimmulticontext - N/A.
gtkinputdialog - deprecated.
gtkintl - N/A.
gtkinvisible - done: none.
gtkitem - done: none.
gtkitemfactory - done: none.
gtklabel - done, ap: label, attributes, use_markup, use_underline, 
 justify, pattern(wo), wrap, selectable, accel_keyval(ro).
gtklayout - done, bz: hadjustment, vadjustment, width, height.
gtklist - deprecated.
gtklistitem - deprecated - child of gtklist, yes?
gtkliststore - done: none.
gtkmain - N/A.
gtkmarshal - N/A.
gtkmenu - done, bz: active_widget(ro), active_index(wo), accel_group, 
 uline_accel_group(ro), torn_title.
gtkmenubar - done, bz: shadow.
gtkmenufactory - done: none.
gtkmenuitem 
gtkmenushell - done: none.
gtkmessagedialog
gtkmisc
gtknotebook
gtkobject
gtkoldeditable
gtkoptionmenu
gtkpacker
gtkpaned
gtkpixmap
gtkplug
gtkpreview
gtkprivate
gtkprogress
gtkprogressbar
gtkradiobutton
gtkradiomenuitem
gtkrange
gtkrbtree
gtkrc
gtkruler
gtkscale
gtkscrollbar
gtkscrolledwindow
gtkselection
gtkseparator
gtksignal
gtksocket
gtkspinbutton
gtkstatusbar
gtkstock
gtkstyle
gtktable
gtktearoffmenuitem
gtktext
gtktextbtree
gtktextbuffer
gtktextchild
gtktextchildprivate
gtktextdisplay
gtktextiter
gtktextiterprivate
gtktextlayout
gtktextmark
gtktextmarkprivate
gtktextsegment
gtktexttag
gtktexttagprivate
gtktexttagtable
gtktexttypes
gtktextview
gtkthemes
gtktipsquery
gtktogglebutton
gtktoolbar
gtktooltips
gtktree
gtktreedatalist
gtktreednd
gtktreeitem
gtktreemodel
gtktreemodelsimple
gtktreemodelsort
gtktreeprivate
gtktreeselection
gtktreesortable
gtktreestore
gtktreeview - done:
gtktreeviewcolumn
gtktypebuiltins
gtktypeutils
gtkvbbox
gtkvbox
gtkviewport
gtkvpaned
gtkvruler
gtkvscale
gtkvscrollbar
gtkvseparator
gtkwidget
gtkwindow-decorate
gtkwindow

Feel free to "fill in the blanks". :)

Regards,

-- 
Lee Mallabone.
http://www.fonicmonkey.net/











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