wxMotif TODO ------------ Updated: 20/10/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. - Also work out why wxWindow::SetFont causes the widget to be shrunk to fit its text, in dialogs. Uncomment the SetFont implementation and pop up a dialog, e.g. an About box. Widgets are arranged incorrectly. Seems to be OK for non-dialog panels, once the size has been restored after the font setting. - Colour setting in widgets. - 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. - wxBitmapCheckBox, wxBitmapRadioButton - wxSpinButton - 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. - Tidy dialogs such as the colour and font selectors. - Use generic wxTreeCtrl, wxListCtrl: debug and enhance these. - 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) - 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/ - 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 - 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.