2001-03-07 Havoc Pennington <hp@redhat.com>
* gtk/gtkentry.c (gtk_entry_get_property): remove trailer
(gtk_entry_set_property): remove trailer
* gtk/gtkentry.c (gtk_entry_set_width_chars):
(gtk_entry_get_width_chars): new functions, to set size request to
a given number of characters
* gtk/testgtk.c (create_dialog): beef up the dialog test slightly
* gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
(gtk_dialog_get_has_separator): new function
(run_delete_handler): fix to not emit "response" signal
because we already did in the delete event handler installed
at dialog creation time.
* gtk/gtkdialog.h: add a has_separator property,
add GTK_DIALOG_NO_SEPARATOR flag
2001-03-07 Havoc Pennington <hp@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
off decorations for a window.
* demos/gtk-demo/button_box.c (create_bbox): adapt to button box
changes
* gtk/gtklabel.c (gtk_label_get_layout_offsets): new function
to get location of PangoLayout inside the label, closes#51198
* gtk/testgtk.c (create_bbox): fix up button box usage
* gtk/testcalendar.c (create_calendar): fix up button box usage
* gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
* gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
* gtk/gtkhbbox.h: deprecations
* gtk/gtkvbbox.h: deprecations
* gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
emulate deprecated gtk_button_box_get_spacing
* gtk/gtkbbox.h: deprecate some useless functions, remove entirely
the "set global default" functions
(struct _GtkButtonBox): remove "spacing" field, use the one from
GtkBox base class
* gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
render the icon, return the missing image icon.
* gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
image icon if the load fails.
* gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
when no image is found; should be the Netscape "missing image"
icon eventually but for now is a random image
* gtk/gtkwindow.c (gtk_window_set_role): new function, sets the
role for the session manager
* gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
* gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
* gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
Tue Mar 6 10:45:45 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbutton.c: Add animation of activation by, on
activate, pressing the button, and adding a timeout that
releases the button after 250ms or on key release and
emits ::clicked. (#51501)
* gtk/gtkdialog.c: Bit of a hack - for buttons in the
action area, we connect to ::clicked instead of ::activate
so the dialog stays up through the animation.
Mon Mar 5 16:38:15 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
check the ignore_enter flag for the menu shell that
the item is actually a child of, not for attached
submenus. (#51536)
2001-03-05 Alexander Larsson <alexl@redhat.com>
* gdk/gdkwindow.h:
Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
gdk_window_set_icon_list for net wmspec functionality.
* gdk/x11/gdkwindow-x11.c:
Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
gdk_window_set_icon_list.
Added gdk_wmspec_change_state helper function and used it in the code.
Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
* gtk/gtkdialog.c (gtk_dialog_init):
Set GDK_WINDOW_TYPE_HINT_DIALOG.
* gtk/gtkhandlebox.c (gtk_handle_box_realize):
Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
* gtk/gtkwindow.c:
new function gtk_window_set_type_hint.
On realize, set type hint and modal hint.
* gtk/gtkwindow.h:
Added type_hint field and gtk_window_set_type_hint.
Sat Mar 3 13:32:47 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
const.
* gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
* gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
is no focus widget for the dialog currently, grab the focus as well
as the default.
* gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
the action area's children to iterate through, not the
dialog's children.
2001-01-09 Havoc Pennington <hp@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
there are no rows in the model
* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
NULL, then return the start of the list
* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
if we can't get any rows from an empty model
* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
extraneous * after function pointer typedef usage
* Makefile.am: don't specify full path to cp and rm
* gtk/gtkcellrenderertextpixbuf.c
(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
NULL before dereferencing, fixes a segfault that happened from
time to time
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
and reindent the function
(gtk_cell_renderer_pixbuf_get_size): indentation
* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
we quit it
(gtk_dialog_add_buttons_valist): add g_return_if_fail
(gtk_dialog_set_default_response): New function, to set default
button
(gtk_dialog_set_response_sensitive): New function, to set
sensitivity of buttons
* gtk/gtkcellrendererpixbuf.c
(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
handle any G_TYPE_OBJECT subclass, not just the base class, and
also boxed types.
(_gtk_tree_data_list_value_to_node): ditto
* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if
--gtk-debug=tree
* gtk/gtkmain.c: add GTK_DEBUG_TREE
* gtk/gtkdebug.h: add GTK_DEBUG_TREE
Tue Dec 12 23:46:44 2000 Tim Janik <timj@gtk.org>
* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
* gtk/gtkbox.c: change property types from (u)long to (u)int for
::position and ::padding.
* gtk/gtkcontainer.c: make ::border_width an INT property.
* gtk/gtkpacker.c: make ::position an INT property.
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
guard against NULL h/v scrollbars, since this is used at construction
time.
* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
internal gtk_clist_constructor().
* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
gtk_ctree_constructor().
* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
* docs/reference/Makefile.am: fun stuff, disabled docs generation
again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
* gtk/gtkwidget.[hc]:
removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
and gtk_widget_get().
(gtk_widget_new): use g_object_new_valist().
(gtk_widget_set): use g_object_set_valist().
* gtk/gtkobject.[hc]:
removed gtk_object_arg_get_info(), gtk_object_getv(),
gtk_object_query_args(), gtk_object_newv(),
gtk_object_class_add_signals(),
gtk_object_class_user_signal_new(),
gtk_object_class_user_signal_newv(),
gtk_object_arg_set(), gtk_object_arg_get(),
gtk_object_args_collect(),
gtk_object_default_construct(),
gtk_object_constructed(),
GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
removed nsignals, signals and n_args members from GtkObjectClass.
(gtk_object_new): use g_object_new_valist().
(gtk_object_set): use g_object_set_valist().
(gtk_object_get): use g_object_get_valist().
* gtk/gtkcompat.h: define gtk_object_default_construct().
* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
g_object_new().
* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
fucntions, cleaned up method assignments (make sure your structures
are setup properly before calling out). removed all GTK_CONSTRUCTED
hacks ;)
2000-11-13 Havoc Pennington <hp@redhat.com>
* gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug
where GC didn't always get updated properly
* demos/gtk-demo/textview.c (create_tags): Use subattributes
of fonts instead of setting the entire font
* gtk/testtext.c (fill_example_buffer): Use "size" instead of
setting entire font
* gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
* gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into
a bunch of individually-settable font attributes. You can still
use the "font" and "font_desc" args, they just set all the font
attributes at once.
2000-11-02 Havoc Pennington <hp@redhat.com>
* gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
use stock buttons. Should be 100% source compatible, appropriate
filesel fields now point to dialog->vbox and dialog->action_area.
On the bizarre side, dialog->action_area and filesel->action_area
are not the same widget.
(gtk_file_selection_init): Put some padding around the selection
entry, so it isn't touching the GtkDialog separator.
* gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog,
use stock buttons, etc. Should also be source compatible.
Set the dialog default title in _init not _new().
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init):
Use stock buttons; don't put a button box inside the existing
dialog button box. Don't bother with push/pop colormap anymore.
* gtk/gtkdialog.h (GtkResponseType): Add a bunch of more
specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
for message dialog, and necessary for the font selection and color
selection with help and apply buttons.
* gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer
to the created button widget. Set GTK_CAN_DEFAULT on the button.
(gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
between buttons, put less padding around the action area.
(gtk_dialog_run): Exit on unmap rather than on destroy.
This will also exit the loop if the widget is hidden.
(gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
instead of GTK_RESPONSE_NONE; since we're already adding a bunch
of GTK_RESPONSE_* stuff, this seems cleaner, and lets you
special-case delete event.
* gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
formatting
2000-10-04 Havoc Pennington <hp@redhat.com>
* gtk/testgtk.c (create_buttons): create some stock buttons
with the default accel group
(create_image): test some new GtkImage features
(make_message_dialog): test GtkMessageDialog
(create_modal_window): fix someone's bizzarro indentation
* gtk/gtkwindow.h, gtk/gtkwindow.c: Implement
GTK_WIN_POS_CENTER_ON_PARENT.
Add "destroy with parent" setting, which means the window goes
away with its transient parent.
(gtk_window_get_default_accel_group): get the default accel group
for the window.
(gtk_window_set_destroy_with_parent): set/unset destroy with
parent flag
(gtk_window_read_rcfiles): invalidate icon set caches
after reloading rcfiles
* gtk/gtkenums.h (GtkWindowPosition): add
GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog
on its parent window when the dialog is mapped for the first time.
* gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add
a simple message dialog class
* gtk/gtkdialog.c (gtk_dialog_init): Connect delete event
handler to emit response signal, and maybe later it would
honor a hide_on_delete flag - though that isn't there yet.
Set border width on the vbox to 2, so we get some padding.
Use a button box for the action area.
(gtk_dialog_key_press): synthesize a delete event if Esc
is pressed and the GtkWidget key press handler didn't
handle the escape key.
(gtk_dialog_new_with_buttons): new function creates a dialog
with some default buttons in it.
(gtk_dialog_add_action_widget): add an activatable widget
as a button in the dialog - you can also add a non-activatable
widget by accessing the action area directly.
(gtk_dialog_add_button): add a simple button - stock ID or
label - to the action area
(gtk_dialog_response): emit response signal
(gtk_dialog_run): block waiting for the dialog, return
the response. Override normal delete_event behavior, so that
delete_event does nothing inside gtk_dialog_run().
* gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
emitted when an action widget is clicked or the dialog gets
delete_event
* gtk/gtk.h: add gtkmessagedialog.h
* gtk/Makefile.am: add gtkmessagedialog.[hc]
2000-10-20 Havoc Pennington <hp@redhat.com>
* gtk/gtk-sections.txt: Add dialog docs
Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org>
* *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
updates the license headers to the GNU Lesser General Public License,
as well as updating the copyright year to 2000.
I submitted this patch twice to gtk-devel-list, and received no comments, so
am committing it. Although not exhaustively tested, I have been using this
gtk+ for a week w/o problems, and I did read the code to ensure that nothing
ever writes to these data structures. If by chance people encounter SEGV's in
gtk+ code that is setting values in global data structures, this patch could
be a possible culprit.
1998-11-30 Elliot Lee <sopwith@cuc.ml.org>
* {gdk,gtk}/*.c: Make read-only data structures "static const" to
allow them to be shared, mainly including (but not limited to) the
GtkTypeInfo structures for each class.
* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
Sat Nov 28 03:13:42 1998 Tim Janik <timj@gtk.org>
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
it inherits from GtkBin now.
* gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
visibility of child.
(gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
added check so a child gets only drawn if it's visible.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: removed gtk_widget_draw_children().
* gtk/gtkstyle.h:
* gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
added internal function gtk_widget_reset_shapes() from gtkstyle.c.
* gtk/gtkrc.h:
* gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
argument, changed callers.
* gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
it will issue a warning now.
* gtk/gtkcompat.h: new file to #define aliases for historic
function names.
* changed 8 function names for consistency and provided aliases to keep
source compatibility in gtkcompat.h:
(gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
(gtk_container_set_border_width): renamed from gtk_container_border_width
(gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
(gtk_packer_configure): renamed from gtk_packer_set_child_packing
(gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
(gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
(gtk_scale_get_value_width): renamed from gtk_scale_value_width
(gtk_window_set_position): renamed from gtk_window_position
* renamed a few recently added funtions for consistency:
(gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
(gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
(gtk_progress_configure): renamed from gtk_progress_reconfigure.
Sat Jul 4 13:16:24 1998 Tim Janik <timj@gtk.org>
* gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
functions.
* gdk/gdkwindow.c:
* gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
to XFree() calls.
Sun Jun 28 04:29:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
fucntions from all parent types upon class initialization.
* gtk/gtkcontainer.c:
(gtk_container_get_type): announce gtk_container_base_class_init to
the type system.
(gtk_container_base_class_init): new function to feature base class
initialization.
(gtk_container_get_child_arg):
(gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
and set_child_arg methods of the class indicated through the argument
name.
* gtk/gtkobject.c:
(gtk_object_base_class_init): new function to feature base class
initialization.
(gtk_object_init_type): announce gtk_object_base_class_init to the type
system.
(gtk_object_class_init): setup the get_arg and set_arg pointers for
GtkObjectClass.
(gtk_object_setv):
(gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
instead of bothering the type system with this.
* gtk/gtkaccellabel.c:
* gtk/gtkbutton.c:
* gtk/gtkradiobutton.c:
* gtk/gtktable.c:
* gtk/gtktogglebutton.c:
* gtk/gtktipsquery.c:
* gtk/gtkbox.c:
* gtk/gtkpacker.c:
* gtk/gtkwidget.c:
* gtk/gtkwindow.c:
* gtk/gtkframe.c:
* gtk/gtkmisc.c:
* gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
functions wrt GtkTypeInfo initialization. changed a lot of the set/get
arg functions to take a GtkObject argument.
gtk/gtkadjustment.c:
gtk/gtkalignment.c:
gtk/gtkarrow.c:
gtk/gtkaspectframe.c:
gtk/gtkbbox.c:
gtk/gtkbin.c:
gtk/gtkcheckbutton.c:
gtk/gtkcheckmenuitem.c:
gtk/gtkclist.c:
gtk/gtkcolorsel.c:
gtk/gtkcombo.c:
gtk/gtkctree.c:
gtk/gtkcurve.c:
gtk/gtkdata.c:
gtk/gtkdialog.c:
gtk/gtkdrawingarea.c:
gtk/gtkeditable.c:
gtk/gtkentry.c:
gtk/gtkeventbox.c:
gtk/gtkfilesel.c:
gtk/gtkfixed.c:
gtk/gtkfontsel.c:
gtk/gtkgamma.c:
gtk/gtkhandlebox.c:
gtk/gtkhbbox.c:
gtk/gtkhbox.c:
gtk/gtkhpaned.c:
gtk/gtkhruler.c:
gtk/gtkhscale.c:
gtk/gtkhscrollbar.c:
gtk/gtkhseparator.c:
gtk/gtkimage.c:
gtk/gtkinputdialog.c:
gtk/gtkitem.c:
gtk/gtkitemfactory.c:
gtk/gtklist.c:
gtk/gtklistitem.c:
gtk/gtkmenu.c:
gtk/gtkmenubar.c:
gtk/gtkmenuitem.c:
gtk/gtkmenushell.c:
gtk/gtknotebook.c:
gtk/gtkoptionmenu.c:
gtk/gtkpaned.c:
gtk/gtkpixmap.c:
gtk/gtkpreview.c:
gtk/gtkprogressbar.c:
gtk/gtkradiomenuitem.c:
gtk/gtkrange.c:
gtk/gtkruler.c:
gtk/gtkscale.c:
gtk/gtkscrollbar.c:
gtk/gtkscrolledwindow.c:
gtk/gtkseparator.c:
gtk/gtkspinbutton.c:
gtk/gtkstatusbar.c:
gtk/gtktext.c:
gtk/gtktoolbar.c:
gtk/gtktooltips.c:
gtk/gtktree.c:
gtk/gtktreeitem.c:
gtk/gtkvbbox.c:
gtk/gtkvbox.c:
gtk/gtkviewport.c:
gtk/gtkvpaned.c:
gtk/gtkvruler.c:
gtk/gtkvscale.c:
gtk/gtkvscrollbar.c:
gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
match the modified GtkTypeInfo structure.
Sun May 3 13:38:22 1998 Owen Taylor <otaylor@gtk.org>
* configure.in acheader.h gdk/gdkwindow.c
Check for Shape extension both on the client and server
side. (And, more importantly, check for the shape extension
so we may include -lXext even when compiling with --disable-xshm)
Don't set override_redirect on all shaped windows. It isn't
necessary.
* gdk/gdkwindow.c: Set ->colormap to NULL for root
and foreign windows. Use this to check if we
need to get the colormap from X.
Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
between the default and the button always in GTK_STATE_NORMAL.
* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
callback.
Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
Fix a buffer overflow on pixmaps that claim to have
more than 31 characters per pixel.
(gdk_pixmap_read_string): Don't wrap around strings longer
than half of address space ;-)
* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
that were used for printing integers.
* */* (almost):
Style: All
int foo () { ... }
changed to
int foo (void) { ... }
^^^^^^^ This is why some many files changed
Even where there were proper prototypes elsewhere.
* gdk/gxid.c (handle_claim_device): Some extra checks.
It isn't safe against being fed bad X id's, but at
least it should be safe against deleting all your
files.