deleted most of the argument handling code, since that is now implemented
Fri Jul 10 00:02:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c: deleted most of the argument handling code, since
that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
we now export a new function gtk_container_child_args_collect().
for consistency with the object arguments, a few functions got renamed:
gtk_container_child_arg_get -> gtk_container_child_get,
gtk_container_child_arg_set -> gtk_container_child_set,
gtk_container_child_arg_getv -> gtk_container_child_getv,
gtk_container_child_arg_setv -> gtk_container_child_setv,
gtk_container_add_with_argv -> gtk_container_addv.
note, gtk_container_add_with_args() remained, because its equivalent
would be gtk_container_add(,, ...) which would break all existing code.
(gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
we expect the `arg_name' argument to be a const static string now.
(gtk_container_get_child_arg_type): function removed.
Thu Jul 9 07:03:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
this is a static inline function that collects command line arguments
from a va_list. this file can just be included in all places that
need this functionality.
* gtk/gtkarg.h:
* gtk/gtkarg.c: new files which implement most of the argument
handling stuff from gtkobject.c. also collected a few more
gtk_arg_* utility functions from else places.
* gtk/gtkobject.h:
* gtk/gtkobject.c: moved most of the argument handling code into
gtkarg.c. we now export gtk_object_args_collect() as a non-public
method with a blind va_list pointer.
(gtk_object_add_arg_type): the `arg_name' argument is required to be a
const static string now.
(gtk_object_get_arg_type): function got removed.
* gtk/gtkwidget.c:
(gtk_widget_set):
(gtk_widget_new): adaptions for gtk_object_args_collect().
* gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
fundamental type name so as to have a valid prefix, e.g. "bool"->
"gboolean", "string"->"GtkString" and somesuch, left "void" as is,
though that should probably be something like GtkNone since the
type itself is called GTK_TYPE_NONE.
even the internal type names need to avoid name clashes and must live
in their own namespace, several code portions rely on that.
we should relly have typedefs such as typedef gchar* GtkString; so the
fundamental type names can be used for code dumpers just like with all
the Gtk/Gdk types.
1998-07-09 23:00:34 +00:00
|
|
|
For 1.2.0 release:
|
1998-11-23 02:30:45 +00:00
|
|
|
- remove deprecated functions from *.[hc] files.
|
|
|
|
- finish composite child stuff.
|
|
|
|
- implement constructor functionality for all widgets.
|
1998-05-11 00:48:44 +00:00
|
|
|
|
1998-02-23 11:14:27 +00:00
|
|
|
Bugs:
|
1998-10-10 01:55:09 +00:00
|
|
|
* Change bitfields to guints from enums, or vice versa?
|
|
|
|
|
|
|
|
* MappingNotify events produce warnings.
|
|
|
|
|
|
|
|
* the type system (gtktypeutils.c) has to handle creations of fundamental
|
|
|
|
types seperatedly from derived types, so we don't screw foreign
|
|
|
|
fundamental types with an already extensively increased seqno.
|
1998-02-23 11:14:27 +00:00
|
|
|
|
1998-11-06 22:05:02 +00:00
|
|
|
* A filter function which destroys the GDK window it is filtering
|
|
|
|
events on is bad news.
|
1998-02-23 11:14:27 +00:00
|
|
|
|
|
|
|
Additions:
|
1998-06-16 07:39:06 +00:00
|
|
|
* focus handling for GtkOptionMenu (needs the previous)
|
|
|
|
|
1998-06-30 20:31:00 +00:00
|
|
|
* implement gtk_default_draw_oval and other missing things in gtkstyle.c.
|
1998-02-27 16:31:06 +00:00
|
|
|
|
1997-12-16 17:50:29 +00:00
|
|
|
* Lists should scroll to center the recently selected item if it isn't
|
1997-11-24 22:37:52 +00:00
|
|
|
visible.
|
|
|
|
|
1998-02-23 11:14:27 +00:00
|
|
|
* enforce invariants on *_RESIZE* and *_REDRAW* flags.
|
1997-12-16 17:50:29 +00:00
|
|
|
|
1998-02-23 11:14:27 +00:00
|
|
|
* GtkToolTips:
|
|
|
|
allocate GtkTooltipsData from memchunks
|
1998-03-08 03:32:05 +00:00
|
|
|
look into incorporation of outdated/gtk-dairiki-971208-[01].patch.gz
|
1998-02-23 11:14:27 +00:00
|
|
|
|
|
|
|
* Make all widget attributes configurable after the widget is created (timj).
|
1998-03-26 21:57:45 +00:00
|
|
|
|
|
|
|
* Widgets dervied from GtkButton need to be able to override
|
|
|
|
GtkButtonClass.paint. e.g. redrawing of GtkToggleButton with CAN_DEFAULT
|
|
|
|
is messed up otheriwse. This does in fact not only apply to (toggle)buttons,
|
|
|
|
we should introduce a common paint member for the GtkWidgetClass.
|
|
|
|
|
|
|
|
* Radio buttons need to display CAN/HAS_DEFAULT correctly.
|
1998-03-01 17:11:06 +00:00
|
|
|
|
1998-06-30 20:31:00 +00:00
|
|
|
* Seperate GtkObject, type and signaling system from Gdk dependancies,
|
|
|
|
by moving them into a seperate libgtkobj.
|
1998-03-01 17:11:06 +00:00
|
|
|
* move *_input_add (wrappers for select(2)) mechanism into glib.
|
|
|
|
|
1997-12-16 17:50:29 +00:00
|
|
|
* gdk_expose_compress: ala-Xt, this would really help for opaque moves and
|
|
|
|
such
|
|
|
|
|
|
|
|
* Entry should have a password mode (and it should show stars
|
1998-02-23 11:14:27 +00:00
|
|
|
for user feedback).
|
|
|
|
|
1998-04-07 23:59:25 +00:00
|
|
|
* Entry should allow set_usize to work better, and should compute
|
|
|
|
a different width when a maximum length is used.
|
|
|
|
|
1998-03-08 03:32:05 +00:00
|
|
|
* More dialogs: Print, GtkFontSelector, maybe others...
|
1998-02-23 11:14:27 +00:00
|
|
|
|
1998-03-01 17:11:06 +00:00
|
|
|
* make the gtk_main callbacks consistent in their add/remove behaviour.
|
|
|
|
|
1998-02-23 11:14:27 +00:00
|
|
|
* More work on Documentation
|
1998-03-01 05:11:05 +00:00
|
|
|
|
|
|
|
* Check return values on all calls to XIC[Get/Set]Values
|
|
|
|
|
|
|
|
* Rewrite the interface to the i18n stuff so GTK widgets don't need to
|
|
|
|
retrieve X values, and so they don't have to know the value of the
|
|
|
|
XNxxx character constants.
|
|
|
|
|
1998-06-30 20:31:00 +00:00
|
|
|
* The "--geometry" option should be supported
|
1998-03-01 05:11:05 +00:00
|
|
|
|
|
|
|
- Having gdk_init() parse the geometry option. (putting it into
|
|
|
|
GDK means you can use XParseGeometry() without wrapping it)
|
|
|
|
|
|
|
|
- Add a call gdk_get_geometry() that retrieves the results
|
|
|
|
in a form like that returned by XParseGeometry()
|
|
|
|
|
|
|
|
- The application then can modify the results (as would gemvt)
|
|
|
|
then call a routine gtk_window_set_geometry() on whatever
|
|
|
|
it considers to be its main window.
|
|
|
|
|
|
|
|
- Then in some manner GtkWindow takes that into account when
|
|
|
|
setting its hints. (Probably it uses the size and position
|
|
|
|
as the current uposition and usize, and modulates that
|
|
|
|
be the equivalents of the X flags
|
|
|
|
|
|
|
|
XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative
|
|
|
|
|
|
|
|
( You'd have to extend gdk_window_set_hints to accept the
|
|
|
|
window gravity option to get it right. )
|
|
|
|
|
1998-04-10 04:32:15 +00:00
|
|
|
? Allow moving the separator for paned widgets by dragging
|
|
|
|
it directly instead of using the handle.
|
|
|
|
|
|
|
|
? Mark public use of gtk_tree_remove_item as deprecated - it should be used
|
|
|
|
as:
|
|
|
|
gtk_container_remove (GTK_CONTAINER(tree), widget);
|
|
|
|
|
|
|
|
* Standardize that all strings should be passed as gchar *, not
|
|
|
|
guchar *. But what about non-string data? (gdk_property_change,
|
|
|
|
gtk_selection_data_set) X makes these sort of things guchar...
|
|
|
|
|
|
|
|
* Check into XAddConnectionWatch - is this needed for XIM?
|
|
|
|
|
|
|
|
* Places where a _full variant is needed:
|
|
|
|
|
|
|
|
gtk_clist_set_row_data
|
|
|
|
gtk_init_add
|
|
|
|
gtk_menu_popup
|
|
|
|
gtk_toolbar_prepend_element
|
|
|
|
gtk_toolbar_insert_element
|
|
|
|
gtk_widget_dnd_data_set (should be guchar * with a copy?
|
|
|
|
shouldn't be there at all...)
|
|
|
|
|
|
|
|
* Try to rationally deal with someone else deleting one of our
|
|
|
|
windows??? This would mean keeping track of our window heirarchy
|
|
|
|
ourselves, for one thing, and will never be safe, because of
|
|
|
|
race conditions.
|
|
|
|
|
|
|
|
* If a window spontaneously resizes itself N times before any
|
|
|
|
ConfigureNotify events are received, then due to the interaction
|
|
|
|
of the ConfigureNotify compression code in GDK and the resize
|
|
|
|
count used for the window, the window will be size_allocated
|
|
|
|
the next N-1 times it is moved.
|
|
|
|
|
|
|
|
Fix: Only send GDK_EVENT_CONFIGURE when the window is resized,
|
|
|
|
create a new event type for toplevel motion. (GDK_EVENT_REPOSITION?)
|
|
|
|
and eliminate the resize count in GtkWindow.
|
|
|
|
|
|
|
|
* Generic ScrolledWindow interface, which provide automatic scrollbar
|
|
|
|
capability to Viewport, Text, and CList widgets.
|
|
|
|
|
1998-06-30 20:31:00 +00:00
|
|
|
* GTK_POLICY_NEVER for scrolled windows.
|
1998-04-10 04:32:15 +00:00
|
|
|
|
|
|
|
* Consider caching more state in GdkWindowPrivate. Currently,
|
|
|
|
every widget realization involves a XGetGeometry and a
|
|
|
|
XGetWindowAttributes. And every GdkWindow destruction
|
|
|
|
involves a XQueryTree.
|
|
|
|
|
1998-04-13 00:20:17 +00:00
|
|
|
* Should all the default handlers really return FALSE? This can
|
|
|
|
cause confusing presses to be sent to containers that actually
|
|
|
|
want to get events on themselves.
|
|
|
|
|
1998-04-10 04:32:15 +00:00
|
|
|
Text/Edit widget:
|
1998-03-01 08:47:36 +00:00
|
|
|
|
|
|
|
Bugs:
|
|
|
|
|
1998-04-10 04:32:15 +00:00
|
|
|
- Really big font (150 pt), plus lots of editing caused segfault
|
1998-03-01 08:47:36 +00:00
|
|
|
|
|
|
|
Improvements:
|
|
|
|
|
|
|
|
- Unify the key binding support in some fashion between the
|
1998-03-10 03:17:02 +00:00
|
|
|
Entry and Text widget widgets (???)
|
1998-03-01 08:47:36 +00:00
|
|
|
|
1998-03-10 03:17:02 +00:00
|
|
|
- Figure out a way not to recompute the geometry on insertions/deletions
|
|
|
|
which are large, but not a significant fraction of the
|
|
|
|
entire text. (e.g., compute the changes as when the widget
|
|
|
|
is not frozen, but without the actual scrolling)
|
1998-03-01 08:47:36 +00:00
|
|
|
|
|
|
|
- Prune the line start cache. But since it is only 68 bytes
|
|
|
|
per line, and it is a lot faster when lines are in the cache,
|
|
|
|
it may be better not to, at least for now.
|
|
|
|
|
|
|
|
- Show the non-editable state by changing colors. (Use the
|
|
|
|
style entries for insensitive?)
|
|
|
|
|
|
|
|
- Multibyte support for the Text widget.
|
|
|
|
|
|
|
|
- Unicode support to do the multi-byte right.
|
|
|
|
|
|
|
|
- Support an .inputrc. (The readline one doesn't really work,
|
|
|
|
unless it is extended because it can't represent X keysyms,
|
|
|
|
just terminal type input)
|
|
|
|
|
|
|
|
- A vi mode
|
|
|
|
|
|
|
|
- Word wrap, instead of line folding. (Should the continuation
|
|
|
|
characters be shown?)
|
|
|
|
|
|
|
|
- Horizontal scrolling
|
1998-03-05 06:32:42 +00:00
|
|
|
|
|
|
|
- Disable pasting compound text
|
|
|
|
|
1998-03-08 21:47:14 +00:00
|
|
|
- When showing background pixmap (not editable) actually set
|
|
|
|
the background pixmap as the windows bg pixmap, to improve
|
|
|
|
appearance on exposes. But this would require using another
|
|
|
|
window to get the origins.
|
|
|
|
|
1998-03-23 06:48:22 +00:00
|
|
|
- In word wrap mode, break:
|
|
|
|
|
1998-03-27 05:17:11 +00:00
|
|
|
aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
|
|
|
|
|
|
as:
|
1998-04-07 23:59:25 +00:00
|
|
|
| Maximum column
|
1998-03-27 05:17:11 +00:00
|
|
|
aaaaaaaaaaa bbbbbbbbbbb|
|
|
|
|
bbbbbbbbbbbbbbbbbbbbbbb|
|
|
|
|
bbbbbbbbb |
|
|
|
|
|
|
|
|
Instead of:
|
1998-04-07 23:59:25 +00:00
|
|
|
|
|
1998-03-27 05:17:11 +00:00
|
|
|
aaaaaaaaaaa |
|
|
|
|
bbbbbbbbbbbbbbbbbbbbbbb|
|
|
|
|
bbbbbbbbbbbbbbbbbbbb |
|
|
|
|
|
|
|
|
- Blinking cursor
|
|
|
|
|
|
|
|
- API's : gtk_text_clear, gtk_text_delete_lines (gint start, gint end),
|
|
|
|
gtk_text_append/prepend, gtk_text_insert_at (gint row, gint column),
|
|
|
|
some function to get the row/column from the x/y-coordinates of a
|
|
|
|
mouse click, some function to get the word/line under the mouse pointer
|
|
|
|
[ From: Stefan Jeske <jeske@braunschweig.netsurf.de> ]
|
1998-03-23 06:48:22 +00:00
|
|
|
|
1998-04-07 23:59:25 +00:00
|
|
|
- "changed" emitted when doing deletes on empty Text widget.
|
1998-08-25 00:06:38 +00:00
|
|
|
|
1998-09-12 14:41:04 +00:00
|
|
|
- Delete IC in editable->unrealize, not editable->finalize?
|
1998-09-27 18:32:00 +00:00
|
|
|
|
1998-11-06 22:05:02 +00:00
|
|
|
Themes
|
|
|
|
======
|
|
|
|
|
|
|
|
- When a scale gets shown/hidden only queue a redraw on the
|
|
|
|
non-window portion, not the whole area.
|
|
|
|
|
|
|
|
- In various places, to avoid shaping windows excessively,
|
|
|
|
we set parent relative backgrounds. This is an ugly
|
|
|
|
hack and needs a better solution. Plus, I don't think
|
|
|
|
these parent-relative backgrounds always persist to
|
|
|
|
when they are actually needed.
|
|
|
|
|
|
|
|
Such calls exist in: GtkButton, GtkHandeBox, GtkItem,
|
|
|
|
GtkListItem, GtkMenu, GtkMenuItem, GtkMisc,
|
|
|
|
GtkNoteBook, GtkOptionMenu, GtkPaned, GtkPreview,
|
|
|
|
GtkSpinButton and GtkTreeItem.
|
|
|
|
|
|
|
|
- For menus and for GtkWindow's, the realize() function
|
|
|
|
calls paint(), so that background pixmaps can be set
|
|
|
|
ahead of time, and prevent flashing when the window is
|
|
|
|
shown. This is an ugly hack and needs a better solution.
|
|
|
|
|
|
|
|
=======
|
|
|
|
|
1998-09-27 18:32:00 +00:00
|
|
|
Calendar Widget:
|
|
|
|
|
1998-11-06 22:05:02 +00:00
|
|
|
- The widget should be nicely resizeable vertical too.
|
1998-09-27 18:32:00 +00:00
|
|
|
|
|
|
|
- CALENDAR_MARGIN should be removed, uses INNER_BORDER and
|
|
|
|
style->class->[xy]thickness insted.
|
|
|
|
|
|
|
|
- Flag to choose between using standard three letter abbreviated
|
|
|
|
weekday name or just the first character from it. It looks like
|
|
|
|
that is what most other calendar-widgets do.
|
|
|
|
|
|
|
|
- Arrows should resize with the header-font.
|
|
|
|
|
|
|
|
- The keyboard support has to be finished.
|
|
|
|
|
Added a modular client-message-filter mechanism, that is used for the DND
Sun Oct 18 18:16:39 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
mechanism, that is used for the DND messages.
Removed all the old DND code.
* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
get the visual of a given colormap.
* gtk/gtkcolorsel.c: Conversion to new DND, drag
a color-swatch.
* gdk/gdk.h gdk/gdkdnd.c: The low-level
X oriented portions of drag and drop protocols.
Sending and receiving client messages, and navigating
window trees.
* gdk/gdkimage.c: added a gdk_flush() when destroying
SHM images to hopefully make it more likely that
X will gracefully handle the segment being destroyed.
* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
DND debugging flags.
* gtk/gtkeditable.[ch]: Updates for the selection handling
changes.
* gtk/gtkselection.[ch]: Added GtkTargetList, a
refcounted data structure for keeping track of lists
of GdkAtom + information. Removed selection_handler_add
in favor of a "drag_data_get" signal.
* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
dependent) parts of the DND protocols, display of drag icons,
drag-under highlighting, and the "default handlers".
* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
windows that are used for reliable pointer grabs and
selection handling in the DND code.
* gtk/testdnd.c: New test program for new DND. (Old
DND tests in testgtk still need to be converted.)
* gtk/testselection.c: Use the new selection API.
* docs/dnd_internals: Start at describing how
all the new code works inside.
* docs/Changes-1.2.txt: New file describing source-incompatible
changes in GTK+-1.2.
Sat Oct 17 22:50:34 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkwindow.c (gdk_window_remove_filter): Free
the right list node.
* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
to the XID table so we can receive events on it.
Wed Oct 14 12:57:40 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
to get the timestamp from a generic event.
Fri Oct 9 13:16:04 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_add_events): Added function
that safely adds additional events to a widget's event
mask, even if the widget has previously been realized.
(We can do this, but not remove events from the event
mask).
Fri Oct 2 17:35:35 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
for AnyPropertyType.
Fri Oct 2 10:32:21 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
hashing.
Thu Sep 24 20:33:54 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
isn't a timestamp.
Thu Sep 17 14:23:03 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_translate): Removed printing
of unknown window lookup warnings. (Made it
a GDK_NOTE) - they happen in many circumstances.
1998-10-18 22:51:24 +00:00
|
|
|
DND
|
|
|
|
===
|
|
|
|
|
|
|
|
- Use a cursor instead of an ICON when over Motif windows,
|
|
|
|
to get rid of the current junk that Motif leaves because
|
|
|
|
of it's XCopyArea stupidity for doing highlighting.
|
|
|
|
|
|
|
|
- Add a GTK_DRAG_VERIFY target flag and a "drag_data_verify"
|
|
|
|
signal so that apps can easily check if a, say,
|
|
|
|
text/uri-list URL looks OK during the drop.
|
|
|
|
|
|
|
|
- Check more for memory leaks.
|
|
|
|
|
|
|
|
- Drag and drop for Entry and Text widgets.
|
|
|
|
|
|
|
|
- Send synthetic motion events on structure changes so
|
|
|
|
drag_enter/leave get sent properly. (See the popup
|
|
|
|
in testdnd)
|
1998-11-06 22:05:02 +00:00
|
|
|
|