-TODO BEFORE GTK 1.0
--------------------
+For 1.1.0 release:
+For 1.2.0 release:
+- remove deprecated functions from *.[hc] files, especially the
+ non-functional ones.
+
Bugs:
- * Vertical scrollbar: the expose event looks hosed and is causing
- quite a bit of flickering
- Actually this affects both scrollbar implementation, you can best
- tell if you run the application with --sync (timj)
-
- * remove gtk_tree_item_idle_hack from gtktreeitem.c.
-
- * signal parameters don't seem to get refreshed on recursive invokations
- of GTK_NO_RECURSE signals, which causes the restarted emissions to loose
- their actual point, i.e. parameter changes on the restarted emission,
- needs further investigation.
-
- * the GtkText widget needs to be fixed, that means no segfaults, full editing
- facilities, omit the background pixmap for now.
-
* Widget redrawing when the window resizes sometimes messes up.
GtkLabels sometimes redraw without clearing up the underlying background on
window resizes.
- * Are there still some GtkCList changes outstanding? (Jay Painter)
- GtkCList is derived from GtkContainer but doesn't implement the
- need_resize, focus, add and remove methods from containers.
- it should at least issue a warning upon invokation of not supported
- member functions.
-
- * GtkTree and GtkList should express in their *_add implementations,
- that they expect GtkListItems/GtkTreeItems as children. Similar
- things might apply to other containers.
-
* delay dnd settings to take effect once a widget is realized, this is
to avoid force realizations. i think this goes along with owens dnd
changes?
segfault in malloc
-timj
- * Change bitfields to guints from enums for C++ ?
+ * Change bitfields to guints from enums, or vice versa?
- * Force paned window handle to be kept on screen
+ * Expose events aren't being generated correctly for DND demo
Additions:
- * it might be good to ues stdio and getch() instead of 1-character reads.
- so one can take advantage of buffering. Currently each read() takes a separate
- syscall.
+ * implement keyboard navigation in menus
+
+ * focus handling for GtkOptionMenu (needs the previous)
+
+ * GScanner: it might be good to ues stdio and getch() instead of 1-character
+ reads. so one can take advantage of buffering. Currently each read() takes
+ a separate syscall.
- * implement gtk_default_draw_oval
+ * implement gtk_default_draw_oval and other missing things in gtkstyle.c.
* Lists should scroll to center the recently selected item if it isn't
visible.
* GtkToolTips:
allocate GtkTooltipsData from memchunks
- look into incorporation of old/gtk-dairiki-971208-[01].patch.gz
+ look into incorporation of outdated/gtk-dairiki-971208-[01].patch.gz
- * Make widget attributes configurable after the widget is created (timj).
-
* Change gtk_widget_propagate_default_style() mechanism to
void gtk_rc_string_export (const gchar *rc_additions,
gboolean override_rc_styles);
-
-TODO AFTER GTK 1.0
-------------------
* Make all widget attributes configurable after the widget is created (timj).
+
+ * 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.
+
+ * GtkCList improvements. (Jay Painter)
- * Seperate GtkObject and signaling system from Gdk dependancies?
-
+ * Seperate GtkObject, type and signaling system from Gdk dependancies,
+ by moving them into a seperate libgtkobj.
* move *_input_add (wrappers for select(2)) mechanism into glib.
* Make sure a widget added to a list is a list item and a widget added
* Entry should have a password mode (and it should show stars
for user feedback).
- * More dialogs? Print, GtkFontSelector, maybe others...
+ * Entry should allow set_usize to work better, and should compute
+ a different width when a maximum length is used.
+
+ * More dialogs: Print, GtkFontSelector, maybe others...
* Multiple document interface (MDI)?
retrieve X values, and so they don't have to know the value of the
XNxxx character constants.
- * The "-geometry" option should be supported
+ * The "--geometry" option should be supported
- Having gdk_init() parse the geometry option. (putting it into
GDK means you can use XParseGeometry() without wrapping it)
( You'd have to extend gdk_window_set_hints to accept the
window gravity option to get it right. )
- * Text/Edit widget: (some of these might be bugs that should be fixed now)
+ ? Allow moving the separator for paned widgets by dragging
+ it directly instead of using the handle.
- Bugs:
+ ? Mark public use of gtk_tree_remove_item as deprecated - it should be used
+ as:
+ gtk_container_remove (GTK_CONTAINER(tree), widget);
- - In Entry and Text widget, you can ungrab while still
- dragging by pressing button-1, pressing button 3, releaseing 3,
- then releasing 1.
+ * 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...
- - When selecting on a Text or Entry widget, the selection isn't
- claimed until you release the button, and that shows by the
- color of the selection. (Which is the real problem - it probably
- is OK/better to delay claiming the selection)
+ * Check into XAddConnectionWatch - is this needed for XIM?
- - Related to the above, when you Shift/arrow to select text, the
- selected text doesn't show that you have the selection immediately.
+ * Places where a _full variant is needed:
- - Selecting an entire line with triple-click doesn't work write -
- it should select the wrapped portion too.
+ 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...)
+ ??? GtkDrawingarea.draw_data
+
+ * gtk_rc_add_[name/class]_style are broken for bg pixmaps, because
+ styles are broken for bg pixmaps, and RC styles only hack around
+ that.
- - Selecting an entire line should probably select the newline as
- well, so when the selection is cut/deleted, the newline goes
- along.
+ * 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.
- - Do something about the bg pixmap situation. (It will produce
- garbage when editing is enabled)
+ * --g-fatal-warnings flag that does
+ g_set_warning_handler ((GWarningHandler)g_error);
- Improvements:
+ * 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.
- - Finish making the key bindings consistent between the Entry
- and Text widgets
+ 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.
- - Unify the key binding support in some fashion between the
- two widgets (???)
+ * Generic ScrolledWindow interface, which provide automatic scrollbar
+ capability to Viewport, Text, and CList widgets.
+
+ * GTK_POLICY_NEVER for scrolled windows.
+
+ * Consider caching more state in GdkWindowPrivate. Currently,
+ every widget realization involves a XGetGeometry and a
+ XGetWindowAttributes. And every GdkWindow destruction
+ involves a XQueryTree.
+
+ * 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.
+
+ * New signals to handle accelerators: accel_before and accel_after (or
+ somesuch) to pre and post process accelerator calls. [Yosh]
+
+Text/Edit widget:
+
+ Bugs:
+
+ - Really big font (150 pt), plus lots of editing caused segfault
+
+ Improvements:
- - When inserting or deleting large chunks of text, do a freeze/thaw
- automatically, to avoid scrolling around for ever on screen.
+ - Unify the key binding support in some fashion between the
+ Entry and Text widget widgets (???)
- - Jump scroll on large insertions/deletions
+ - 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)
- 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,
- Disable pasting compound text
- ? Allow moving the separator for paned widgets by dragging
- it directly instead of using the handle.
+ - 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.
- ? Mark public use of gtk_tree_remove_item as deprecated - it should be used
- as:
- gtk_container_remove (GTK_CONTAINER(tree), widget);
+ - In word wrap mode, break:
- * 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...
+ aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- * Check into XAddConnectionWatch - is this needed for XIM?
+ as:
+ | Maximum column
+ aaaaaaaaaaa bbbbbbbbbbb|
+ bbbbbbbbbbbbbbbbbbbbbbb|
+ bbbbbbbbb |
- * Places where a _full variant is needed:
+ Instead of:
+ |
+ aaaaaaaaaaa |
+ bbbbbbbbbbbbbbbbbbbbbbb|
+ bbbbbbbbbbbbbbbbbbbb |
- 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...)
- ??? GtkDrawingarea.draw_data
\ No newline at end of file
+ - 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> ]
+
+ - "changed" emitted when doing deletes on empty Text widget.