Wed Dec 9 00:49:12 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
allocated structure holding certain type specific informations.
fixed the big bunch of `discards const' warnings with the
initialization of enum/flags values.
Tue Dec 8 15:10:17 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_transient_parent_realized):
Fixed order of arguments to gdk_window_transient_for().
* gtk/testgtk.c: Functions to test the toolbar space style.
* gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
GtkToolbarChild to hold allocation. Set default space style to
GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
fraction defaults.
(gtk_toolbar_paint_space_line): New function; paints the separator
line, using "toolbar" as the detail.
(gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
style is set to SPACE_LINE.
(gtk_toolbar_size_allocate): Store space allocations.
(gtk_toolbar_insert_element): If we are a space, allocate and
initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
(gtk_toolbar_set_space_style): New function.
* gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
and LINE. Add prototype for gtk_toolbar_set_space_style.
Mon Dec 7 13:38:06 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
_after_ doing XShmAttach. This should work everywhere,
and avoid the need for signal handlers or configure
checks.
Mon Dec 7 01:29:27 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkwindow.c: New functions
gtk_window_set_transient_for() - set up a "transient for" relationship.
gtk_window_set_default_size() - set the initial size of a window
distinct from its minimum size.
gtk_window_set_geometry_hints() - Allow the user to set
minimum, maximum sizes, aspect rations, and gridded geometry,
possibly all with respect to a subwidget of the window.
These interfaces are still a wee bit experimental.
* gdk/gdk.c: Added gdk_window_set_transient_for(),
gdk_window_set_geometry_hints(), and gdk_window_set_role().
* gdk/gdktypes.h: Added new types for find-grained specification
of WM hints.
* gtk/testgtk.c: Various changes to tests to test the
above new functions.
* gtk/gtkfontsel.c: Squash a few 'const' warnings.
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
call to gtk_style_set_background() to prevent egregious
flashing to black.
Mon Dec 7 03:52:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
signals, don't pass the data pointer twice, but swap it with the
object pointer (proposed on Nov 30 1998 on gtk-devel-list).
Mon Dec 7 03:08:39 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: reverted marius change to expose the type systems
internal type info data to the user. if such functionality is required
we should provide wrapped accessors, ala gtk_signal_query().
* gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
since it destroys the possibility to implement automatic marshaller
lookups some day, and it also disables third party code's ability to
connect to any signal. also the GtkTypeInfo structures are dynamically
allocated memory portions, so only the type system is really allowed
to access that stuff.
Mon Dec 7 01:32:18 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
Tab key on the entry. the focus shouldn't get lost even if completion
is attempted from an empty entry, since an empty entry string does
indeed have a valid completion meaning (complete all).
(gtk_file_selection_init): cast the gchar array parameter in calls to
gtk_clist_new_with_titles() to quit compiler warnings.
(check_dir): the no_stat_dirs struct must not be const, since we do
indeed modify its contents.
* gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
hook semantics.
* gtk/gtksignal.h:
* gtk/gtksignal.c:
changed emission allocation, so we don't use a doubly linked list
but link ourselfs (singly linked).
changed emission hooks, they get the emision parameters passed as
well now and are emitted during the actuall signal emission (after
the RUN_FIRST class method, but prior to RUN_FIRST handlers).
the existing restrictions do still apply to signal emission hooks,
i.e. an emission may not be stopped or restarted from an emission hook.
due to possibly huge perfomance impacts, frequent use of emision hooks
is also not recommended.
(gtk_signal_next_and_invalidate): added an
assertments which explicits what the code assumes anyways: a
maximum amount of 65535 signals.
* gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
gtk_container_foreach_full() should be used instead.
* gtk/gtkmain.h:
deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
we provide _full variants.
* gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
gtk_signal_connect_full() for long enough now.
* gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
(gtk_signal_connect_by_type): Allow only no_marshal handlers to
connect to signals with a NULL marshaller.
* gtk/gtktypeutils.c (gtk_type_get_info): New.
gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
Sat Dec 5 21:07:09 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
long-standing typo in aspect ratio computation code.
(pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
Fri Dec 4 01:20:06 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
valid row numbers only
(toggle_row): check if clist_row != NULL
Thu Dec 3 16:49:18 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
from 10 seconds, so it doesn't abort while users
have an ACTION_ASK menu up.
* gtk/gtkdnd.c: Hide the icon window between sending a a
drop event to the destination and displaying the
snapback animation, so that it doesn't hang around
during ACTION_ASK.
Thu Dec 3 16:37:42 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
for the foreground of cells for CLists in the insensitive
state, instead of GTK_STATE_PRELIGHT.
Thu Dec 3 06:20:59 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwindow.c: moved checks upon focus setting from
gtk_window_real_set_focus to gtk_window_set_focus, so we don't
emit the signal if unneccessary.
* gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
containers when grabbing focus on a new widget. this is based on
a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
* gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
flag, so we take the buttons into consideration upon the next focus
request.
* gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
assertment.
Wed Dec 2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkpixmap.c: Fixes for low-color displays and a slight
enhancement for true-color displays.
* INSTALL:
README:
configure.in:
gtk+.spec:
docs/gtk-config.1: up to version 1.1.6
Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
* gtk/gtknotebook.h:
* gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
* incremented version number to 1.1.6 and made Gtk
dependant on GLib 1.1.6.
* gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
from guint16 to gint16, since sizes bigger than 32767 are not supported
anyways, and aritmethics with intermediate negative values are possible
now.
Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkscrolledwindow.c:
implementation of GTK_POLICY_NEVER functionality, added rationales
on the policy and size requisition handling at the top.
(gtk_scrolled_window_size_request):
we assume a default minimum for our child's width and height
if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
specified the dimension explicitely.
(gtk_scrolled_window_size_allocate):
do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
* gtk/gtkviewport.c (gtk_viewport_size_request): report the real
size we require (including the child).
* gtk/gtkclist.c:
(gtk_clist_size_request): report the real size required.
* gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
* gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
need to be a static variable.
Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkclist.c:
* gtk/gtkviewport.h:
* gtk/gtkviewport.c:
* gtk/gtktext.h:
* gtk/gtktext.c:
* gtk/gtklayout.h:
* gtk/gtklayout.c:
* gtk/gtkwidget.h:
* gtk/gtkwidget.c:
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c:
s/scroll_adjustements/scroll_adjustments/
s/scroll_adjustments/set_scroll_adjustments/g
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
row_move.
* gtk/gtkclist.c (gtk_clist_row_move): new public function.
emit a row_move signal
(real_row_move): move source_row to dest_row
(gtk_clist_swap_rows): use gtk_clist_row_move calls.
(gtk_clist_columns_autosize): resize all columns to their optimal
width
* gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
entire sub-tree.
* gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
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.
Mon Nov 30 10:11:29 1998 Tim Janik <timj@gtk.org>
* gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
system specific includes.
* gtk/gtksignal.c: asured that stop and restart emissions are also
checked and processed for not connected objects. fixed up restart
emission administration. invoke emission hooks after emission, hooks
are not supposed to muck around with the current emission, and
may also not cause emission restarts. fixed up stop emission
administration.
Mon Nov 30 06:20:36 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c: added an event watcher for enter/leave based on
signal emission hooks.
* gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
GTK_RUN_NO_HOOKS signal.
* gtk/gtksignal.h:
* gtk/gtksignal.c: implemented emission hooks, new hooks can be added
to a signal with gtk_signal_add_emission_hook or
gtk_signal_add_emission_hook_full, and can be removed again with
gtk_signal_remove_emission_hook.
* gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
an appropriate mask for signal runtypes for a long time now.
added GTK_RUN_NO_HOOKS value, which is used to flag signals
that do not allow the running of signal hooks.
1998-11-26 Michael Krause <m.krause@tu-harburg.de>
* gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
argument a gint: switch_page signal delivers valid page numbers
again.
Sun Nov 29 06:12:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
check, people must use gtk_type_init();
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
for internal use by containers, that want to assign specific composite
names to their composite children.
added gtk_widget_get_composite_name() which will return a newly
allocated string, containing the composite name of a widget. valid
composite names can only be retrived from widgets that have a parent
assigned and are flagged as GTK_COMPOSITE_CHILD.
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c: added a new function
gtk_container_child_default_composite_name() which will return a
newly allocated string, holding the composite name of a containers
child. a default implementation is provided which will compose the
composite name out of the widgets type and its sequential children
id. this implementation can be overidden through a new class function
*(composite_name)().
Sat Nov 28 10:57:59 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
expose_event handler - we had two expose_event
handlers!
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 Nov 28 00:06:49 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
and gtk_widget_unlock_accelerators.
* gtk/gtklayout.h:
* gtk/gtklayout.c: implemented incremental freezing facility.
* gtk/gtktext.h:
* gtk/gtktext.c: implemented incremental freezing facility.
* gtk/gtkenums.h:
* gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
* gtk/gtkentry.h:
* gtk/gtkentry.c:
deprecated gtk_entry_adjust_scroll().
* random GtkType, macro and indentation fixes.
Fri Nov 27 22:50:15 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkclist.c: implemented incremental freezing facility, added
a new class member (*refresh)() which takes over the thaw
functionality. the clist FROZEN flag got removed on the way.
* gtk/gtkctree.c: adaptions to feature the clist refresh functionality
and incremental freezing.
* gtk/gtkcalendar.c: implemented incremental freezing facility.
Fri Nov 27 12:17:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
get the source widget of a drag.
* gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
to restrict certain targets to the same widget or to
the same application.
* gtk/testdnd.c: Test gtk_drag_get_source_widget().
Thu Nov 26 19:11:46 1998 Lars Hamann <lars@gtk.org>
* gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
* gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
instead of GTK_TYPE_POINTER in signal definitions.
(patch from James Henstridge <james@daa.com.au>)
Thu Nov 26 18:48:44 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (set_cell_contents)
* gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
if auto.resize == TRUE
* gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
don't draw tab, if show_tabs == FALSE
(bug reports from Alexis Mikhailov / Dave Cole)
(gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
the focus rectangle, not the hole tab.
Thu Nov 26 03:18:08 1998 Tim Janik <timj@gtk.org>
* gtk/gtkclist.h:
* gtk/gtkctree.h:
* gtk/gtkclist.c:
* gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
* gtk/maketypes.awk: changed underline substitution, so we get
GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
* gtk/makeenums.pl: likewise.
* gtk/gtkctree.c: adapted type names accordingly.
Tue Nov 24 11:31:06 1998 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
* gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
some code duplication.
* gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
and child widgets when scrolling greater than 32k pixels.
* testgtk.c: Modified layout test to test scrolling over
long distances.
* gtk/gtkplug.c: Added a few blank lines.
Tue Nov 24 11:11:05 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtklayout.[ch]: Fixed up copyright message.
* gdk/gdkrgb.c (DM): Make the dither matrix constant
so it can be shared.
* gtk/gtkdnd.c: Make cursor bitmaps const.
* gdk/gdk.h gdk/gdkpixmap.c: Added const to
gdk_pixmap/bitmap_create_from_data.
* gdk/Makefile.am, gtk/Makefile.am:
Removed DEFS "+=" mess that breaks recent automakes.
INCLUDES is the correct way to add to CFLAGS from Makefile.am.
* gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
gtk/testthreads.c:
Include "config.h" instead of "../config.h".
Now that DEFS works again, automake will automatically pass us
the location of config.h in -I.
Mon Nov 23 22:10:09 1998 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
Added layout widget for scrolling arbitrarily big areas.
Added plug/socket widgets for interprocess embedding.
These widgets still, at some point, need to be
made more pure in their use of GDK, as opposed
to raw X.
* gtk/testgtk.c: Added test for layout widget.
* gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
default adjustment (from 0 to 100) instead. I'm not sure if this
is the correct level for the fix, but gtk_progress_bar_new()'s
original default behavior is restored.
-Yosh
1998-11-23 Martin Baulig <martin@home-of-linux.org>
* gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
we can check for latest GTK features.
Mon Nov 23 05:21:50 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.c:
(gtk_container_add_with_args):
(gtk_container_addv):
(gtk_container_add): removed assertements for constructed containers
again, since this essentially breaks the "child" arg.
* gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
reference count, we don't need to reference toplevels that already have
destroy notifiers.
* gtk/gtkscrolledwindow.c: check for the composites existance in
_forall since we might not be already constructed.
Sun Nov 22 16:21:28 1998 Tim Janik <timj@gtk.org>
* gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
::text_yalign, ::activity_mode.
* gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
::activity_blocks.
(gtk_progress_bar_new):
(gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
(gtk_progress_bar_construct): deprecated.
* gtk/gtkvscrollbar.c:
(gtk_vscrollbar_draw_step_back):
(gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
gtk_paint_arrow, to be consistent with hscrollbar.
* gtk/gtktext.c
added construct args ::hadjustment, ::vadjustment.
added args ::line_wrap, ::word_wrap.
(gtk_text_class_init): added scroll_adjustments signal.
(gtk_text_new): use gtk_widget_new.
(gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
so we don't screw the reference counts and don't leave signals connected.
(gtk_text_destroy): disconnect adjustments signals.
(gtk_text_finalize): unref adjustments.
* gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
added args ::indent, ::spacing, ::show_stub, ::reorderable,
::use_drag_icons, ::line_style and ::expander_style.
(gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
deprecated now.
* gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
* gtk/gtkclist.c:
removed ::vadjustment and ::hadjustment args, introduced
::scroll_adjustments signal.
added ::shadow_type, ::selection_mode and ::row_height args.
added n_columns construct arg.
(gtk_clist_construct): call gtk_object_constructed().
(gtk_clist_set_row_height): if height is passed as 0,
revert to automatic height calculation.
(gtk_clist_destroy): before unrefing the adjustments, disconnect our
signal handlers.
Fri Nov 21 22:34:58 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
like gtk_object_new.
(gtk_widget_destroy): assert that we only destroy constructed widgets.
* gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
to identify args that may only be used for construction.
GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
time.
* gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
at the end if the object is not fully constructed.
(gtk_object_newv): likewise.
(gtk_object_destroy): assert that we only destroy constructed objects.
(gtk_object_init): setup GTK_CONSTRUCTED from the
objects real klass.
(gtk_object_default_construct): new function to complete default
construction of an object by applying missing construtor args with
default values of 0, 0.0 or NULL.
(gtk_object_constructed): new function to mark an object as being
constructed (used from within constructors).
* gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
so it is immediatedly available for the caller.
* gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
the object initilizer (GtkObjectInitFunc takes a second arg now, the
real klass), and asure that object initializers may temporarily alter
the class pointer.
Fri Nov 20 08:00:30 1998 Tim Janik <timj@gtk.org>
* gtk/testgtk.c: change all occourances of gtk_container_add (
scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
for widget!=(clist, ctree, text, viewport).
* gtk/gtkcombo.c:
(gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
to add children to the scrolled window.
* gtk/gtkscrolledwindow.h:
* gtk/gtkscrolledwindow.c:
changed scrolled_window->viewport to scrolled_window->child, and use
gtk_widget_scroll_adjustements() to set the scroll adjustments for the
widget, we do not create an additional viewport anymore.
added ::hadjustment and ::vadjustment constructor args.
(gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
(gtk_scrolled_window_set_hadjustment):
(gtk_scrolled_window_set_vadjustment): new functions that superceed
gtk_scrolled_window_construct.
(gtk_scrolled_window_construct): deprecated this function.
* gtk/gtkhscrollbar.c:
* gtk/gtkvscrollbar.c:
* gtk/gtkhscale.c:
* gtk/gtkvscale.c:
support a constructor arg "::adjustment", and use gtk_widget_new() for
the widget creation.
* gtk/gtkrange.c: added ::update_policy arg.
(gtk_range_set_adjustment): if adjustment is passed in as NULL, create
a default adjustment so this function can be used for derived widgets
that depend on the adjustment's existance.
(gtk_range_destroy): disconnect the adjustment signal, so we don't
get called after we got destroyed, we don't destroy the adjustment
in here, because it might have been provided from another widget.
* gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
(gtk_viewport_destroy): same as gtk_range_destroy.
* gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: changed gtk_widget_activate() to return a
gboolean, indicating whether this widget supports activation.
added gtk_widget_scroll_adjustements() to set the scrolling
adjustments of a widget.
Wed Nov 19 01:22:42 1998 Tim Janik <timj@gtk.org>
* gtk/gtkoptionmenu.c:
(gtk_option_menu_remove_contents):
(gtk_option_menu_update_contents): removed
gtk_container_[un]block_resize() pairs.
* gtk/gtknotebook.h:
* gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
wrtie-only argument.
* *.c: made deprecated functions issue a message:
gtk_clist_set_border, gtk_container_block_resize,
gtk_container_unblock_resize, gtk_container_need_resize,
gtk_object_class_add_user_signal, gtk_spin_button_construct,
gtk_scrolled_window_construct.
removed non-functional functions:
gtk_container_disable_resize, gtk_container_enable_resize,
gtk_clist_set_policy.
Wed Nov 18 22:54:36 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbox.c (gtk_box_init):
* gtk/gtkdrawingarea.c (gtk_drawing_area_init):
* gtk/gtkeventbox.c (gtk_event_box_init):
* gtk/gtkfixed.c (gtk_fixed_init):
* gtk/gtkframe.c (gtk_frame_init):
* gtk/gtkhandlebox.c (gtk_handle_box_init):
* gtk/gtkpacker.c (gtk_packer_init):
* gtk/gtkmisc.c (gtk_misc_init):
* gtk/gtkpreview.c (gtk_preview_init):
* gtk/gtkprogress.c (gtk_progress_init):
* gtk/gtkprogressbar.c (gtk_progress_bar_init):
* gtk/gtkseparator.c (gtk_separator_init):
* gtk/gtktable.c (gtk_table_init):
* gtk/gtkviewport.c (gtk_viewport_init):
* gtk/gtkalignment.c (gtk_alignment_init):
removed setting of the GTK_BASIC flag.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c:
removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
* miscellaneous GtkType and macro fixups.
1998-11-21 Andrew T. Veliath <andrewtv@usa.net>
* gtk/gtkhandlebox.[ch]: Add shadow_type and
gtk_handle_box_set_shadow_type function (plus a
GtkHandleBox::shadow arg) to allow configuration of shadow in the
bin window.
Wed Nov 18 11:54:57 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
that are sent to a toplevel but are not within the
toplevels bounds.
* gdk/gdkdnd.c gdk/gdk.h: Added support for a
XdndProxy atom which proxies the drag to another window.
Tue Nov 17 1998 The Rasterman <raster@redhat.com>
* gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
function to correctly determine gdk window position relative to
its "root window" - contains check for an Enlightenment
virtual root window.
* gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
gdk_window_get_deskrelative_origin to get the origin of dragged
handleboxes correctly. Now it works correctly with E.
1998-11-17 Martin Baulig <martin@home-of-linux.org>
* gtk/genmarshal.pl: Put output files in the current directory
and not in the $(srcdir) since the VPATH is ignored for built
sources.
Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
* gtk/gtkpixmap.h
gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
code thanks to GNOME stock by Eckehard Berns. New function
gtk_pixmap_set_build_insensitive to provide ability to turn
this off.
Tue Nov 17 00:06:29 1998 Lars Hamann <lars@gtk.org>
* gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
new guints : tab_hborder, tab_vborder; marked tab_border deprecated
(struct _GtkNotebookPage): new flags : expand, fill, pack
* gtk/gtknotebook.h/c
(gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
tabs
(gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
(gtk_notebook_set_tab_hborder): new function. set tab_hborder
(gtk_notebook_set_tab_vborder): new function. set tab_vborder
(gtk_notebook_query_tab_label): new function. get tab_label widget.
(gtk_notebook_set_tab_label): new function. set tab_label widget.
(gtk_notebook_set_tab_label_text): new function. set tab_label text.
(gtk_notebook_query_menu_label): new function. get tab_label widget.
(gtk_notebook_set_menu_label): new function. set tab_label widget.
(gtk_notebook_set_menu_label_text): new function. set tab_label text.
(gtk_notebook_set_tab_label_packing): new function. set tab_label
fill, expand, fill_type
(gtk_notebook_query_tab_label_packing): new function. get tab_label
fill, expand, fill_type
(gtk_notebook_real_page_position): return logic page number
(gtk_notebook_search_page) search next/prev logic page
(gtk_notebook_update_labels): set logic page number.
(gtk_notebook_page_compare): renamed gtk_notebook_find_page
(gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
(gtk_notebook_button_press) (gtk_notebook_key_press)
(gtk_notebook_focus) (gtk_notebook_pages_allocate)
(gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
use gtk_notebook_search_page
(gtk_notebook_page_allocate): fixed allocation bug
(gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
(gtk_notebook_init): unset GTK_NO_WINDOW flag
(gtk_notebook_size_request): check whether page->child is visible.
changes due to tab h/vborder, homogeneous tabs
(gtk_notebook_paint): don't draw invisible tabs
(gtk_notebook_switch_page): calculate page_num if it's less than 0
(gtk_notebook_append_*) (gtk_notebook_prepend_*)
(gtk_notebook_insert_page): removed sanity checks
* gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
Mon Nov 16 15:10:33 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Optimizations for moving point n
places.
(gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
* gtk/gtkfixed.c: Removed gtk_fixed_umap, which was
broken. (GtkWidget's default unmap handler should work fine).
Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
* gtk/gtkmenubar.[ch]: added shadow_type setting and
gtk_menu_bar_set_shadow_type function to allow shadow
configurability for menubars
* gtk/gtkviewport.h: use GtkShadowType enum instead of generic guint
-Yosh
Mon Nov 16 00:17:53 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.c (gtk_type_new): relookup type node after
class creation and parent class' object initializer.
1998-11-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
have assigned it to the window -- there is no point in keeping it around.
(gtk_paned_unrealize): No need to destroy the cursor here.
* gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
it is not needed.
Fri Nov 13 11:22:38 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
(gtk-blizzard-981005-0.
Christopher Blizzard <blizzard@applied-theory.com)
* gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
gdk_pixmap_foreign_new to gdkx.h.
Fri Nov 13 16:06:48 1998 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am: Added rules to generate an empty
GTK+ theme called "Default" upon installation.
* gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
of fonts and fontsets.
(gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
* gtk/gtkmain.c: Change test to detect glibc's
utf8 based mb* functions to be more specific.
* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
cleanups.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
show event_window
(gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
event_window if draw_indicator is set
(gtk_toggle_button_set_mode):
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
ensure proper type (SunPro cc complains)
* gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
* gtk/gtktogglebutton.c: use our own draw method so we get proper
redraws on active state
-Yosh
1998-11-10 Martin Baulig <baulig@merkur.uni-trier.de>
* gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
we can check for latest GTK features.
Mon Nov 9 00:39:20 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkenums.h : new enum GtkCornerType
* gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
window_placement.
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement):
new method to set window_placement.
(gtk_scrolled_window_viewport_allocate)
(gtk_scrolled_window_size_allocate): few changes due to
window_placement.
* gtk/testgtk.c (remove_selection): fixed while loop.
* gtk/gtkclist.c: check if column[i].button is valid before calling
gtk_widget_intersect on it in gtk_clist_draw
* gtk/gtkdnd.c: removed unused variable empty_bits
* gtk/gtkrc.c: we should use gslist_* functions with GSLists...
* gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
a boolean (thanks to Elrond for noticing this)
-Yosh
1998-11-07 Jay Cox <jaycox@earthlink.net>
* gtk/gtkwindow.c: forward declaration for gtk_window_paint
* gdk/gdkxid.c: declare xid_ht static
* examples/*/Makefile: get the link ordering right.
Fri Nov 6 23:29:40 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
if adjustments are NULL and list size has changed
(gtk_clist_size_request): return real list requsition,
if adjustments are NULL.
(size_allocate_columns): use button->requisition.with, if column
width is not set.
(list_requisition_width): new function. return full list width.
(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
auto create adjustments.
(gtk_clist_motion) (move_vertical) (move_horizontal):
check adjustment != NULL.
Thu Nov 5 16:00:32 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
* gtk/gtkclist.c (gtk_clist_class_init): added new args types
"hadjustment" & "vadjustment"
(gtk_clist_set_arg) (gtk_clist_get_arg): new object class
set/get_arg functions
(gtk_clist_construct): don't create/adjust scrollbars.
(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
to set h/vadjustments
(gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
to query h/vadjustments
(create_scrollbars): removed.
(create_adjustments): replacement for create_scrollbars
(gtk_clist_new): call gtk_clist_new_with_titles
(gtk_clist_new_with_titles): don't warn on titles == NULL
(move_horizontal): use CLAMP instead
(gtk_clist_set_policy): deprecated method.
use gtk_scrolled_window_set_policy instead.
(vadjustment_value_changed): use clist->vadj.
(adjust_scrollbars): renamed to adjust_adjustments
(adjust_adjustments): former adjust_scrollbars
(gtk_clist_destroy): unref adjustments
(gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
(gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
(gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
(gtk_clist_thaw) (real_insert_row) (real_remove_row)
(gtk_clist_set_row_height) (real_resize_column):
call adjust_adjustments
(gtk_clist_moveto): return if clist has no adjustments yet.
(gtk_clist_parent_set): new GtkWidget::parent_set function.
Autogenerate h/vadjustments if needed.
(move_horizontal) (move_vertical): some cleanups
* gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
call only gtk_viewport_set_h/vadjustment and let these functions
do the work.
(gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
generate a new adjustment if needed
* gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
queue_resize if visibility of scrollbars changes
(gtk_scrolled_window_remove): only call container_remove with
scrolled_window->viewport automatically if viewport was autogenerated
(gtk_scrolled_window_add): add widget as scrolled_window->viewport.
auto create a viewport only if widget does not take h/vadjustments.
(gtk_scrolled_window_construct): don't generate a viewport
automatically.
(gtk_scrolled_window_forall): call callback with viewport in any case
(gtk_scrolled_window_set_arg): call gtk_container_add in case of
ARG_VIEWPORT
(gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
(gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
viewport != NULL
* gtk/testgtk.c
(create_ctree) (export_ctree) (create_clist): use a scrolled_window
in conjunction with clists/ctrees
* gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
in conjunction with clists
* gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
in conjunction with clists
Wed Nov 4 21:52:57 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
(gtk_ctree_remove_node): select focus_row if needed
(cell_size_request): only get pixmap size if pixmap != NULL
Sun Nov 1 21:00:06 GMT 1998 Austin Donnelly <austin@greenend.org.uk>
* gtk/gtkoptionmenu.c
* gtk/gtkmenushell.c: make option menus work when some of the
menuitems are hidden - previously, option menu would popup too
high.
* gtk/gtkfeatures.h.in: Remove `#pragma }'.
* gdk/gdki18n.h: Update to use new `glib' widechar defines.
* configure.in (CFLAGS): Don't use test -z "echo .. | grep". Use
case instead.
(wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
(GDK_WLIBS): New variable. Lists extra libraries needed to use
widechar functions.
* gtk-config.in (--libs): List $GDK_WLIBS, too.
Fri Oct 30 20:02:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtklist.c (gtk_list_remove_items_internal):
free undo_un/selection, unselect list_item before disconnect
signal functions
(gtk_list_destroy): removed. gtk_list_shutdown clears the list
already
(gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
(gtk_list_signal_item_toggle) (gtk_list_signal_scroll_horizontal)
(gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
(gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
(gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
(gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
(gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
new functions. These functions are signal connected to inserted
list_items, to handle key bindings and GtkItem::de/select/toggle
signals.
* gtk/gtklistitem.c (gtk_list_item_class_init): added missing
gtk_object_class_add_signals call.
(gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
(gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
(gtk_list_item_start_selection) (gtk_list_item_end_selection)
(gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
(gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
removed. These functions are handled via connected
gtk_list_signal_* functions now
Fri Oct 30 05:24:43 1998 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: cause the built sources to be rebuild when possible,
even with --include-deps:
$(libgtk_la_SOURCES): $(BUILT_SOURCES)
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
gtk_object_data_set_destroy to fit the gtkobject.h API.
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
* gtk/gtkfontsel.h:
* gtk/gtkfontsel.c:
Added support for an extra 'base' filter which an application can
set to restrict the fonts available to the user (e.g. a terminal
program only wants the user to be able to select fixed-width fonts).
The type of font (bitmap/scalable/scaled bitmap) is now
also a part of the filter, so that an application can
request that only scalable fonts are shown.
There are new functions to set the base & user filters.
I've also stopped the up/down key press signals getting
to the clists since the font selection widget handles
them itself. It acted a bit strangely before.
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c (gtk_init): support an environment variable
GTK_MODULES= which takes a colon sperated list of module names
automatically loaded at gtk_init() startup.
Thu Oct 22 02:29:53 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.h: GtkType and macro fixups
* gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
for the file selection widget to try a completion on (set the
initial filter).
Wed Oct 14 14:34:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmain.c: implement idle functions via GHook. this gives a
slight speed improvement and lessens code duplication.
Tue Oct 20 14:53:28 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c: Always send "drag_leave" to dests
without GTK_DEST_DEFAULT_MOTION.
Tue Oct 20 11:55:24 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
on destroyed windows so we clear the XID table properly.
Finish up restructure of return value handling that
was half-done before.
Tue Oct 20 12:57:10 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
the window tree more comprehensively, so that we find
client windows hidden under non-toplevels.
Tue Oct 20 12:43:04 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkselection.c (gtk_selection_data_set):
Maintain the null-termintation guarantee, even when
data = NULL, length = 0. (Warn on data = NULL,
length > 0)
Mon Oct 19 16:41:44 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
into function prototype for drag_data_received.