]> Pileus Git - ~andy/gtk/blobdiff - TODO
Fixes for low-color displays and a slight enhancement for true-color
[~andy/gtk] / TODO
diff --git a/TODO b/TODO
index b6ff825f813f1f7610863ef68d7d48996b0dbdbb..adfc2c6b58139c65853db716506707ea00168949 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,75 +1,34 @@
-For 1.1.0 release:
--      remove gtk_object_data_force_id and gtk_object_data_try_key from
-       gtkobject.c
+For 1.2.0 release:
+-      remove deprecated functions from *.[hc] files.
+-      finish composite child stuff.
+-      implement constructor functionality for all widgets.
        
 Bugs:
- * Scrolled windows (GtkList?) get cought in an endless reallocation loop
-   under certain (rare) circumstances.
-
- * Widget redrawing when the window resizes sometimes messes up.
-   GtkLabels sometimes redraw without clearing up the underlying background on
-   window resizes.
- * 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?
-    -timj
-   The way DND data types are set in GtkWidget really needs to be fixed.
-   This is pretty high on my priority list, and I'll get to it as soon as
-   the column list widget is done.  The correct way dnd data needs to be set
-   is to have a additional keyed data type with GtkWidget, which is applied to
-   the widget's window upon realize.
-   There also needs to be a way to set dnd-data on widget windows which are
-   not the main window (for widgets that create more than one window).
-    -Jay Painter
-   DnD seems to work for me, but yes, there needs to be some sort of
-   gtk_widget layer that makes it easier... Also, adding support for drop
-   zones might be nice.
-    -Elliot
-   This one is reproducabel for me:
-   testgtk --sync
-   popup colorselection
-   drag/drop works
-   start up preview color
-   drag works but not dropping
-   end preview color
-   drag/drop works
-   start up prewiev color
-   segfault in malloc
-    -timj
-
  * Change bitfields to guints from enums, or vice versa?
 
- * Expose events aren't being generated correctly for DND demo
+ * 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.
+ * A filter function which destroys the GDK window it is filtering
+   events on is bad news.
 
 Additions:
- * 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
+ * focus handling for GtkOptionMenu (needs the previous)
+
+ * 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.
 
  * enforce invariants on *_RESIZE* and *_REDRAW* flags.
 
- * asure that child widgets are really get gtk_widget_destroy()ed in their
-   parents destroy handler, and not just unparented or somesuch.
-
  * GtkToolTips:
    allocate GtkTooltipsData from memchunks
    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);
-
- * Should release grab before activating menu item (and remove
-   menu from screen?)
  * Make all widget attributes configurable after the widget is created (timj).
  
  * Widgets dervied from GtkButton need to be able to override
@@ -79,18 +38,10 @@ Additions:
  
  * 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
-   to a menu is a menu item, etc. GTK_BASIC was a first attempt at this,
-   but it fails with subsequent container_add()s. maybe have another
-   GTK_PARENT_BASIC (similar to GTK_PARENT_SENSITIVE) flag, to prevent
-   tree iterations upon every container addition.
-
  * gdk_expose_compress: ala-Xt, this would really help for opaque moves and
    such
 
@@ -102,14 +53,6 @@ Additions:
 
  * More dialogs: Print, GtkFontSelector, maybe others...
 
- * Multiple document interface (MDI)?
-
- * Support another widget style? Should be possible using GtkStyle's, but
-   there may be some work needed to remove any style dependencies in widget
-   code. Maybe GtkStyle's should have 'draw_push_button', 'draw_check_button',
-   etc, functions to draw the various widgets.
-   This will be covered by upcoming themability, raster is working on it.
  * make the gtk_main callbacks consistent in their add/remove behaviour.
  
  * More work on Documentation
@@ -120,7 +63,7 @@ Additions:
    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)
@@ -164,20 +107,12 @@ Additions:
     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.
-
  * 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.
 
- * --g-fatal-warnings flag that does 
-        g_set_warning_handler ((GWarningHandler)g_error);
-
  * 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
@@ -191,29 +126,17 @@ Additions:
  * Generic ScrolledWindow interface, which provide automatic scrollbar
    capability to Viewport, Text, and CList widgets.
 
  GTK_POLICY_NEVER for scrolled windows.
* 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.
 
- * Scrolled windows need to be smarter about when they size-request/allocate
-   their children. In particular, we should not be queuing the resizes
-   on the toplevel window, but on the Viewport.
-
  * 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.
 
- * Fix block_resize, disable_resize.
-
- * Buttons's should derive from Bin's. (GTK 2.0 change, breaks
-   lots of stuff)
-
- * New signals to handle accelerators: accel_before and accel_after (or
-   somesuch) to pre and post process accelerator calls. [Yosh]
-
 Text/Edit widget:
 
   Bugs:
@@ -285,3 +208,63 @@ Text/Edit widget:
 
   - "changed" emitted when doing deletes on empty Text widget.
 
+  - Delete IC in editable->unrealize, not editable->finalize?
+
+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.
+
+=======
+
+Calendar Widget:
+
+ - The widget should be nicely resizeable vertical too.
+
+ - 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.
+
+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)
+