summaryrefslogtreecommitdiff
path: root/gtk/gtkrange.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Mark abstract types as G_TYPE_FLAG_ABSTRACT. (#72383)Matthias Clasen2002-09-211-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | * gdk/gdkdraw.c (gdk_drawable_get_type): * gdk/gdkgc.c (gdk_gc_get_type): * gtk/gtkmenushell.c (gtk_menu_shell_get_type): * gtk/gtkimcontext.c (gtk_im_context_get_type): * gtk/gtkprogress.c (gtk_progress_get_type): * gtk/gtkoldeditable.c (gtk_old_editable_get_type): * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_type): * gtk/gtkwidget.c (gtk_widget_get_type): * gtk/gtkseparator.c (gtk_separator_get_type): * gtk/gtkscrollbar.c (gtk_scrollbar_get_type): * gtk/gtkscale.c (gtk_scale_get_type): * gtk/gtkrange.c (gtk_range_get_type): * gtk/gtkpaned.c (gtk_paned_get_type): * gtk/gtkmisc.c (gtk_misc_get_type): * gtk/gtkitem.c (gtk_item_get_type): * gtk/gtkcontainer.c (gtk_container_get_type): * gtk/gtkbbox.c (gtk_button_box_get_type): * gtk/gtkbox.c (gtk_box_get_type): * gtk/gtkbin.c (gtk_bin_get_type): * gtk/gtkobject.c (gtk_object_get_type): Mark abstract types as G_TYPE_FLAG_ABSTRACT. (#72383)
* Handle inverted ranges correctly (#85436, fix from Norihiro UMEDA)Owen Taylor2002-07-301-6/+9
| | | | | | | | Tue Jul 30 19:09:46 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_scroll_event): Handle inverted ranges correctly (#85436, fix from Norihiro UMEDA)
* Fix memory leak. (Patch from Matthias Clasen, #84926)Owen Taylor2002-06-121-0/+3
| | | | | | | | | | Wed Jun 12 15:38:01 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): Fix memory leak. (Patch from Matthias Clasen, #84926) * gtk/gtkrange.c (gtk_range_init): Initialize mouse_x, mouse_y to -1,-1. (#84871, Garrett Lesage)
* Fix a missed check for division by zero. (#77820, Gareth Pearce)Owen Taylor2002-05-161-1/+5
| | | | | | | Thu May 16 12:56:38 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_calc_layout): Fix a missed check for division by zero. (#77820, Gareth Pearce)
* Avoid a possible division by zero. (#77820)Matthias Clasen2002-04-251-2/+6
| | | | | * gtk/gtkrange.c (gtk_range_calc_layout): Avoid a possible division by zero. (#77820)
* Robustify tracking of pointer grab window.Owen Taylor2002-03-021-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | Fri Mar 1 18:39:44 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h, gdkwindow-x11.c}: Robustify tracking of pointer grab window. * gdk/x11/gdkmain-x11.c: Keep track of current keyboard grab window. * gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only, gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk API for finding out current grab information. * gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events so that the effective behavior of owner_events = TRUE is changed to "deliver events to same window group normally" instead of "deliver events to same application normally. #69934 * gtk/gtkrange.c: Use an explicit gtk_grab_add() so that it works within the GtkList combo, where there is a owner_events = FALSE gdk_pointer_grab() already in effect. (#65006, reported by Damon Chaplin)
* if CAN_FOCUS reserve focus_line_width + focus_line_pad extra space andOwen Taylor2002-02-271-5/+28
| | | | | | | | Wed Feb 27 17:32:09 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_get_props): if CAN_FOCUS reserve focus_line_width + focus_line_pad extra space and draw the focus in that space. #72027.
* After computing the clamped value, actually set it. (#62639, SergeyOwen Taylor2002-02-271-3/+5
| | | | | | | Wed Feb 27 10:34:46 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_set_range): After computing the clamped value, actually set it. (#62639, Sergey Kuzminov)
* Draw arrows better (without extra baseline)Soeren Sandmann2002-02-261-10/+71
| | | | | | | | Wed Feb 27 00:45:39 2002 Soeren Sandmann <sandmann@daimi.au.dk> * gtk/gtkarrow.c, gtk/gtkmenuitem.c, gtk/gtkrange.c gtk/gtkspinbutton.c gtk/gtkstyle.c: Draw arrows better (without extra baseline)
* Applied patch from Thomas Leonard to make stepper click to scroll takeOwen Taylor2002-02-231-24/+7
| | | | | | | | | | | | | Fri Feb 22 20:28:18 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c: Applied patch from Thomas Leonard to make stepper click to scroll take effect immediately, rather than after a delay (#67649). * gtk/gtkrange.c: Remove right-click == step in trough since it isn't a useful binding and it's a large area to hit accidentally. (Leave it on the steppers since its more useful there and less likely to do accidentally.)
* add new signal 'adjust_bounds' to potentialy change the bounds beforeJody Goldberg2002-02-151-1/+14
| | | | | | | | | | 2002-02-14 Jody Goldberg <jody@gnome.org> * gtk/gtkrange.c (gtk_range_class_init) : add new signal 'adjust_bounds' to potentialy change the bounds before assigning the new value and camping it to the existing bounds. (gtk_range_internal_set_value) : used here. #68800. * gtk/gtkmarshalers.list : add VOID:DOUBLE
* Remove excess calls to g_return_if_fail from static and virtual functions.Matthias Clasen2002-01-301-68/+11
|
* General property notification cleanup.Matthias Clasen2002-01-281-1/+1
|
* don't cast a possible NULL pointer.Tim Janik2002-01-091-1/+1
| | | | | | | | | | | | | | Wed Jan 9 11:23:39 2002 Tim Janik <timj@gtk.org> * gtk/gtklayout.c (gtk_layout_get_property): * gtk/gtkspinbutton.c (gtk_spin_button_get_property): * gtk/gtktreeview.c (gtk_tree_view_get_property): * gtk/gtkwidget.c (gtk_widget_get_property): * gtk/gtkfontsel.c (gtk_font_selection_get_property): * gtk/gtkrange.c (gtk_range_get_property): * gtk/gtkviewport.c (gtk_viewport_get_property): * gtk/gtkprogressbar.c (gtk_progress_bar_get_property): don't cast a possible NULL pointer.
* check for 0 value on the denominator in the horizontal case just like weGeorge Lebl2001-12-091-4/+5
| | | | | | | | | Sun Dec 09 15:06:51 2001 George Lebl <jirka@5z.com> * gtk/gtkrange.c (gtk_range_calc_layout): check for 0 value on the denominator in the horizontal case just like we do in the vertical case (why I didn't notice that there were two cases the first time around is beyond me:). Also fix indentation in the vertical case.
* Make button 1 clicks on the trough do pages, button 3 steps. (Patch fromOwen Taylor2001-12-061-2/+2
| | | | | | | | Thu Dec 6 16:50:17 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c: Make button 1 clicks on the trough do pages, button 3 steps. (Patch from Hans Breuer #63735)
* Patch from Bill Haneman (with many modifications) to make the focus colorOwen Taylor2001-12-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Dec 3 16:39:17 2001 Owen Taylor <otaylor@redhat.com> Patch from Bill Haneman (with many modifications) to make the focus color work on dark themes and to make the focus line width configurable. (#61079, #63074) * gtk/gtkwidget.c: Add style properties, ::focus-widget, ::focus-line-width, and ::focus-padding. * gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a state argument as well so we can use fg[STATE] to draw instead of always drawing with black. Cange paint_focus() to respect GtkWidget::focus-width and GtkWidget::focus-line-pattern. Fix continuity problem where the default 1-1 stipple had a blob in one corner and a gap in the other. Change the interpretation of x/y/width/height to be the bounding box of the focus rect instead of the rectangle passed to gdk_draw_rectangle. * gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width and ::focus-line-padding. * gtk/gtkentry.c: Handle :;focus-width property; cleanup and remove duplicated code; fix drawing of focus rectangle when interior-focus = FALSE. (#63072, #63073) * gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeviewcolumn.c: Basic fixups to make compile; Range and TreeViewColumn will need more extensive fixing. * gtk/gtkcolorsel.c: Honor focus line attributes when drawing the focus on the color swatches. (#63071) * gtk/gtkhsv.c: Honor focus line attributes when drawing the focus for the ring and triangle. * docs/widget_geometry.txt: Start at documenting how various widgets are drawn. * gtk/gtkbutton.c (_gtk_button_paint): Export _gtk_button_paint() librarywide, so we don't have duplicate a bunch of code in gtktogglebutton.c. * gtk/gtktogglebutton.c: Use _gtk_button_paint().
* put the warning explaining the validation error in front of theHavoc Pennington2001-11-281-1/+1
| | | | | | | | | | | | | 2001-11-28 Havoc Pennington <hp@redhat.com> * gtk/gtktextview.c (gtk_text_view_paint): put the warning explaining the validation error in front of the G_BREAKPOINT * gtk/gtkrange.c (gtk_range_adjustment_value_changed): call process updates with include_children = FALSE instead of TRUE, so we redraw the range only, not the whole darn window. Making GtkRange a NO_WINDOW widget had weirdly caused the text widget Trace/breakpoint trap bug to become much easier to trigger.
* Offset invalidated range correctly. Fix scrolling of title window.Owen Taylor2001-11-231-2/+2
| | | | | | | | | | Fri Nov 23 18:36:42 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_button_press): Offset invalidated range correctly. * gtk/gtkclist.c (hadjustment_value_changed): Fix scrolling of title window. (#65001, reported by Damon Chaplin) * gtk/gtkcombo.c (gtk_combo_button_event_after): Replace horrible hack with use of ::event_after.
* Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2;Owen Taylor2001-11-171-2/+3
| | | | | | | | | | Sat Nov 17 18:26:45 2001 Owen Taylor <otaylor@redhat.com> * gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2; and deprecate it; put all marshalers we actually use into gtkmarshalers.list and use the _gtk_marshal_ prefix for these marshalers.
* Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann)Owen Taylor2001-11-151-24/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thu Nov 15 14:19:34 2001 Owen Taylor <otaylor@redhat.com> * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann) * gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann) * gtk/gtkcontainer.c (gtk_container_expose): Call gtk_container_forall() not _foreach() to propagate, since we need to propagate exposes to internal children as well. * gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events): Remove the restriction of only being able to call these on window widgets, since we have lots of NO_WINDOW widgets with windows now; for add events, recurse over the children of widget->window to find one owned by the widget. * gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only window to catch events. * gtk/gtktogglebutton.[ch]: Remove the code for switching between NO_WINDOW and WINDOW widgets based on the mode. * gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton. * gtk/gtkrange.[ch]: Make into a NO_WINDOW widget. * gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW change for range. * gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget. * docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes.
* Patch from George Lebl to fix division by zero for full scroll bars.Owen Taylor2001-11-021-2/+3
| | | | | | | Thu Nov 1 20:09:31 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c: Patch from George Lebl to fix division by zero for full scroll bars. (#62114)
* Patch from Matthias Clasen to remove remove all instances ofOwen Taylor2001-07-181-6/+0
| | | | | | | | | Wed Jul 18 19:28:46 2001 Owen Taylor <otaylor@redhat.com> * gtk/*.c: Patch from Matthias Clasen to remove remove all instances of g_return_if_fail (foo != NULL); that are immediately before a g_return_if_fail (GTK_IS_FOO (foo)); since the second check catches the NULL anyways.
* add GDK_THREADS_ENTER/GDK_THREADS_LEAVE. (gtk_range_calc_layout): computeTim Janik2001-07-141-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Sat Jul 14 12:47:35 2001 Tim Janik <timj@gtk.org> * gtk/gtkrange.c: (second_timeout): (initial_timeout): (update_timeout): add GDK_THREADS_ENTER/GDK_THREADS_LEAVE. (gtk_range_calc_layout): compute the new layout based on an adjustment->value being passed in as argument. (gtk_range_button_press): for button2 slider warps, first recalc the layout, then adjust the value. also, use update_slider_position() for adjusting the value, so we keep pixel quantisation at which we usually operate (upon motion or button releases). the reason for this is that, we can't change the adjustment upon button2 presses to a non quantised value and upon button2 release re-quantise the value since that'd alter the value even if we didn't get any motion events (causing unexpected scroll area warps upon release and/or slider pixel-jitter). (gtk_range_motion_notify): update the slider position from queried coordinates, not event coordinates. Fri Jul 13 09:47:52 2001 Tim Janik <timj@gtk.org> * gtk/gtkstyle.c (gtk_default_draw_focus): fix line style resetting, the default gc values are: width=0, CapBut, JoinMiter.
* Add missing case.Owen Taylor2001-07-121-4/+10
| | | | | | | | | | | | | | Thu Jul 12 14:06:19 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Add missing case. * gtk/gtkcontainer.c (gtk_container_get_focus_chain): Fix NULL/FALSE return value confusion. * gtk/gtkrange.c (coord_to_value): Fix division-by-zero problem when scrollbar completely fills range. (Patch from Matthias Clasen, #57047)
* fixes to compile with G_DISABLE_COMPATHavoc Pennington2001-06-291-16/+16
| | | | | | | | | 2001-06-29 Havoc Pennington <hp@redhat.com> * Throughout: fixes to compile with G_DISABLE_COMPAT (s/g_signal_connectc/g_signal_connect/, s/g_signal_newc/g_signal_new/, s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
* Fix stupid error introduced last night that was making things decidedlyOwen Taylor2001-06-241-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Sun Jun 24 11:29:35 2001 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error introduced last night that was making things decidedly not work. * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters so that we have getter/setter pairing everywhere it makes sense. (#55767) * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.: Rename gtk_radio_button_group to gtk_radio_button_get_group, add a deprecated compat macro. (#55516) * gtk/gtklabel.[ch]: Add functions gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(), gtk_label_set_label(), which mirror the property API for GtkLabel. Make gtk_label_get_attributes() only reflect the attributes set by gtk_label_set_attributes. * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename from gtk_notebook_set_page().
* hum, "adjustment" was a construct property in 1.2 and still needs to be.Tim Janik2001-06-201-1/+1
| | | | | | | | | Wed Jun 20 04:28:24 2001 Tim Janik <timj@gtk.org> * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a construct property in 1.2 and still needs to be. * gtk/gtkwidget.c: "composite_child" is not a settable property.
* add "inverted" propertyHavoc Pennington2001-06-061-1/+17
| | | | | | | | | | 2001-06-06 Havoc Pennington <hp@redhat.com> * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page Down to move visually rather than logically, since it confuses people. Add -/+ and Ctrl--/+ bindings for logical movement.
* clamp the value to the range that was setHavoc Pennington2001-06-051-0/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-05 Havoc Pennington <hp@redhat.com> * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value to the range that was set * gtk/gtkrange.c: add value_changed signal, primarily intended for use with GtkScale (gtk_range_set_increments): new function (gtk_range_set_range): new function with weird name (gtk_range_set_value): new function (gtk_range_get_value): new function * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename from gtk_spin_button_get_value_as_float(). Compat #define added for get_value_as_float. * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function 2001-06-05 Havoc Pennington <hp@redhat.com> * test-loaders.c (main): use putenv not setenv, reported by Armin Theissen
* change SCROLL_RIGHT to SCROLL_LEFT, reported by Thomas Broyer.Havoc Pennington2001-06-041-1/+1
| | | | | | | 2001-06-04 Havoc Pennington <hp@redhat.com> * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to SCROLL_LEFT, reported by Thomas Broyer.
* Process updates immediately, to prevent funny lag effect when scrolling,Havoc Pennington2001-06-041-1/+5
| | | | | | | | 2001-06-04 Havoc Pennington <hp@redhat.com> * gtk/gtkrange.c (gtk_range_adjustment_value_changed): Process updates immediately, to prevent funny lag effect when scrolling, at some mild potential efficiency cost.
* on middle click, center slider on the click.Havoc Pennington2001-06-041-6/+12
| | | | | | | 2001-06-04 Havoc Pennington <hp@redhat.com> * gtk/gtkrange.c (gtk_range_button_press): on middle click, center slider on the click.
* make this special-case hscale/vscale details, so we can use it forHavoc Pennington2001-06-041-1239/+1459
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-03 Havoc Pennington <hp@pobox.com> * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case hscale/vscale details, so we can use it for scrollbar as well. * tests/testgtk.c (reformat_value): honor digits from GtkScale * gtk/gtkenums.h (GtkTroughType): Remove this enum (GtkScrollType): add START and END from GtkTroughType * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using its x/y arguments * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h, gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c, gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h, gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c, gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses. Notable changes in the process: - stepper_size style property is the height for vertical ranges, width for horizontal; the other dimension matches the trough size - add ability to do NeXT-style steppers (and several other styles that don't make any sense) - added min_slider_length, fixed_slider_length properties to GtkScrollbar - cleaned some private (or at least useless) functions out of gtkscale.h - moved bindings to GtkScale from subclasses, even arrow keys, since blind users don't know scale orientation. - change move_slider action signal to use new GtkScrollType, remove GtkTroughType argument - digits rounds the values a range will input to the given number of decimals, but will not try to force adjustment values set by other controllers. That is, we no longer modify adjustment->value inside a value_changed handler. - added getters for GtkScale setters - middle-click begins a slider drag
* Add properties, based on patch by Lee Mallabone.GTK_MULTIHEAD_MERGE1Alexander Larsson2001-05-171-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-17 Alexander Larsson <alla@lysator.liu.se> * gtk/gtkbbox.c: Add properties, based on patch by Lee Mallabone. * gtk/gtknotebook.c: * gtk/gtktoolbar.c: Convert from GtkArg to GParam, based on patch by John Margaglione. * gtk/gtkhscale.c: * gtk/gtkvscale.c: * gtk/gtkhscrollbar.c: * gtk/gtkvscrollbar.c: * gtk/gtkrange.c: Move adjustment property to GtkRange. * gtk/gtklabel.c: Setup mnemonics on property changes * gtk/gtkwidget.c (gtk_widget_get_property): GdkExtensionMode is an enum, not a flag. Set it with g_value_set_enum (). * tests/prop-editor.c: Better propery editor. * tests/testgtk.c: Add new property test. Pass zero to the property editor to get properties from all derived types.
* New default theme! A slighly improved version of the 2.0 Raleigh theme,Owen Taylor2001-05-011-4/+4
| | | | | | | | | | | | Mon Apr 30 20:29:27 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c: New default theme! A slighly improved version of the 2.0 Raleigh theme, with Windows-esque focus/drawing default. (GtkWidget::interior_focus defaults to TRUE.) * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
* voc Pennington <hp@redhat.com>Havoc Pennington2001-04-281-84/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): (gtk_text_layout_move_iter_to_next_line): fix these two for invisible text, lots of other stuff still hosed. * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook): new function, replaces the get/set palette stuff. This function is intended for use by libgnomeui which should set the hook to a thing which sets the palette in GConf, and we need the GConf-to-xsettings proxy which will result in the change being propagated back to the GTK app. * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning about unusable signals that it may be because the signal has parameters. * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the style, otherwise gtkrc.c won't know to create a new GtkStyle for it. (gtk_widget_modify_color_component): call gtk_widget_modify_style() so the rc style will get copied. (gtk_widget_modify_font): ditto * gtk/gtkrc.c: make a couple variables static * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide help button by default, since it does nothing * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool around with UI * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify so we can have tooltips * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we can have tooltips * gdk/gdkimage.h: mark gdk_image_new_bitmap with GDK_ENABLE_BROKEN, because its memory behavior is completely hosed. * gtk/gtknotebook.c: remove key press handler, replace with binding set, add numeric keypad support * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in addition to plain Delete * gtk/gtktextview.c (gtk_text_view_key_press_event): accept GDK_KP_Enter in addition to GDK_Return * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to activate on entry instead of key press (gtk_font_selection_on_clist_key_press): get rid of this signal handler, not needed with new font sel. * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a no-longer-needed emit_stop_by_name(), just return TRUE * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings cruft, this widget is no longer focusable. * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c, gtk/gtkhscale.c: Get rid of trough_keys virtual function, add move_slider action signal, add binding set for vscale/hscale, in the process support numeric keypad * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; make GDK_Return and GDK_KP_Enter activate the entry via binding set, instead of hardcoded.
* Fix G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPEOwen Taylor2001-04-021-24/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Apr 2 10:47:57 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (gtk_widget_class_init): Fix G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE stupidity. Mon Apr 2 00:51:11 2001 Owen Taylor <otaylor@redhat.com> [ First pass at adding style properties. Still needs some definite fine-tuning. ] * gtk/gtkbutton.c: Add ::default_spacing style property. * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size, ::indicator_spacing style properties. * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing style properties. * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property rather than a normal property. * gtk/gtkwidget.c: Add an ::interior_focus style property to draw focus inside buttons, in the Windows/Java Metal/etc. style. * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c: Honor ::interior_focus. * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is TRUE. * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c: Add ::slider_width, ::trough_border, ::stepper_size, ::stepper_spacing style properties. * gtk/gtkscale.[ch] Add ::slider-length style property.
* Remove leaks.Alexander Larsson2001-03-301-28/+44
| | | | | | | | | | | | | | | | | | | | | | | 2001-03-30 Alexander Larsson <alexl@redhat.com> * gtk/gtkbutton.c (gtk_button_get_property): * gtk/gtklabel.c: Remove leaks. * gtk/gtkcontainer.c: * gtk/gtkhscale.c: * gtk/gtkhscrollbar.c: * gtk/gtklayout.c: * gtk/gtkmisc.c: * gtk/gtkprogress.c: * gtk/gtkprogressbar.c: * gtk/gtkrange.c: * gtk/gtktable.c: * gtk/gtkviewport.c: * gtk/gtkvscale.c: * gtk/gtkvscrollbar.c: * gtk/gtkwidget.c: Property patches, based on patches from John Margaglione and Lee Mallabone.
* Apply patch from Nils Barth fixing event return values. (#51041)Owen Taylor2001-03-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Tue Mar 27 22:36:07 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from Nils Barth fixing event return values. (#51041) * gtk/gtkwidget.c: Fix some return values for default functions. * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix return values for trough_keys functions. * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return value for add_accelerator (shoudl have been a void return.) * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h: Fix return type of EVENT. * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT signal return a boolean.
* Handle quoting of / with \; properly handle __ in paths, quote " and \n inOwen Taylor2001-03-191-22/+22
| | | | | | | | | | | | | | Mon Mar 19 15:53:36 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly handle __ in paths, quote " and \n in gtk_item_factory_dump_items(). * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch] gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch] gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c: Change float to double everywhere with the exception of 0<->1.0 alignment and GtkCurve.
* Patch from ChiDeok Hwang to move call to sync_selection() up a few linesOwen Taylor2001-03-021-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Feb 28 19:10:43 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok Hwang to move call to sync_selection() up a few lines to before the row list is modified, to fix crash when removing rows in the undo_selection list. (Test case provided by Daniel Elstner: http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html) Fri Feb 23 15:06:48 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtktree.c (gtk_tree_class_init): Do the setting of tree->root_tree in parent_set rather than _map(), fixing #50892 in a bit better manner. Thu Feb 22 17:07:58 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934) Tue Feb 2 11:22:33 2001 Jody Goldberg <jgoldberg@home.com> * gtk/gtkstyle.c : Remove duplicate fwd decl for gtk_default_draw_shadow. ue Feb 20 11:40:58 2001 Owen Taylor <otaylor@redhat.com> * gdk/gdkimage.c (gdk_image_new): Remove excess warning, make warnings more verbose, treat a error in shmat as permanent, and don't try again. (#51163, Ed Randall.) Mon Feb 19 20:15:28 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial delay for the first click before starting to scroll. (based on #51026, gtk-enf-990512-0.patch, Eric Fisher) * gtk/gtktext.c: GtkText should have I-beam cursor. (based on gtk-enf-990513-1.patch, Eric Fisher.) Mon Feb 19 16:42:19 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny cleanup to remove some references to unused ->xoffset, ->yoffset. Mon Feb 19 14:20:36 2001 Owen Taylor <otaylor@redhat.com> * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect mask. (#51039, fix from Martin Maierhofer) Fri Feb 16 20:09:42 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings for unshifted + and shifted = for non-us keyboards. Make <Control>+ and <Control>- work as well as <Control>KP_Plus, <Control>KP_Minus for recursive open/close. (#2682, René Seindal) Fri Feb 16 18:50:59 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset the active menu item before deactivating the menu, so gtk_menu_popdown doesn't change the history. (#50964) Fri Feb 16 15:55:22 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): draw lines with text_gc rather than black_gc. (Patch from Vlad Harchev <hvv hippo ru>, #50926)
* Remove draw_focus and draw_default (gtk_widget_draw_focus): remove thisHavoc Pennington2001-02-281-44/+0
| | | | | | | | | | | | | | | | | | | | | | 2001-02-28 Havoc Pennington <hp@redhat.com> * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and draw_default (gtk_widget_draw_focus): remove this function; we could instead make it just gtk_widget_draw(), but in most cases I think the result would be broken user code, so think it's better to have that code not compile and get fixed (gtk_widget_draw_default): ditto * gtk/gtkwidget.c: Add default handlers for focus_in_event and focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when widgets lose/get the default, instead of calling draw_default * docs/Changes-2.0.txt: note about all this Then fixed every widget in GTK, I won't list all the filenames.
* hmm, someone changed GLib without fixing GTKHavoc Pennington2001-02-191-67/+67
| | | | | | | | | | | | | | | | 2001-02-19 Havoc Pennington <hp@redhat.com> * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone changed GLib without fixing GTK * gtk/gtkrange.h: Rename all the stupid implementation detail functions to have an underscore in front. Most of them should probably just go away, but for starters don't export them. Bug #50482 2001-02-19 Havoc Pennington <hp@redhat.com> * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
* use the visual scroll steps.Havoc Pennington2001-02-191-4/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-16 Havoc Pennington <hp@redhat.com> * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual scroll steps. * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll steps, and add Ctrl-arrow shortcuts for paging visually as with HScale, since Page Up and Page Down move logically. * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP, GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll steps (gtk_range_scroll): handle the visual steps * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down scroll steps * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll steps, not the logical ones. * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps (scroll_vertical): handle up/down steps
* convert the X coordinates so they're with respect to the line, rather thanHavoc Pennington2001-02-171-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-15 Havoc Pennington <hp@redhat.com> * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert the X coordinates so they're with respect to the line, rather than with respect to the layout. * gtk/gtkalignment.c: Convert to new property API, patch from Lee Mallabone * gtk/testgtk.c (create_range_controls): add vscale tests, and inverted test * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix #50806 * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN * gtk/gtktextiter.h (gtk_text_iter_is_last): rename gtk_text_iter_is_end * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter): rename gtk_text_buffer_get_end_iter * gtk/testgtk.c (create_labels): Add test for selectable * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw the selection stuff. This code is kind of broken since it doesn't use the theme engine. * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): fix infinite loop and y offset problem (gdk_draw_layout_line_with_colors): fix foreground color handling * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag that makes the label selectable. * gtk/gtklabel.c (gtk_label_style_set): recreate the label's layout when the style is set, since fonts etc. could have changed.
* Get rid of a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().Owen Taylor2001-02-021-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri Feb 2 12:26:50 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of a bunch of g_strdup_printf("%s%s") in favor of g_strconcat(). * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix), since some people set $(libdir) separately. (#1290, David Kaelbling) Thu Feb 1 18:25:46 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not defined, define MAXPATHLEN to 2048. (The Hurd doesn't have MAXPATHLEN, but the code here depends on a fixed value.) (#4524) Wed Jan 31 22:01:04 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g) Wed Jan 31 21:20:39 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkctree.c (real_tree_move): If the node being moved isn't viewable there is no way that moving the node will cause the focus row to become not viewable, so omit check on the visibility of new_sibling, which is irrelevant. (Fixes #8002, David Helder) Wed Jan 31 20:38:17 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current selection before inserting new text. Wed Jan 31 18:49:33 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb): Make the sensitivity of the reparented child track that of the original parent menu item. (#34218, David Hodson) * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle the case where the current item is destroyed properly. * gtk/gtkoptionmenu.c: Some additional code cleanups and fix some edge cases with child-less menuitems. Wed Jan 31 17:16:13 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return key pop down window. (#12074, Jon K Hellan) Wed Jan 31 16:21:42 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) The solution here isn't perfect - you get an extraneous emission of "toggle", which could conceivably confuse an app, but better than the current situation. LXR search seems to indicate that no apps in GNOME CVS connect to "toggle". Wed Jan 31 15:46:13 2001 Owen Taylor <otaylor@redhat.com> * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from gtk_public_h_sources to directly here to avoid warning when building srcdir != builddir. (#9656) Tue Jan 30 19:49:02 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c: Patch from Kipp Hickman to make the event handlers in gtkrange.c return the proper values (TRUE == handled) (#10316). This is just the tip of the iceberg, but gtkrange.c is the most common place where the propagation is problematical, and also a place where it is almost certainly safe to change this in the stable branch. (You don't want right click popups on a range control or anything...) Tue Jan 30 18:57:59 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtktext.c (clear_focus_area): We need to clear the focus area on focus out, even if a background pixmap isn't set. (#13941) Tue Jan 30 18:24:10 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham to deal with setting the shape properly when scrolling arrows are turned on, but not visible because there is sufficient space. (#13432) Tue Jan 30 16:39:25 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu items with submenus, destroy the item along with the submenu. (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' properly. * gtk/testgtk.c (menu_items): Add a dummy branch that we delete later. Tue Jan 30 15:51:25 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where the focus widget sometimes wasn't drawn with the default if there was no default widget. * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors, unreference pixmaps. * gtk/gtkstyle.c (gtk_style_realize): Reference colormap for some extra safety. Mon Jan 29 19:00:01 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting the text of a cell to the old pointer value better, by copying the new text before freeing the old text. Some code cleanup. (#8079, Karl Nelson) Mon Jan 29 16:50:19 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text() gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN. Mon Jan 29 15:22:51 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkmenu.c (gtk_menu_remove): When removing an item from a menu, check to see if it matches menu->old_active_menu_item, and if so, unref and clear old_active_menu_item (Patch from Pavel Cisler) * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset menu_shell->active_menu_item, if it is the child being removed. (Patch based on that of Gene Ragan, #50337)
* Remove "draw" virtual method and signalHavoc Pennington2000-12-041-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-02 Havoc Pennington <hp@pobox.com> * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual method and signal * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then calls gdk_window_process_updates() to push the exposes through (gtk_widget_class_init): No more draw signal, no gtk_widget_real_draw() * gtk/gtkbin.c (gtk_bin_draw): remove * gtk/gtkbox.c (gtk_box_draw): remove * gtk/gtkbutton.c (gtk_button_draw): remove * gtk/gtkcalendar.c (gtk_calendar_draw): remove * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove * gtk/gtkclist.c (gtk_clist_draw): remove * gtk/gtkentry.c (gtk_entry_draw): remove * gtk/gtkeventbox.c (gtk_event_box_draw): remove * gtk/gtkfixed.c (gtk_fixed_draw): remove * gtk/gtkframe.c (gtk_frame_draw): remove * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove * gtk/gtkhpaned.c (gtk_hpaned_draw): remove * gtk/gtklayout.c (gtk_layout_draw): remove * gtk/gtklist.c (gtk_list_draw): remove * gtk/gtklistitem.c (gtk_list_item_draw): remove * gtk/gtkmenu.c (gtk_menu_draw): remove * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove * gtk/gtknotebook.c (gtk_notebook_draw): remove * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove * gtk/gtkpacker.c (gtk_packer_draw): remove * gtk/gtkrange.c (gtk_range_draw): remove * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove * gtk/gtktable.c (gtk_table_draw): remove * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove * gtk/gtktext.c (gtk_text_draw): remove * gtk/gtktextview.c (gtk_text_view_draw): remove * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove * gtk/gtktoolbar.c (gtk_toolbar_draw): remove * gtk/gtktree.c (gtk_tree_draw): remove * gtk/gtktreeitem.c (gtk_tree_item_draw): remove * gtk/gtktreeview.c (gtk_tree_view_draw): remove * gtk/gtkviewport.c (gtk_viewport_draw): remove * gtk/gtkvpaned.c (gtk_vpaned_draw): remove * gtk/gtkvscale.c (gtk_vscale_draw): remove * gtk/gtkwindow.c (gtk_window_draw): remove
* Add some missing casts. Support 2 and 3 button clicks on the arrows toOwen Taylor2000-11-121-21/+33
| | | | | | | | Sun Nov 12 13:33:01 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtkrange.c: Add some missing casts. Support 2 and 3 button clicks on the arrows to mean "move by pages" and "jump to end". (Like gtkspinbutton)
* Check for bind_textdomain_codesetRobert Brady2000-10-221-1/+11
| | | | | | | | | | | | | | | | | | 2000-10-22 Robert Brady <robert@suse.co.uk> * configure.in: Check for bind_textdomain_codeset * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset present, make use of it. Add a translatable string "default:LTR" which, if translated to "default:RTL", will cause the default direction to be Right-to-Left. * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget direction if marked as flippable. * gtk/gtkhscale.c: Mark widget as flippable.