wxMotif TODO
------------
-Updated: 21/9/98
+Updated: 11/02/99
-------------------------------o-------------------------
-- wxDCs
+General comment: see the following site for useful Motif widgets.
+ftp://ftp.x.org/contrib/widgets/motif
-- wxBitmap, wxIcon, wxCursor, wxPalette. What about XPMs, can we assume
- libxpm exists and use that? What about PNGs? Can we use gdk
- as per wxGTK? Probably not.
+Also, grep for TODO comments in source.
-- Work out why XFreeFont in font.cpp produces a segv. This is
- currently commented out, which presumably causes a memory leak.
-
-- wxRegion
-
-- Bitmap versions of widgets (wxBitmapButton etc.)
-
-- wxCheckBoxList
+High Priority
+-------------
-- Remaining common widgets (wxListBox, wxRadioBox, wxRadioButton, wxChoice,
- wxGauge, wxComboBox etc.). Use combobox.c code as bundled in wxWin 1.68.
+- Have a central/per app file for colour settings, with a wxWin
+ app to allow changing settings interactively.
-- wxTextCtrl text file loading and saving.
+- Implementation of default event processing (i.e. passing on an intercepted
+ event such as OnChar to the system). Currently, such events are processed
+ anyway, so for example intercepting left-click in a widget doesn't disable
+ the default behaviour. See TODOs in window.cpp.
-- Scrolling in wxWindow.
+- wxRadioBox doesn't show up in the controls sample, though it's
+ OK on other dialogs (e.g. printing sample).
-- A generic version of wxNotebook that can be used in wxMotif and
- other toolkits that don't have a native control. Perhaps use wxTab as a
- starting point.
+- wxToolTip
-- MDI classes: use existing Motif widgets for this.
+- Miscellaneous events.
-- Miscellaneous classes e.g. wxJoystick (identical to GTK's one for
- Linux)
-
-- Dialogs e.g. wxFileSelector. Use a native Motif wxMessageBox.
- Some others need tidying, such as the colour and font selectors.
+- Use wxImage to load other formats into wxBitmaps, such as PNG, BMP.
-- Write generic wxDirDialog (directory selector).
+- Allow wxFrame and other widgets to have mouse event handlers.
-- Use generic wxTreeCtrl, wxListCtrl: enhance these.
+Low Priority
+------------
-- Write a better generic wxToolBar class than wxToolBarSimple.
- Alternatively, write a toolbar using Motif as described here:
- http://www.motifzone.com/tmd/articles/Kurt_Huhner/jun96.html.
- This article also explains how to implement tooltips.
+- Painting a retained window could be optimized further (see
+ wxWindow::DoPaint).
-- Optimize colour management so we don't get clashes when e.g.
- Netscape is running.
+- Visuals: how to select an appropriate one? See Thomas Runge's
+ visual patch for 1.68 -- should be straightforward to port to 2.0.
-- Print/preview framework in print.cpp (see wxGTK's).
-
-- Colour and font setting in widgets.
+- Work out why XFreeFont in font.cpp produces a segv. This is
+ currently commented out, which presumably causes a memory leak.
-- wxSystemSettings
+- Better makefile system that can put objects in different dirs.
-- wxTimer
+- Extra wxBitmap formats: PNG, BMP. Could use old wxWin 1.68
+ wxImage code (derived from XV) for BMP/GIF but it's very bloated. However,
+ when implemented as extra bitmap handlers, the code won't be linked
+ unless needed. Update: see if wxImage can handle these formats.
-- wxThread (hopefully, similar to wxGTK)
+- Get Dialog Editor working (better) under Motif.
-- Copy and paste, drag and drop. Use a standard X drag
+- New wxHelp version: try using the XmHTML widget at
+ http://www.xs4all.nl/~ripley/XmHTML/.
+
+ We need to:
+ - make a minimal distribution under wx/src/xmhtml, just enough
+ to compile the source.
+ - add XMHTML_C_SRC to src/motif/makefile.unx with the source files
+ listed.
+ - make sure we can compile the sources, passing the correct
+ flags for zlib/png compilation.
+ - make a wxHTMLWindow class from e.g. examples/example_2.c. Should
+ probably make the cache and history facilities part of the class.
+ - add the driver code to src/motif/helphtml.cpp (a frame, toolbar,
+ history list).
+
+- Drag and drop. Use a standard X drag
and drop standard - see http://www.cco.caltech.edu/~jafl/xdnd/
or use Motif drag and drop as described here:
http://www.motifzone.com/tmd/articles/DnD/dnd.html
-- Optimize screen refresh for non-native widgets, e.g. wxWindow
- created with Create(), using technique in flicker patch for 1.68
- (see JACS for latest patch).
-
-- Enhance event handling such that you override e.g. left-click
- and unless you call the base OnMouseEvent, the click won't be
- sent to the button. Required for Dialog Editor.
+- Optimize colour management so we don't get clashes when e.g.
+ Netscape is running. See:
+ http://www.motifzone.com/tmd/articles/John_Cwikla/index.html
-- Write makefiles for all samples.
+- wxRCConfig (a config class using X .rc files). Could simply
+ implement it in terms of current wxGet/WriteResource functions.
-- Create some samples for testing.
+- Miscellaneous classes e.g. wxJoystick (identical to GTK's one for
+ Linux)
-- Get Dialog Editor working under Motif.
+- Get ODBC classes and sample working.
-- New wxHelp version: try using the XmHTML widget at
- http://www.xs4all.nl/~ripley/XmHTML/
+- Work out why wxTextCtrl doesn't work as a stream buffer under
+ gcc