We now accept the color parameter to be NULL. If it is NULL, it will mark
1998-03-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkclist.c (gtk_clist_set_foreground): We now accept the
color parameter to be NULL. If it is NULL, it will mark the row
with "color not set", so it will be repainted with the default color.
(gtk_clist_set_background): Likewise.
Tim Janik [Mon, 9 Mar 1998 15:16:28 +0000 (15:16 +0000)]
made the <widget>_signals[] arrays of type guint rather than gint. made
Mon Mar 9 15:48:10 1998 Tim Janik <timj@gimp.org>
* Signal signedness and naming corrections, plus GtkType fixes:
* gtk/gtkadjustment.c:
* gtk/gtkbutton.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkclist.c:
* gtk/gtkcolorsel.c:
* gtk/gtkcontainer.c:
* gtk/gtkcurve.c:
* gtk/gtkdata.c:
* gtk/gtkeditable.c:
* gtk/gtkentry.c:
* gtk/gtkhandlebox.c:
* gtk/gtkinputdialog.c:
* gtk/gtkitem.c:
* gtk/gtklist.c:
* gtk/gtkmenuitem.c:
* gtk/gtkmenushell.c:
* gtk/gtknotebook.c:
* gtk/gtkstatusbar.c:
* gtk/gtktoolbar.c:
* gtk/gtktree.c:
* gtk/gtktreeitem.c:
* gtk/gtkwidget.c:
* gtk/gtktogglebutton.c:
* gtk/gtkwindow.c:
made the <widget>_signals[] arrays of type guint rather than gint.
* gtk/gtkwidget.c (gtk_widget_get_ancestor): made widget_type a GtkType.
* gtk/gtkcombo.h:
handler ids need to be of type guint (entry_change_id, list_change_id).
* gtk/gtkaccelerator.c:
changed signal_num to signal_id and typed it guint.
* gtk/gtkmain.c: made gtk_ndebug_keys a guint.
* gtk/gtkmenu.h:
* gtk/gtkmenu.c:
(gtk_menu_popup): made button a guint.
(gtk_menu_set_active): made index a guint.
* gtk/gtkmenuitem.h:
* gtk/gtkmenuitem.c:
made accelerator_signal a guint.
* gtk/gtkoptionmenu.h:
* gtk/gtkoptionmenu.c:
(gtk_option_menu_set_history): made index a guint.
* gtk/gtksignal.h:
* gtk/gtksignal.c:
* gtk/gtkobject.h:
* gtk/gtkobject.c: changed a bunch of prototypes to take guints rather
than gints. also made some conversions from guint to GtkType, left over
from when the fundamental-types system was introduced.
* gtk/gtkobject.h:
* gtk/gtkobject.c: made object_data_id_index and obj_count guints.
made *signals and nsignals guints in GtkObjectClass.
- Use 'diff -ru' for patches - Explained patch application/rejection -
Mon Mar 9 13:36:53 GMT 1998 Tony Gale <gale@gimp.org>
* docs/gtkfaq.sgml:
- Use 'diff -ru' for patches
- Explained patch application/rejection
- Added information on CVS
- New question on right justified menus with menufactory
From Nathan:
- Information on Objective-C bindings
- Add missing variable in colour example.
Tim Janik [Mon, 9 Mar 1998 10:54:13 +0000 (10:54 +0000)]
reverted the changes ian introduced in r1.16 on Mar 06, since they broke
Mon Mar 9 11:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkfilesel.c (gtk_file_selection_update_history_menu): reverted
the changes ian introduced in r1.16 on Mar 06, since they broke the
history menu.
Owen Taylor [Mon, 9 Mar 1998 06:07:34 +0000 (06:07 +0000)]
No, you can't add a GtkStyle * to a list of GtkRcNode *. (Fixes huge
Mon Mar 9 01:01:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrc.c: No, you can't add a GtkStyle * to a
list of GtkRcNode *. (Fixes huge performance problem)
Plus, don't bother creating a new style unless style
actually has bg pixmaps.
Owen Taylor [Sun, 8 Mar 1998 21:47:14 +0000 (21:47 +0000)]
- Show selection correctly when starting selection with arrows
Sun Mar 8 15:53:33 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c:
- Show selection correctly when starting selection with arrows
- Display pixmap background only when not editable
- Redraw focus area more carefully to prevent flashing (and
make style of drawing consistent with Entry)
* gtk/gtktreeitem.c: ref colormaps for pixmap by colormap
storage.
* gtk/gtkrc.c: Store a separate style for each RcStyle for
each colormap, so we can handle background pixmaps
correctly, which need to be per-colormap. (Leaks
colormaps...)
Parse text color style entries correctly.
* gtk/testgtk.c: insert text without fg color
gtk/testgtkrc: move "*" after rest, so the other class styles
take effect
* gdk/gdkwindow.c gdk/gdk.c gdk/gdkprivate.h: Send DND events
safely, in case drop window disappears. (Performance hit
because XSync()'s are necessary)
* gdk/gdk.h gdk/gdkpixmap.c: Added
gdk_pixmap_colormap_create_from_xpm[_d] to allow creating
pixmaps from xpm's before you have a GdkWindow.
Jay Painter [Sun, 8 Mar 1998 20:44:01 +0000 (20:44 +0000)]
changed clist->selection GList so its data elements are casted row indexes instead
of pointers. I also cleaned up a few bugs with GTK_SELECTION_MULTIPLE mode, and some
signal synronization problems with removing selected rows.
Owen Taylor [Sun, 8 Mar 1998 00:59:38 +0000 (00:59 +0000)]
Added a new function, gtk_preview_reset(), that can be used (under highly
Sat Mar 7 18:46:57 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkpreview.[ch]: Added a new function, gtk_preview_reset(),
that can be used (under highly controlled circumstances),
to change the properties of the preview colormap after
a preview has already been created and destroyed.
Tim Janik [Sat, 7 Mar 1998 20:32:59 +0000 (20:32 +0000)]
made the object/class cast checks much more descriptive, based on
Sat Mar 7 20:20:53 1998 Tim Janik <timj@gimp.org>
* gtk/gtkobject.c:
(gtk_object_check_cast):
(gtk_object_check_class_cast):
made the object/class cast checks much more descriptive, based on
gtk-draco-980305-2.patch.gz and gtk-draco-980306-1.patch.gz but
optimized for common code path.
* gtk/gtkpreview.c: added a few extra checks for the visual
(gtk-draco-980305-0.patch.gz).
* gdk/gdk.c (gdk_signal): abort() on a signal if G_ENABLE_DEBUG
is defined, so we dump core (gtk-draco-980305-0.patch.gz).
Owen Taylor [Sat, 7 Mar 1998 06:14:37 +0000 (06:14 +0000)]
Fixed the vscrollbar flickering problem, by checking the area on expose
Sat Mar 7 01:07:24 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkrange.c (gtk_range_expose): Fixed the vscrollbar
flickering problem, by checking the area on expose events.
(There was a hscrollbar flickering problem as well, it
just wasn't very noticeable)
return NULL if device is not ready gtk/gtkwindow.h: check for
Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson <amundson@gimp.org>
* Applied gtk-matsu-980205-0 (oops, should be 980305)
gdk/gdkinputcommon.h: return NULL if device is not ready
gtk/gtkwindow.h: check for GDK_ISO_Left_Tab
Ian Main [Fri, 6 Mar 1998 05:03:15 +0000 (05:03 +0000)]
Added gtk_file_selection_show_fileop_buttons(GtkFileSelection *fs), and
Thu Mar 5 20:41:27 1998 Ian Main <imain@gnu.org>
* gtk/gtkfilesel.c: Added
gtk_file_selection_show_fileop_buttons(GtkFileSelection *fs), and
gtk_file_selection_hide_fileop_buttons(GtkFileSelection *fs).
Changed pulldown to only contain current directory name instead of
the full path. Removed Help button (it can now be packed into the
button_area if desired.
* gtk/gtkfilesel.h: Added GtkWidget *button_area (the fileop
buttons at the top are packed into this hbox), and GtkWidget
action_area (hbox below clists) to GtkFileSelection structure.
* gtk/testgtk.c: Changed the filesel example to show off the hiding/
showing of fileop buttons, and the packing area.
[Ummm, maybe we should do the same change to the selection_owner variable?]
1998-03-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdk/gdkprivate.h: Changed the name of default_filters to
gdk_default_filters to avoid namespace pollution. Yes, it just
happened to me.
* gdk/gdk.c (gdk_event_translate):
* gdk/gdkglobals.c:
* gdk/gdkwindow.c (gdk_window_add_filter gdk_window_remove_filter): Likewise.
Owen Taylor [Thu, 5 Mar 1998 06:32:42 +0000 (06:32 +0000)]
Unset allocation on unparent, to force reallocation if we get adding back
Thu Mar 5 01:22:06 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwidget.c (gtk_widget_unparent): Unset allocation
on unparent, to force reallocation if we get adding back
to a new parent which is already size-allocated.
* gtk/gtktreeitem.c: Keep track of separate +/- pixmaps
for each colormap, removed the idle hack.
* gdk/gdk.c: Don't warn when unable to open XIM method,
since X11R5 apparently has no default method.
* gtk/gtkwidget.c (gtk_widget_set_style_internal): Don't
call size_request on initial emission - since the
widget size isn't set yet, it can't change.
* gtk/Makefile.am: New rules 'test' and 'test-debug' to run
testgtk with the correct working directory.
* gtk/gtkentry.c (gtk_move_forward_word):
Check for position at end of line.
Tim Janik [Mon, 2 Mar 1998 02:00:30 +0000 (02:00 +0000)]
oh, boy, world can be so crude!
i'm ading the pixamp after the realize handler to the tree item now,
via an *idle* handler.
this gotta be worked out correctly.
-timj
Tim Janik [Sun, 1 Mar 1998 23:29:40 +0000 (23:29 +0000)]
complete api change to honour message contexts. unfortunaltely this also
Sun Mar 1 22:59:09 1998 Tim Janik <timj@gimp.org>
* gtk/gtkstatusbar.h:
* gtk/gtkstatusbar.c: complete api change to honour message contexts.
unfortunaltely this also involved argument changes on the signal
emissions which will not be caught by the compiler. your callbacks
should look like:
void message_text_popped (GtkStatusbar *statusbar,
guint context_id,
const gchar *text,
gpointer func_data);
* gtk/gtkwidget.c (gtk_widget_set_rc_style): eliminated bug about
initial signal emission.
(gtk_widget_set_parent): don't ensure style, just call
gtk_widget_set_style_recurse.
(gtk_widget_set_style_recurse): only change a widget's rc styles if
if there has already been a lookup.
* gtk/testgtk.c: adaptions for statusbar widget.
substituted notebook pixmaps with pixmaps from fvwm, since
we don't know where the originals came from.
* gtk/gtkobject.c (gtk_object_data_destroy): call the destroy
notifier with the objects data, not its internal structure.
* gtk/gtkspinbutton.c (gtk_spin_button_button_press): small
fix from lars.
Owen Taylor [Sun, 1 Mar 1998 05:11:05 +0000 (05:11 +0000)]
gtk/gtkentry.[ch] gtktext.c gtkeditable.[ch]
Sat Feb 28 23:58:54 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkentry.[ch] gtktext.c gtkeditable.[ch]
Created a new base widget type Editable for the entry and
text widgets, which encapsulates most of the selection and
clipboard handling stuff, plus some common signals.
Changed the Entry widget extensively to support this,
but the interface and appearance should be the same.
Changed the Text widget moderately to support this.
It now supports:
- Selection style cut and paste
- Clipboard style cut and paste
- Emacs style key bindings (~same as Entry)
- Word motion
- "changed" signal
There are definitely still some bugs in the new stuff.
* gtkfilesel.c gtkspinbutton.c testgtk.c: small changes
to fit the new interface more exactly.
Tim Janik [Fri, 27 Feb 1998 16:31:06 +0000 (16:31 +0000)]
we make an active server grab now, this way we can change the cursor
Fri Feb 27 15:31:55 1998 Tim Janik <timj@gimp.org>
* gtk/gtktipsquery.c: we make an active server grab now, this way we
can change the cursor globally and don't need to tweak event masks
of other windows.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c:
New signal GtkWidget::style_set to be emitted when a widget's style
changed. New flag GTK_RC_STYLE to indicate whether an rc lookup has
been perfomed for the widget.
(gtk_widget_ensure_style): New function.
(gtk_widget_set_rc_style): New function.
Tim Janik [Wed, 25 Feb 1998 22:03:10 +0000 (22:03 +0000)]
new widget from Lars Hamann <hamann@braunschweig.netsurf.de> and Stefan
Wed Feb 25 22:56:42 1998 Tim Janik <timj@gimp.org>
* gtk/gtkspinbutton.h:
* gtk/gtkspinbutton.c:
new widget from Lars Hamann <hamann@braunschweig.netsurf.de> and
Stefan Jeske <jeske@braunschweig.netsurf.de>.
Move layout constants into an enumeration, split
GTK_BUTTONBOX_DEFAULT into GTK_BUTTONBOX_DEFAULT
and GTK_BUTTONBOX_DEFAULT_STYLE (enumeration member).
Tony Gale [Wed, 25 Feb 1998 13:58:52 +0000 (13:58 +0000)]
added questions on: - Why don't the contents of a button move when the
* docs/gtkfaq.sgml: added questions on:
- Why don't the contents of a button move when
the button is pressed?
- How do I catch a double click event in
a list widget?
- When compiling GTK+ I get an error like:
make: file `Makefile' line 456: Syntax error
Removed questions on menus which are covered in the
tutorial.
Added link to HTML versions of FAQ and Tutorial on my
web site.
Owen Taylor [Wed, 25 Feb 1998 03:51:04 +0000 (03:51 +0000)]
Added some support for i18n. The support for input methods, including
Tue Feb 24 22:47:01 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtktext.c: Added some support for i18n. The support
for input methods, including preedit, is there, but input
is ignored unless it comes one byte at a time, so the
CJK locales won't really work. Fixing that would require
variable-width character support in the Text widget, which
is probably the wrong approach. Eventually we'll probably
want to go to UCS-4 internally.
Also, revised key press handling, which should improve
the forwarding of non-handled keypresses to the toplevel,
and make adding selection handling easier.
* gtk/gtkentry.c: Minor changes so that C-d, etc delete
the selection if there is one.
Owen Taylor [Mon, 23 Feb 1998 20:54:07 +0000 (20:54 +0000)]
Don't process configure events that just move the window, and don't resize
Mon Feb 23 15:41:13 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events
that just move the window, and don't resize it. Because we need
to make sure that a widget gets redrawn after a size_allocate -
and that only happens when the configure event changes the size
of the window. Plus, it's inefficient.
Tim Janik [Mon, 23 Feb 1998 15:13:03 +0000 (15:13 +0000)]
implemented the statusbar widget. my first intend was to fix the code, but
Mon Feb 23 13:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkstatusbar.h:
* gtk/gtkstatusbar.c:
(re-)implemented the statusbar widget. my first intend was to fix the
code, but then there was nothing to fix - the whole thing was just a
big JOKE!
people who don't even know the semantics of the g_list_* functions
shouldn't put their hands on widget code and inheritance!
this is the first step to get bug "BUG: statusbar/hbox (redraw?) problem"
worked out, i have to leave now, but will continue work on the resizing code
this evening.
Tim Janik [Mon, 23 Feb 1998 11:14:27 +0000 (11:14 +0000)]
TODO updates (major ones ;).
have the send_event field in all GdkEvents.
gtkmenu.c, gtkacceleratortable.c, gtkwindow.c: unreference accelerator_table.
gtk_object_query_args: removed seq_ids again, must have been quite tired
when i commited that change ;)
gtkoptionmenu.c: assure GTK_BIN()->child is empty when reparenting
a menu_items child.
gtkwindow.c: fixed some memory leaks.
Tim Janik [Sun, 22 Feb 1998 02:18:29 +0000 (02:18 +0000)]
renamed signal GtkWidget::set_parent to GtkWidget::parent_set. since it's
Sat Feb 21 15:33:20 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: renamed signal GtkWidget::set_parent to
GtkWidget::parent_set. since it's purpose is pure notification,
it should have been named this way in the first place.