forked from AuroraMiddleware/gtk
c2906f2bea
Thu Mar 26 21:37:57 1998 Tim Janik <timj@gtk.org> * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): always display the correct active state. * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): always display the correct active state. * gtk/gtkwidget.c (gtk_widget_set_arg): CAN_FOCUS and CAN_DEFAULT flag changes need to queue a resize. * gtk/gtkbutton.c (gtk_button_paint): take border_width into consideration for restrict area. * gtk/gtktogglebutton.c (gtk_toggle_button_class_init): enable the draw_default member of GtkButton, otherwise the diplay is messed up for CAN_DEFAULT toggles. (gtk_toggle_button_draw_focus): always display whether the toggle button is active or not. * gtk/gtkwidget.c (gtk_widget_set_state): (gtk_widget_set_sensitive): (gtk_widget_set_parent): (gtk_widget_propagate_state): take into consideration, whether we really want to change childrens states, or just restauration of old states.
238 lines
8.1 KiB
Plaintext
238 lines
8.1 KiB
Plaintext
TODO BEFORE GTK 1.0
|
|
-------------------
|
|
|
|
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 for C++ ?
|
|
|
|
* Expose events aren't being generated correctly for DND demo
|
|
|
|
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
|
|
|
|
* 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);
|
|
|
|
* Configure events for windows that no longer exist fail in
|
|
XTranslateCoordinates
|
|
|
|
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?
|
|
|
|
* 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
|
|
|
|
* Entry should have a password mode (and it should show stars
|
|
for user feedback).
|
|
|
|
* 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
|
|
|
|
* Check return values on all calls to XIC[Get/Set]Values
|
|
|
|
* Rewrite the interface to the i18n stuff so GTK widgets don't need to
|
|
retrieve X values, and so they don't have to know the value of the
|
|
XNxxx character constants.
|
|
|
|
* 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)
|
|
|
|
- Add a call gdk_get_geometry() that retrieves the results
|
|
in a form like that returned by XParseGeometry()
|
|
|
|
- The application then can modify the results (as would gemvt)
|
|
then call a routine gtk_window_set_geometry() on whatever
|
|
it considers to be its main window.
|
|
|
|
- Then in some manner GtkWindow takes that into account when
|
|
setting its hints. (Probably it uses the size and position
|
|
as the current uposition and usize, and modulates that
|
|
be the equivalents of the X flags
|
|
|
|
XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative
|
|
|
|
( 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)
|
|
|
|
Bugs:
|
|
|
|
- Who knows?
|
|
|
|
Improvements:
|
|
|
|
- Unify the key binding support in some fashion between the
|
|
Entry and Text widget widgets (???)
|
|
|
|
- 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,
|
|
it may be better not to, at least for now.
|
|
|
|
- Show the non-editable state by changing colors. (Use the
|
|
style entries for insensitive?)
|
|
|
|
- Multibyte support for the Text widget.
|
|
|
|
- Unicode support to do the multi-byte right.
|
|
|
|
- Support an .inputrc. (The readline one doesn't really work,
|
|
unless it is extended because it can't represent X keysyms,
|
|
just terminal type input)
|
|
|
|
- A vi mode
|
|
|
|
- Word wrap, instead of line folding. (Should the continuation
|
|
characters be shown?)
|
|
|
|
- Horizontal scrolling
|
|
|
|
- Disable pasting compound text
|
|
|
|
- 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.
|
|
|
|
- In word wrap mode, break:
|
|
|
|
aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
|
|
as:
|
|
| Maximum column
|
|
aaaaaaaaaaa bbbbbbbbbbb|
|
|
bbbbbbbbbbbbbbbbbbbbbbb|
|
|
bbbbbbbbb |
|
|
|
|
Instead of:
|
|
|
|
|
aaaaaaaaaaa |
|
|
bbbbbbbbbbbbbbbbbbbbbbb|
|
|
bbbbbbbbbbbbbbbbbbbb |
|
|
|
|
|
|
? Allow moving the separator for paned widgets by dragging
|
|
it directly instead of using the handle.
|
|
|
|
? Mark public use of gtk_tree_remove_item as deprecated - it should be used
|
|
as:
|
|
gtk_container_remove (GTK_CONTAINER(tree), widget);
|
|
|
|
* 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...
|
|
|
|
* Check into XAddConnectionWatch - is this needed for XIM?
|
|
|
|
* Places where a _full variant is needed:
|
|
|
|
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.
|
|
|
|
* 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.
|