Difference between revisions of "Development: Todo List"

From WxWiki
Jump to navigation Jump to search
(added persistent controls)
Line 32: Line 32:
  
 
* squeezable labels support (in wxStaticText?): wxGTK supports them http://developer.gnome.org/doc/API/2.0/gtk/GtkLabel.html#gtk-label-set-ellipsize and they're very useful when you have wxStaticText which must be updated at run-time...
 
* squeezable labels support (in wxStaticText?): wxGTK supports them http://developer.gnome.org/doc/API/2.0/gtk/GtkLabel.html#gtk-label-set-ellipsize and they're very useful when you have wxStaticText which must be updated at run-time...
 +
 +
* add persistent control support: see [[PersistentControls]] page for more info
  
 
=== Low priority ===
 
=== Low priority ===

Revision as of 16:51, 27 December 2006

This is a collection of the various things which it would be nice to include in wxWidgets. They may or may not be scheduled or funded. If you're interested in helping with wxWidgets development, one of the small projects below could be a great way to join the team!


General

High priority

  • Make it possible to build wx in UTF-8 mode in addition to the current ANSI/Unicode ones.
  • Provide a possibility to use individual wxUniv controls from the native ports.
  • Give wxFileSystem a better API and further integrate it with wxWidgets (currently only wxHtml uses it but it could be also used by many other classes)
  • Finish wxDataViewControl:
    • Add support for hierarchical structure (so that it could replace wxTreeCtrl as well as wxListCtrl)
    • Write native wxMSW and wxMac implementations
  • wxHTML2, using native HTML renderers where available.
  • add image support to wxButton (Jamie Gadd has the patch for wxMSW, with a bit work it should be extended to others ports) merging wxBitmapButton with wxButton.

Medium priority

  • Fix multiple (real or perceived) problems with wxScrolledWindow resulting in extra borders or unneeded scrollbars and so on
  • Change wxBoxSizer to distribute just extra space between the stretchable items instead of all non-fixed space, otherwise some items can not even get their minimal size when there is enough space (see this post)
  • MIME types code needs a cleanup and a GUI interface to allow setting the MIME types and related information from the program itself
  • Masked text editor control; time entry control implemented using it
  • wxReBar control (moveable toolbars, menubars)
  • Avoid calling the wxYield family of functions in internal code. wxYield causes problems in combination with pending events leading to all sorts of strange side-effects.
  • Move wxApp::Yield() to wxEventLoop::Yield(), where it logically belongs (see wxDFB port for partial step in this direction)

Low priority

  • Write wxConfg implementation using XML as backend:
    • portable wxXMLConfig for all platforms
    • wxApplePrefConfig for working with .pref files on Mac OS X
  • wxStaticBox: Hide the platform problems (GTK: 'children' must be siblings) in encapsulation in order to avoid problems on ports where the hierarchy must be 'correct'.
  • Standard menu and toolbar customization dialogs
  • Extend wxLocale to return more information, e.g. currency formatting, list separator, ...
  • Remove wxUSE_PROLOGIO stuff from contrib/src/ogl sources to suppress warnings about wxUSE_PROLOGIO not being defined (this is trivial)

Everything else

  • Synchronisation API between mobile and desktop.
  • Extend and unify drag and drop handling (e.g. we need to specify multiple drop targets that can handle multiple formats).
  • Serial and parallel port support.
  • Modem and telephony support.
  • Improve accessibility support.
  • wxDC Support for point to char-position with text rendering


Documentation

  • The possibility of moving doc into header files with tool support, or translation to XML with support from scripts (comparison of headers and documentation).
  • Detailed review of doc accuracy.
  • wxDC: Precise definition of default/initial state.
  • wxDC: Pixelwise definition of operations (e.g. last point of a line not drawn).
  • Events: for all controls state clearly when calling a member function results in an event being generated and when it doesn't.
  • Document all wxUSE_XXX settings (it would be also nice to centralize their definitions in a single file instead of having them in several different setup.h)
  • Update the coding standards guide


Infrastructure

  • Set up [buildbot] or similar system for continuous build tests
  • Use SourceForge compile farm (or other facilities) to automatically spin at least some of the releases using a specification of the type of release, tag to use, etc.
  • Make building Debian packages less painful, in particular try to make it possible to build them in the source tree instead of current roundabout way; automate building of both ANSI and Unicode packages (the former doesn't work with dpkg-buildpackage as there is no way to pass WX_UNICODE=0 to debian/rules when using it)