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. - Finish wxNotebook. - wxSpinButton - 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) - wxGrid: scrollbars don't hide; problem with cell selection. - 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.