]> Pileus Git - ~andy/gtk/blob - TODO
gtk/gtkentry.[ch] gtktext.c gtkeditable.[ch]
[~andy/gtk] / TODO
1 TODO BEFORE GTK 1.0
2 -------------------
3
4 Bugs:
5  * Vertical scrollbar: the expose event looks hosed and is causing 
6    quite a bit of flickering
7    Actually this affects both scrollbar implementation, you can best
8    tell if you run the application with --sync (timj)
9
10  * signal parameters don't seem to get refreshed on recursive invokations
11    of GTK_NO_RECURSE signals, which causes the restarted emissions to loose
12    their actual point, i.e. parameter changes on the restarted emission,
13    needs further investigation.
14
15  * the GtkText widget needs to be fixed, that means no segfaults, full editing
16    facilities, omit the background pixmap for now.
17
18  * Widget redrawing when the window resizes sometimes messes up.
19    GtkLabels sometimes redraw without clearing up the underlying background on
20    window resizes.
21  
22  * Are there still some GtkCList changes outstanding? (Jay Painter)
23    GtkCList is derived from GtkContainer but doesn't implement the
24    need_resize, focus, add and remove methods from containers.
25    it should at least issue a warning upon invokation of not supported
26    member functions.
27
28  * GtkTree and GtkList should express in their *_add implementations,
29    that they expect GtkListItems/GtkTreeItems as children. Similar
30    things might apply to other containers.
31
32  * delay dnd settings to take effect once a widget is realized, this is
33    to avoid force realizations. i think this goes along with owens dnd
34    changes?
35     -timj
36    The way DND data types are set in GtkWidget really needs to be fixed.
37    This is pretty high on my priority list, and I'll get to it as soon as
38    the column list widget is done.  The correct way dnd data needs to be set
39    is to have a additional keyed data type with GtkWidget, which is applied to
40    the widget's window upon realize.
41    There also needs to be a way to set dnd-data on widget windows which are
42    not the main window (for widgets that create more than one window).
43     -Jay Painter
44    DnD seems to work for me, but yes, there needs to be some sort of
45    gtk_widget layer that makes it easier... Also, adding support for drop
46    zones might be nice.
47     -Elliot
48    This one is reproducabel for me:
49    testgtk --sync
50    popup colorselection
51    drag/drop works
52    start up preview color
53    drag works but not dropping
54    end preview color
55    drag/drop works
56    start up prewiev color
57    segfault in malloc
58     -timj
59
60  * Change bitfields to guints from enums for C++ ?
61
62 Additions:
63  * it might be good to ues stdio and getch() instead of 1-character reads.
64    so one can take advantage of buffering. Currently each read() takes a separate
65    syscall.
66    
67  * implement gtk_default_draw_oval
68  
69  * Lists should scroll to center the recently selected item if it isn't
70    visible.
71
72  * enforce invariants on *_RESIZE* and *_REDRAW* flags.
73
74  * asure that child widgets are really get gtk_widget_destroy()ed in their
75    parents destroy handler, and not just unparented or somesuch.
76
77  * GtkToolTips:
78    allocate GtkTooltipsData from memchunks
79    look into incorporation of old/gtk-dairiki-971208-[01].patch.gz
80                           
81  * Make widget attributes configurable after the widget is created (timj).
82
83  * Change gtk_widget_propagate_default_style() mechanism to
84    void gtk_rc_string_export (const gchar *rc_additions,
85                               gboolean     override_rc_styles);
86  
87
88 TODO AFTER GTK 1.0
89 ------------------
90
91  * Make all widget attributes configurable after the widget is created (timj).
92  
93  * Make sure a widget added to a list is a list item and a widget added
94    to a menu is a menu item, etc. GTK_BASIC was a first attempt at this,
95    but it fails with subsequent container_add()s. maybe have another
96    GTK_PARENT_BASIC (similar to GTK_PARENT_SENSITIVE) flag, to prevent
97    tree iterations upon every container addition.
98
99  * gdk_expose_compress: ala-Xt, this would really help for opaque moves and
100    such
101
102  * Entry should have a password mode (and it should show stars
103    for user feedback).
104
105  * More dialogs? Print, GtkFontSelector, maybe others...
106
107  * Multiple document interface (MDI)?
108
109  * Support another widget style? Should be possible using GtkStyle's, but
110    there may be some work needed to remove any style dependencies in widget
111    code. Maybe GtkStyle's should have 'draw_push_button', 'draw_check_button',
112    etc, functions to draw the various widgets.
113    This will be covered by upcoming themability, raster is working on it.
114  
115  * More work on Documentation
116
117  * Check return values on all calls to XIC[Get/Set]Values
118
119  * Rewrite the interface to the i18n stuff so GTK widgets don't need to
120    retrieve X values, and so they don't have to know the value of the
121    XNxxx character constants.
122
123  * The "-geometry" option should be supported
124
125   - Having gdk_init() parse the geometry option. (putting it into
126     GDK means you can use XParseGeometry() without wrapping it)
127
128   - Add a call gdk_get_geometry() that retrieves the results 
129     in a form like that returned by XParseGeometry()
130
131   - The application then can modify the results (as would gemvt)
132     then call a routine gtk_window_set_geometry() on whatever
133     it considers to be its main window.
134
135   - Then in some manner GtkWindow takes that into account when
136     setting its hints. (Probably it uses the size and position
137     as the current uposition and usize, and modulates that
138     be the equivalents of the X flags
139
140      XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative
141
142     ( You'd have to extend gdk_window_set_hints to accept the
143       window gravity option to get it right. )
144