1. 25 May, 2001 1 commit
    • Havoc Pennington's avatar
      get sizes an icon set can render without falling back to missing image · 87684f95
      Havoc Pennington authored
      2001-05-25  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
      	set can render without falling back to missing image icon
      
      	* gtk/gtktextview.c (gtk_text_view_size_request): request full
      	size of text, instead of random values
      
      	* gtk/gtktreeview.c (gtk_tree_view_size_request): request full
      	size of tree view, instead of random values
      
      	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
      	image in an appropriate size
      
              * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
      	etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
      
              Throughout: fix GTK_STOCK_BUTTON_ instances
      
      	* gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
      	gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
      	Add a bunch of new stock items/icons
      
      	* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
      	new function, convenience for inserting columns with a data func
      
      	* gtk/gtkiconfactory.c: keep a list of all existing icon factories
      	(_gtk_icon_factory_list_ids): use list of all factories to
      	generate a list of all known IDs
      
      	* gtk/gtkstock.c (gtk_stock_list_ids): replace
      	gtk_stock_list_items() with a function that returns all IDs known
      	including those for GtkIconFactory.
      87684f95
  2. 28 Apr, 2001 1 commit
    • Havoc Pennington's avatar
      voc Pennington <hp@redhat.com> · 7ad36413
      Havoc Pennington authored
      	* 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.
      7ad36413
  3. 20 Apr, 2001 1 commit
    • Alexander Larsson's avatar
      API Change. Take GdkColor arguments instead of gdouble *. Leave the old · ca20af0b
      Alexander Larsson authored
      2001-04-20  Alexander Larsson  <alexl@redhat.com>
      
      	* gtk/gtkcolorsel.[ch]:
      	API Change. Take GdkColor arguments instead of gdouble *.
      	Leave the old gtk_color_selection_set_color for compatibility,
      	but marked deprecated.
      	Do correct rounding when converting RGB <-> HSV.
      
      	* gtk/gtkcolorseldialog.c:
      	* tests/testgtk.c:
      	Use new GtkColorSelection API.
      
      	* gtk/gtkhsv.c:
      	Fix problem selecting colors in triangle when Hue is 330.
      	Fix some black dots around the HSB triangle.
      
      	* gtk/gtkfilesel.c:
      	return FALSE from the focus_in_event handler to fix focus problems.
      ca20af0b
  4. 06 Nov, 2000 1 commit
    • Havoc Pennington's avatar
      Derive from GtkDialog, and use stock buttons. Should be 100% source · 69f42512
      Havoc Pennington authored
      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
      69f42512
  5. 26 Jul, 2000 1 commit
  6. 02 Jul, 2000 1 commit
    • Owen Taylor's avatar
      Add gdk_rgb_find_color() to get a pixel value using GdkRGB functionality · 4f1ccca5
      Owen Taylor authored
      Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
      	value using GdkRGB functionality given GdkColormap and GdkColor.
      	(name not final, waiting for inspiration.)
      
      	* gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
      	set the foreground/background of a GC using the GC's colormap
      	and GdkRGB. (name not final, waiting for inspiration.)
      
      	* gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from
      	gdk_rgb_get_cmap(), put #define in gdkcompat.h.
      
      	* gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
      	gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
      	purely a function of the corresponding colormap. Make
      	gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
      
      	* gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
      	gdk_pixbuf_*create_from_xpm_* in terms of
      	gdk_pixbuf_new_from_xpm_data(), move into platform independent
      	code.
      
      	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
      	advantage of the new draw_rgb_32_image_dithalign.
      
      	* gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
      
      	* gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
      	on each created GC.
      
      	* gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
      
      	* gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
      	which we initialize from the drawable when the GC is created,
      	if the drawable has a colormap.
      
      	* gdk/x11/gdkgc-x11.c: include string.h for memset.
      
      	* gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
      
      	* gtk/gtklayout.[ch]: Remove unsed configure serial member.
      4f1ccca5
  7. 12 May, 2000 2 commits
    • Tim Janik's avatar
      don't include gtk/gtkintl.h in a public header file. · 438e6357
      Tim Janik authored
      Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
              public header file.
      438e6357
    • Tim Janik's avatar
      documented necessary changes for 1.4 transition. · 9595c551
      Tim Janik authored
      Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
      
      	* docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
      
      	* gtk/gtktext.c: made the adjustments no-construct args, simply
      	provide default adjustments.
      	(gtk_text_destroy): release adjustments.
      
      	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
      	adjustment argument non-construct.
      
      	* gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
      	instead of in finalize.
      	(gtk_progress_get_text_from_value):
      	(gtk_progress_get_current_text):
      	(gtk_progress_set_value):
      	(gtk_progress_get_percentage_from_value):
      	(gtk_progress_get_current_percentage):
      	(gtk_progress_set_percentage):
      	(gtk_progress_configure): ensure an adjustment is present.
      
      Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcolorsel.[hc]:
      	* gtk/gtkcolorseldialog.[hc]:
      	* gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
      	their parent implementation, use bit fields for boolean values, don't
      	create unused widgets, usage of glib types, braces go on their own
      	lines, function argument alignment, #include directives etc. etc. etc..
      
      	* gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
      
      Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
      
      	* gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
      	of NULL.
      
      	* gtk/gtkcombo.c (gtk_combo_item_destroy): don#t keep references
      	to freed data.
      	(gtk_combo_destroy): don't keep a pointer to a destroyed window.
      
      	* gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
      	to NULL when the toplevel is getting destroyed.
      	(gtk_menu_set_tearoff_state): same here for the tearoff_window.
      	(gtk_menu_destroy):
      	(gtk_menu_init): store the information of whether we have to
      	readd the initial child ref_count during destruction in a new
      	GtkMenu field needs_destruction_ref_count.
      
      	* gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
      	here, those reading: learn from my mistake! ;)
      	in order for set_?adjustment to support a default adjustemnt if
      	invoked with an adjustment pointer of NULL, the code read (pseudo):
      	if (v->adjustment) unref (v->adjustment);
      	if (!adjustment) adjustment = adjustment_new ();
      	if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
      	now imagine the first unref to actually free the old adjustment and
      	adjustment_new() creating a new adjustment from the very same memory
      	portion. here, the latter comparision will unintendedly fail, and
      	all hell breaks loose.
      	(gtk_viewport_set_hadjustment):
      	(gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
      	after unreferencing it.
      
      	* gtk/gtkcontainer.[hc]: removed toplevel registration
      	functions: gtk_container_register_toplevel(),
      	gtk_container_unregister_toplevel() and
      	gtk_container_get_toplevels() which had wrong semantics
      	anyways: it didn't reference and copy the list.
      
      	* gtk/gtkwindow.c: we take over the container toplevel registration
      	bussiness now. windows are registered across multiple destructions,
      	untill they are finalized. the initial implicit reference count
      	users are holding on windows is removed with the first destruction
      	though.
      	(gtk_window_init): ref & sink and set has_user_ref_count, got
      	rid of gtk_container_register_toplevel() call. add window to
      	toplevel_list.
      	(gtk_window_destroy): unref the window if has_user_ref_count
      	is still set, got rid of call to
      	gtk_container_unregister_toplevel().
      	(gtk_window_finalize): remove window from toplevel list.
      	(gtk_window_list_toplevels): new function to return a newly
      	created list with referenced toplevels.
      	(gtk_window_read_rcfiles): use gtk_window_list_toplevels().
      
      	* gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
      	adjustment a non-construct arg.
      	* gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
      	* gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
      	* gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
      
      	* gtk/gtkrange.c: added some realized checks.
      	(gtk_range_destroy): get rid of the h/v adjustments in the
      	destroy handler instead of finalize. remove timer.
      	(gtk_range_get_adjustment): demand create adjustment.
      
      	* gtk/gtkviewport.c: made h/v adjustment non-construct args.
      	we simply create them on demand now and get rid of them in
      	the destroy handler.
      	(gtk_viewport_destroy): get rid of the h/v adjustments in the
      	destroy handler instead of finalize.
      	(gtk_viewport_get_hadjustment):
      	(gtk_viewport_get_vadjustment):
      	(gtk_viewport_size_allocate): demand create h/v adjustment
      	if required.
      
      	* gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
      	gtk_widget_real_destroy () functionality.
      	(gtk_widget_real_destroy): reinitialize with a new style, instead
      	of setting widget->style to NULL.
      
      Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcalendar.c:
      	* gtk/gtkbutton.c: ported _get_type() implementation over to
      	GType, either to preserve memchunks allocation facilities,
      	or because Gtk+ 1.0 GtkTypeInfo was still being used.
      
      	* gtk/gtkobject.[hc]: derive from GObject. ported various functions
      	over. prepare for ::destroy to be emitted multiple times.
      	removed reference tracer magic. chain into GObjectClass.shutdown()
      	to emit ::destroy signal.
      
      	* gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
      	fundamental.
      
      	* gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
      	cludge.
      
      	* gtk/gtksocket.c:
      	* gtk/gtkplug.c:
      	* gtk/gtklayout.c:
      	* gtk/gtklabel.c:
      	* gtk/gtkargcollector.c:
      	* gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
      	not being a fundamental anymore, and to work with the new
      	type system (nuked fundamental type varargs clutter).
      
      	* gtk/*.c: install finalize handlers in the GObjectClass
      	part of the class structure.
      	changed direct GTK_OBJECT()->klass accesses to
      	GTK_*_GET_CLASS().
      	changed direct object_class->type accesses to GTK_CLASS_TYPE().
      
      	* gtktypeutils.[hc]: use the reserved fundamental ids provided by
      	GType. made most of the GTK_*() type macros and Gtk* typedefs
      	simple wrappers around macros and types provided by GType.
      	most notably, a significant portion of the old API vanished:
      	GTK_TYPE_MAKE(),
      	GTK_TYPE_SEQNO(),
      	GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
      	GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
      	GTK_TYPE_ARGS,
      	GTK_TYPE_CALLBACK,
      	GTK_TYPE_C_CALLBACK,
      	GTK_TYPE_FOREIGN,
      	GtkTypeQuery,
      	gtk_type_query(),
      	gtk_type_set_varargs_type(),
      	gtk_type_get_varargs_type(),
      	gtk_type_check_object_cast(),
      	gtk_type_check_class_cast(),
      	gtk_type_describe_tree(),
      	gtk_type_describe_heritage(),
      	gtk_type_free(),
      	gtk_type_children_types(),
      	gtk_type_set_chunk_alloc(),
      	gtk_type_register_enum(),
      	gtk_type_register_flags(),
      	gtk_type_parent_class().
      	replacements, where available are described in ../docs/Changes-1.4.txt.
      	implemented compatibility functions for the remaining API.
      
      	* configure.in: depend on glib 1.3.1, use gobject module.
      9595c551
  8. 10 May, 2000 1 commit
    • Owen Taylor's avatar
      Color selection dialog rewrite. · 88286d32
      Owen Taylor authored
      Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
      	gtk/gtkhsv.[ch]: Color selection dialog rewrite.
      
      	(Original triangle color selector from Simon Budig
      	<Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
      	from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
      	Santiago <mrcooger@cyberverse.com>)
      
      	* gtk/gtkcolorseldialog.[ch]: Split color selection dialog
      	out into a separate widget.
      
      	* gtk/testgtk.c: Add some checkbuttons for toggling palette
      	and opacity controls.
      
      Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in (GTK_LIBS_EXTRA): Remove references to gobject that
      	snuck in prematurely.
      88286d32