Todo on wxWin 2.0, Windows platform ----------------------------------- HIGH PRIORITY ------------- Add further controls and properties to Dialog Editor. Update manual. wxTempFile wxMsgCatalog etc. wxRegKey wxStatusBar95 and wxFrame status bar functions wxListBox changes (for ownerdraw functionality) wxThread DONE (except for topic overview) wxString PARTLY DONE Drag and drop (change API if required, e.g. const). wxBaseArray, other arrays (wxOwnerDrawn) Document the include file for each class Stream classes wxSocket topic overview Functions Makefiles and/or IDE files for other compilers: Symantec C++, Salford C++. IDE files for BC++. Check TODO entries in source and manual. Add centring, right justify styles to wxStaticText. Extend wxSystemSettings to get symbols for current nationality, e.g. ',' instead of '.' for decimal points. LOW PRIORITY (MEDIUM TERM) -------------------------- Convert remaining utilities e.g. wxGraphLayout. More wxSystemSettings (see comment in settings.cpp). Synchronize drawing functions on all platforms, using Chris's code to test them. Shell function to invoke a document with open, print, whatever... Write tutorial. Add wxDC::DeviceToLogical -> wxPoint etc (convenience accessors). Generic makefiles? Rewrite makefiles to maintain simultaneous debug/release objects. Add a wxTabCtrl sample. Improve printing. More API functions for printer DCs (to get printer characteristics) and more reliable printing framework. Add GetIcon, GetBitmap to wxImageList. Perhaps store bitmaps in image list so we can get them later. Merge dib.cpp, dibutils.cpp (see also some DIB code in bitmap.cpp). Debug PNG support in wxBitmap (no 4-bit support), and possibly add a convertor from PNG to HICON. We could perhaps also support inclusion of PNGs into a .res file as a custom resource. Fonts: ability to enumerate them. Angled text. Think about reimplementing wxBitmapButton, wxStaticBitmap using BS_BITMAP, SS_BITMAP - but this may not allow wxBitmap argument, so instead just allow controls loaded from native resource to deal with this style and call default processing. Better clipboard support (as per Robert's class). wxWizard class? Doc/view - have some standard views/docs e.g. wxTextView. Miscellaneous file/system function wrappers. Bug database. OpenGL integration: check that wxGLCanvas works cross-platform. Menu bitmaps - document Vadim's enhancements. wxCreateDynamicObject is apparently slow: ~ 2000 calls to strcmp. Need to use some kind of hash table scheme. Write wxDisplay class for querying settings and passing to wxFrame to mirror the X situation (multiple displays). Write translator between old and new .wxr formats (including substituting static text for obsolete labels). Write more validators. Also, how do they work if loading the dialog from a .wxr? Could call SetValidator from within InitDialog for all controls, then call TransferDataToWindow. Classes for file/OS utility functions. Add support for more static controls e.g. wxStaticLine. Perhaps rewrite wxFile to use FILE* descriptors, so Eof and Flush can work. Find out how to set wxFileDialog position. Maybe bundle Andrew Tucker's DBWIN32 with wxWindows (it's only 26KB), for viewing debug messages without a debugger. Implement wxDC floating point transformations. A wxDC function (or two) for drawing 3D edges? LOW PRIORITY (LONG TERM) ------------------------ Improve and expand wxSizer classes. ActiveX support Look at porting to WinCE Enhance Tex2RTF to generate Microsoft HTML help, perhaps Netscape HTML help also. GDI objects could be optimised further in constructors by searching for a matching, pre-existing object, and assigning from that, thus sharing the internal handle. A problem with this arises if you wish to change the data. But this can be handled by un-refing and creating a new handle. So we could reuse many Windows GDI objects without troubling the programmer. We might wish to switch this off in certain circumstances, e.g. wxEnableGDIReuse(FALSE); wxBrush brush(...); wxEnableGDIReuse(TRUE); or even wxGDIReuse reuse(FALSE); wxBrush brush(...); which lasts until its scope ends. This might be needed e.g. if we needed to ensure that the operation was maximally efficient (creating a new object rather than searching may or may not be more efficient). Integrate Guilhem's multimedia classes: documentation, makefiles, different platforms. Rich text class.