wxWidgets/docs/motif/todo.txt
1998-12-08 23:26:18 +00:00

149 lines
5.2 KiB
Plaintext

wxMotif TODO
------------
Updated: 12/11/98
-------------------------------o-------------------------
General comment: see the following site for useful Motif widgets.
ftp://ftp.x.org/contrib/widgets/motif
Also, grep for TODO comments in source.
High Priority
-------------
- Work out why XFreeFont in font.cpp produces a segv. This is
currently commented out, which presumably causes a memory leak.
- Colour setting in widgets (almost done). Should scrollbars take
on the background colour? Not right for e.g. wxScrolledWindows,
so maybe have wxSystemSettings value for scrollbar colour, and/or
ability to set scrollbar colour independently.
- Optimize wxWindow OnPaint to avoid flicker, collapsing Expose events
as per flicker fix in 1.68. It will be tricky to avoid
interfering with non-wxScrolledWindow widgets except by
explicitly testing for wxScrolledWindow.
- Implementation of OnEraseBackground. How? Call OnEraseBackground
just before OnPaint? Will duplicate Xlib's own erase of the background.
However, this is usually OK, because the default wxWindow::OnEraseBackground
can do nothing (SetBackgroundColour will make the background look OK).
And if a custom OnEraseBackground uses the same colour as the window
background, no flicker will be seen. If it does something else, such as
painting a tiled bitmap, then a slight flicker might be seen unless
X can be persuaded not to repaint the window background by default.
- wxNotebook bug: why doesn't the notebook sample appear until the
user resizes the window again? But it's OK for MDI. Strange.
- wxSpinButton
- Tidy dialogs such as the colour and font selectors.
- Use generic wxTreeCtrl, wxListCtrl: debug and enhance these.
We're close to having these working: mostly scrolling to work out.
- Find out why modal dialogs give a grab warning.
- wxSystemSettings. Eventually, should have control panel-like utility
to change colours/fonts but meanwhile should maybe read them
from a file.
- wxThread (hopefully, similar to wxGTK)
- wxGrid: scrollbars don't hide; problem with cell selection.
- MDI: seems to be broken for a more complex application I'm testing.
Frame decorations don't draw properly, and a child window doesn't
process events properly. So probably we should have an alternative
implementation that uses tabs, a la wxGTK. The system menu could
be implemented using a pop-up menu that applies to the currently
active window.
- Controls in a wxToolBar don't work. Probably due to form layout
problems; the workaround is to use a separate panel for controls.
- Miscellaneous events.
- Write makefiles for all samples and utilities.
- Create some samples for testing.
Low Priority
------------
- Better makefile system that can put objects in different dirs.
Use wxGTK config system? It's really complex to debug and
doesn't offer a way of compiling apps outside the wxWin
hierarchy.
- 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.
- Print/preview framework in print.cpp (see wxGTK).
- 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.
- Get Dialog Editor working under Motif.
- 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).
- 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).
- Copy and paste, 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 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
- wxRCConfig (a config class using X .rc files). Could simply
implement it in terms of current wxGet/WriteResource functions.
- wxCheckBoxList
- wxBitmapCheckBox, wxBitmapRadioButton
- Reimplement combobox using Lesstif's widget (avoiding GPL'ed
widget currently used).
- Write generic wxDirDialog (directory selector)
- Use native Motif dialogs for wxMessageBox
- Miscellaneous classes e.g. wxJoystick (identical to GTK's one for
Linux)
- Blit scaling
- Could eventually alter the MDI widgets to be more Windows-like
-- currently it's half-hearted (menus are on children, whereas
they should replace the main parent frame menu).
- Get ODBC classes and sample working.
- Work out why wxTextCtrl doesn't work as a stream buffer under
gcc