1 | |
---|
2 | Outstanding items: |
---|
3 | |
---|
4 | * focus handling for GtkOptionMenu (needs the previous) |
---|
5 | |
---|
6 | * implement gtk_default_draw_oval and other missing things in gtkstyle.c. |
---|
7 | |
---|
8 | * enforce invariants on *_RESIZE* and *_REDRAW* flags. |
---|
9 | |
---|
10 | * GtkToolTips: allocate GtkTooltipsData from memchunks |
---|
11 | |
---|
12 | * Make all widget attributes configurable after the widget is created (timj). |
---|
13 | |
---|
14 | * Radio buttons need to display CAN/HAS_DEFAULT correctly, if draw_inidicator |
---|
15 | is TRUE. (Radio buttons do not need to CAN_DEFAULT! OWT) |
---|
16 | |
---|
17 | * More dialogs: Print, maybe others... |
---|
18 | |
---|
19 | * make the gtk_main callbacks consistent in their add/remove behaviour. |
---|
20 | |
---|
21 | * Check return values on all calls to XIC[Get/Set]Values |
---|
22 | |
---|
23 | * The "--geometry" option should be supported |
---|
24 | |
---|
25 | - Having gdk_init() parse the geometry option. (putting it into |
---|
26 | GDK means you can use XParseGeometry() without wrapping it) |
---|
27 | |
---|
28 | - Add a call gdk_get_geometry() that retrieves the results |
---|
29 | in a form like that returned by XParseGeometry() |
---|
30 | |
---|
31 | - The application then can modify the results (as would gemvt) |
---|
32 | then call a routine gtk_window_set_geometry() on whatever |
---|
33 | it considers to be its main window. |
---|
34 | |
---|
35 | - Then in some manner GtkWindow takes that into account when |
---|
36 | setting its hints. (Probably it uses the size and position |
---|
37 | as the current uposition and usize, and modulates that |
---|
38 | be the equivalents of the X flags |
---|
39 | |
---|
40 | XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative |
---|
41 | |
---|
42 | ( You'd have to extend gdk_window_set_hints to accept the |
---|
43 | window gravity option to get it right. ) |
---|
44 | |
---|
45 | * Allow moving the separator for paned widgets by dragging |
---|
46 | it directly instead of using the handle. |
---|
47 | |
---|
48 | * Check into XAddConnectionWatch - is this needed for XIM? |
---|
49 | |
---|
50 | * Places where a _full variant is needed: |
---|
51 | |
---|
52 | gtk_init_add |
---|
53 | gtk_menu_popup |
---|
54 | gtk_toolbar_prepend_element |
---|
55 | gtk_toolbar_insert_element |
---|
56 | |
---|
57 | * Try to rationally deal with someone else deleting one of our |
---|
58 | windows??? This would mean keeping track of our window heirarchy |
---|
59 | ourselves, for one thing, and will never be safe, because of |
---|
60 | race conditions. |
---|
61 | |
---|
62 | * Should all the default handlers really return FALSE? This can |
---|
63 | cause confusing presses to be sent to containers that actually |
---|
64 | want to get events on themselves. |
---|
65 | |
---|
66 | * The menu code should skip separators during keyboard navigation, |
---|
67 | whether they are sensitive or insensitive. |
---|
68 | |
---|
69 | * OwnerButtonPressGrab needs to go! |
---|
70 | |
---|
71 | Text/Edit widget: |
---|
72 | |
---|
73 | Bugs: |
---|
74 | |
---|
75 | - Really big font (150 pt), plus lots of editing caused segfault |
---|
76 | |
---|
77 | Improvements: |
---|
78 | |
---|
79 | - Unify the key binding support in some fashion between the |
---|
80 | Entry and Text widget widgets, use GtkBindings for this. |
---|
81 | |
---|
82 | - Figure out a way not to recompute the geometry on insertions/deletions |
---|
83 | which are large, but not a significant fraction of the |
---|
84 | entire text. (e.g., compute the changes as when the widget |
---|
85 | is not frozen, but without the actual scrolling) |
---|
86 | |
---|
87 | - Prune the line start cache. But since it is only 68 bytes |
---|
88 | per line, and it is a lot faster when lines are in the cache, |
---|
89 | it may be better not to, at least for now. |
---|
90 | |
---|
91 | - Show the non-editable state by changing colors. (Use the |
---|
92 | style entries for insensitive?) |
---|
93 | |
---|
94 | - Multibyte support for the Text widget. |
---|
95 | |
---|
96 | - Unicode support to do the multi-byte right. |
---|
97 | |
---|
98 | - Support an .inputrc. (The readline one doesn't really work, |
---|
99 | unless it is extended because it can't represent X keysyms, |
---|
100 | just terminal type input) |
---|
101 | |
---|
102 | - A vi mode |
---|
103 | |
---|
104 | - Word wrap, instead of line folding. (Should the continuation |
---|
105 | characters be shown?) |
---|
106 | |
---|
107 | - Horizontal scrolling |
---|
108 | |
---|
109 | - Disable pasting compound text |
---|
110 | |
---|
111 | - When showing background pixmap (not editable) actually set |
---|
112 | the background pixmap as the windows bg pixmap, to improve |
---|
113 | appearance on exposes. But this would require using another |
---|
114 | window to get the origins. |
---|
115 | |
---|
116 | - In word wrap mode, break: |
---|
117 | |
---|
118 | aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
---|
119 | |
---|
120 | as: |
---|
121 | | Maximum column |
---|
122 | aaaaaaaaaaa bbbbbbbbbbb| |
---|
123 | bbbbbbbbbbbbbbbbbbbbbbb| |
---|
124 | bbbbbbbbb | |
---|
125 | |
---|
126 | Instead of: |
---|
127 | | |
---|
128 | aaaaaaaaaaa | |
---|
129 | bbbbbbbbbbbbbbbbbbbbbbb| |
---|
130 | bbbbbbbbbbbbbbbbbbbb | |
---|
131 | |
---|
132 | - Blinking cursor |
---|
133 | |
---|
134 | - API's : gtk_text_clear, gtk_text_delete_lines (gint start, gint end), |
---|
135 | gtk_text_append/prepend, gtk_text_insert_at (gint row, gint column), |
---|
136 | some function to get the row/column from the x/y-coordinates of a |
---|
137 | mouse click, some function to get the word/line under the mouse pointer |
---|
138 | [ From: Stefan Jeske <jeske@braunschweig.netsurf.de> ] |
---|
139 | |
---|
140 | - "changed" emitted when doing deletes on empty Text widget. |
---|
141 | |
---|
142 | - Delete IC in editable->unrealize, not editable->finalize? |
---|
143 | |
---|
144 | Themes |
---|
145 | ====== |
---|
146 | |
---|
147 | - When a scale gets shown/hidden only queue a redraw on the |
---|
148 | non-window portion, not the whole area. |
---|
149 | |
---|
150 | - In various places, to avoid shaping windows excessively, |
---|
151 | we set parent relative backgrounds. This is an ugly |
---|
152 | hack and needs a better solution. Plus, I don't think |
---|
153 | these parent-relative backgrounds always persist to |
---|
154 | when they are actually needed. |
---|
155 | |
---|
156 | Such calls exist in: GtkButton, GtkHandeBox, GtkItem, |
---|
157 | GtkListItem, GtkMenu, GtkMenuItem, GtkMisc, |
---|
158 | GtkNoteBook, GtkOptionMenu, GtkPaned, GtkPreview, |
---|
159 | GtkSpinButton and GtkTreeItem. |
---|
160 | |
---|
161 | - For menus and for GtkWindow's, the realize() function |
---|
162 | calls paint(), so that background pixmaps can be set |
---|
163 | ahead of time, and prevent flashing when the window is |
---|
164 | shown. This is an ugly hack and needs a better solution. |
---|
165 | |
---|
166 | ======= |
---|
167 | |
---|
168 | Calendar Widget: |
---|
169 | |
---|
170 | - The widget should be nicely resizeable vertical too. |
---|
171 | |
---|
172 | - CALENDAR_MARGIN should be removed, uses INNER_BORDER and |
---|
173 | style->class->[xy]thickness insted. |
---|
174 | |
---|
175 | - Flag to choose between using standard three letter abbreviated |
---|
176 | weekday name or just the first character from it. It looks like |
---|
177 | that is what most other calendar-widgets do. |
---|
178 | |
---|
179 | - Arrows should resize with the header-font. |
---|
180 | |
---|
181 | - The keyboard support has to be finished. |
---|
182 | |
---|
183 | DND |
---|
184 | === |
---|
185 | |
---|
186 | - Use a cursor instead of an ICON when over Motif windows, |
---|
187 | to get rid of the current junk that Motif leaves because |
---|
188 | of its XCopyArea stupidity for doing highlighting. |
---|
189 | |
---|
190 | - Add a GTK_DRAG_VERIFY target flag and a "drag_data_verify" |
---|
191 | signal so that apps can easily check if a, say, |
---|
192 | text/uri-list URL looks OK during the drop. |
---|
193 | |
---|
194 | - Check more for memory leaks. |
---|
195 | |
---|
196 | - Drag and drop for Entry and Text widgets. |
---|
197 | |
---|
198 | - Send synthetic motion events on structure changes so |
---|
199 | drag_enter/leave get sent properly. (See the popup |
---|
200 | in testdnd) |
---|