2 - remove deprecated functions from *.[hc] files.
3 - finish composite child stuff.
4 - implement constructor functionality for all widgets.
5 - fix enum generation code which still puts out
6 GTK_TYPE_C_TREE_POS instead of GTK_TYPE_CTREE_POS
9 * Change bitfields to guints from enums, or vice versa?
11 * MappingNotify events produce warnings.
13 * the type system (gtktypeutils.c) has to handle creations of fundamental
14 types seperatedly from derived types, so we don't screw foreign
15 fundamental types with an already extensively increased seqno.
17 * A filter function which destroys the GDK window it is filtering
18 events on is bad news.
21 * focus handling for GtkOptionMenu (needs the previous)
23 * implement gtk_default_draw_oval and other missing things in gtkstyle.c.
25 * Lists should scroll to center the recently selected item if it isn't
28 * enforce invariants on *_RESIZE* and *_REDRAW* flags.
31 allocate GtkTooltipsData from memchunks
32 look into incorporation of outdated/gtk-dairiki-971208-[01].patch.gz
34 * Make all widget attributes configurable after the widget is created (timj).
36 * Widgets dervied from GtkButton need to be able to override
37 GtkButtonClass.paint. e.g. redrawing of GtkToggleButton with CAN_DEFAULT
38 is messed up otheriwse. This does in fact not only apply to (toggle)buttons,
39 we should introduce a common paint member for the GtkWidgetClass.
41 * Radio buttons need to display CAN/HAS_DEFAULT correctly.
43 * Seperate GtkObject, type and signaling system from Gdk dependancies,
44 by moving them into a seperate libgtkobj.
45 * move *_input_add (wrappers for select(2)) mechanism into glib.
47 * gdk_expose_compress: ala-Xt, this would really help for opaque moves and
50 * Entry should have a password mode (and it should show stars
53 * Entry should allow set_usize to work better, and should compute
54 a different width when a maximum length is used.
56 * More dialogs: Print, GtkFontSelector, maybe others...
58 * make the gtk_main callbacks consistent in their add/remove behaviour.
60 * More work on Documentation
62 * Check return values on all calls to XIC[Get/Set]Values
64 * Rewrite the interface to the i18n stuff so GTK widgets don't need to
65 retrieve X values, and so they don't have to know the value of the
66 XNxxx character constants.
68 * The "--geometry" option should be supported
70 - Having gdk_init() parse the geometry option. (putting it into
71 GDK means you can use XParseGeometry() without wrapping it)
73 - Add a call gdk_get_geometry() that retrieves the results
74 in a form like that returned by XParseGeometry()
76 - The application then can modify the results (as would gemvt)
77 then call a routine gtk_window_set_geometry() on whatever
78 it considers to be its main window.
80 - Then in some manner GtkWindow takes that into account when
81 setting its hints. (Probably it uses the size and position
82 as the current uposition and usize, and modulates that
83 be the equivalents of the X flags
85 XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative
87 ( You'd have to extend gdk_window_set_hints to accept the
88 window gravity option to get it right. )
90 ? Allow moving the separator for paned widgets by dragging
91 it directly instead of using the handle.
93 ? Mark public use of gtk_tree_remove_item as deprecated - it should be used
95 gtk_container_remove (GTK_CONTAINER(tree), widget);
97 * Standardize that all strings should be passed as gchar *, not
98 guchar *. But what about non-string data? (gdk_property_change,
99 gtk_selection_data_set) X makes these sort of things guchar...
101 * Check into XAddConnectionWatch - is this needed for XIM?
103 * Places where a _full variant is needed:
105 gtk_clist_set_row_data
108 gtk_toolbar_prepend_element
109 gtk_toolbar_insert_element
110 gtk_widget_dnd_data_set (should be guchar * with a copy?
111 shouldn't be there at all...)
113 * Try to rationally deal with someone else deleting one of our
114 windows??? This would mean keeping track of our window heirarchy
115 ourselves, for one thing, and will never be safe, because of
118 * If a window spontaneously resizes itself N times before any
119 ConfigureNotify events are received, then due to the interaction
120 of the ConfigureNotify compression code in GDK and the resize
121 count used for the window, the window will be size_allocated
122 the next N-1 times it is moved.
124 Fix: Only send GDK_EVENT_CONFIGURE when the window is resized,
125 create a new event type for toplevel motion. (GDK_EVENT_REPOSITION?)
126 and eliminate the resize count in GtkWindow.
128 * Generic ScrolledWindow interface, which provide automatic scrollbar
129 capability to Viewport, Text, and CList widgets.
131 * GTK_POLICY_NEVER for scrolled windows.
133 * Consider caching more state in GdkWindowPrivate. Currently,
134 every widget realization involves a XGetGeometry and a
135 XGetWindowAttributes. And every GdkWindow destruction
136 involves a XQueryTree.
138 * Should all the default handlers really return FALSE? This can
139 cause confusing presses to be sent to containers that actually
140 want to get events on themselves.
146 - Really big font (150 pt), plus lots of editing caused segfault
150 - Unify the key binding support in some fashion between the
151 Entry and Text widget widgets (???)
153 - Figure out a way not to recompute the geometry on insertions/deletions
154 which are large, but not a significant fraction of the
155 entire text. (e.g., compute the changes as when the widget
156 is not frozen, but without the actual scrolling)
158 - Prune the line start cache. But since it is only 68 bytes
159 per line, and it is a lot faster when lines are in the cache,
160 it may be better not to, at least for now.
162 - Show the non-editable state by changing colors. (Use the
163 style entries for insensitive?)
165 - Multibyte support for the Text widget.
167 - Unicode support to do the multi-byte right.
169 - Support an .inputrc. (The readline one doesn't really work,
170 unless it is extended because it can't represent X keysyms,
171 just terminal type input)
175 - Word wrap, instead of line folding. (Should the continuation
176 characters be shown?)
178 - Horizontal scrolling
180 - Disable pasting compound text
182 - When showing background pixmap (not editable) actually set
183 the background pixmap as the windows bg pixmap, to improve
184 appearance on exposes. But this would require using another
185 window to get the origins.
187 - In word wrap mode, break:
189 aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
193 aaaaaaaaaaa bbbbbbbbbbb|
194 bbbbbbbbbbbbbbbbbbbbbbb|
200 bbbbbbbbbbbbbbbbbbbbbbb|
201 bbbbbbbbbbbbbbbbbbbb |
205 - API's : gtk_text_clear, gtk_text_delete_lines (gint start, gint end),
206 gtk_text_append/prepend, gtk_text_insert_at (gint row, gint column),
207 some function to get the row/column from the x/y-coordinates of a
208 mouse click, some function to get the word/line under the mouse pointer
209 [ From: Stefan Jeske <jeske@braunschweig.netsurf.de> ]
211 - "changed" emitted when doing deletes on empty Text widget.
213 - Delete IC in editable->unrealize, not editable->finalize?
218 - When a scale gets shown/hidden only queue a redraw on the
219 non-window portion, not the whole area.
221 - In various places, to avoid shaping windows excessively,
222 we set parent relative backgrounds. This is an ugly
223 hack and needs a better solution. Plus, I don't think
224 these parent-relative backgrounds always persist to
225 when they are actually needed.
227 Such calls exist in: GtkButton, GtkHandeBox, GtkItem,
228 GtkListItem, GtkMenu, GtkMenuItem, GtkMisc,
229 GtkNoteBook, GtkOptionMenu, GtkPaned, GtkPreview,
230 GtkSpinButton and GtkTreeItem.
232 - For menus and for GtkWindow's, the realize() function
233 calls paint(), so that background pixmaps can be set
234 ahead of time, and prevent flashing when the window is
235 shown. This is an ugly hack and needs a better solution.
241 - The widget should be nicely resizeable vertical too.
243 - CALENDAR_MARGIN should be removed, uses INNER_BORDER and
244 style->class->[xy]thickness insted.
246 - Flag to choose between using standard three letter abbreviated
247 weekday name or just the first character from it. It looks like
248 that is what most other calendar-widgets do.
250 - Arrows should resize with the header-font.
252 - The keyboard support has to be finished.
257 - Use a cursor instead of an ICON when over Motif windows,
258 to get rid of the current junk that Motif leaves because
259 of it's XCopyArea stupidity for doing highlighting.
261 - Add a GTK_DRAG_VERIFY target flag and a "drag_data_verify"
262 signal so that apps can easily check if a, say,
263 text/uri-list URL looks OK during the drop.
265 - Check more for memory leaks.
267 - Drag and drop for Entry and Text widgets.
269 - Send synthetic motion events on structure changes so
270 drag_enter/leave get sent properly. (See the popup