]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/todo30.txt
use wxGUIAppTraits::WaitForChild() in wxMac too
[wxWidgets.git] / docs / todo30.txt
index 036695f526186b1bf2489bfe2b5cccd5578405a4..07c689df1a72ace8471b9ab51c30a2784eebe1a4 100644 (file)
@@ -1,4 +1,4 @@
-Enhancements for wxWindows 3.0
+Enhancements for wxWidgets 3.0
 ==============================
 
 This table contains the brief summary of the issues below. Priority and
 ==============================
 
 This table contains the brief summary of the issues below. Priority and
@@ -18,7 +18,7 @@ C++ Features
 ============
 
 - Namespaces:
 ============
 
 - Namespaces:
-    We want to have all wxWindows identifiers in "wx" namespace but provide
+    We want to have all wxWidgets identifiers in "wx" namespace but provide
     typedefs/#defines for backwards compatibility. This can be done easily
     for the classes and the only real problem are the enums as they would
     all have to be duplicated at both the global scope (with "wx" prefix) and
     typedefs/#defines for backwards compatibility. This can be done easily
     for the classes and the only real problem are the enums as they would
     all have to be duplicated at both the global scope (with "wx" prefix) and
@@ -32,7 +32,7 @@ C++ Features
     without templates, even if not all of its features would be available then)
 
 - Exceptions
     without templates, even if not all of its features would be available then)
 
 - Exceptions
-    We are not going to use exceptions in wxWindows itself but our code should
+    We are not going to use exceptions in wxWidgets itself but our code should
     become exception safe. This is a very difficult task as it means that no
     resource allocations (including memory, files, whatever) should be done
     without using a smart pointer-like object to store the result as it is the
     become exception safe. This is a very difficult task as it means that no
     resource allocations (including memory, files, whatever) should be done
     without using a smart pointer-like object to store the result as it is the
@@ -54,12 +54,11 @@ Core
     customized by user code by overriding some wxApp::CreateEventLoop())
     instead of duplicating the same code
 
     customized by user code by overriding some wxApp::CreateEventLoop())
     instead of duplicating the same code
 
-- remove wxCOMPATIBILITY (1.X)
-    At least WXWIN_COMPATIBILITY and maybe WXWIN_COMPATIBILITY_2 code should be
-    removed from the library. wxDEPRECATED() should be used with everything
-    inside WXWIN_COMPATIBILITY_2_2. The stuff inside WXWIN_COMPATIBILITY_2_4
-    probably should not be deprecated (yet?) because this would give thousands
-    of warnings for the existing code.
+- remove wxCOMPATIBILITY
+    wxDEPRECATED() should be used with everything inside WXWIN_COMPATIBILITY_2_4.
+    The stuff inside WXWIN_COMPATIBILITY_2_6 probably should not be deprecated
+    (yet?) because this would give thousands of warnings for the existing code.
+    Exception is api documented as obsolete in 2.6 release already.
 
 - Modularization/Build System
     Candidates for components:
 
 - Modularization/Build System
     Candidates for components:
@@ -74,13 +73,15 @@ Core
     We need a (GUI) tool to generate the project/makefiles for all supported
     platforms/compilers. Not sure if it should be used for the library itself
     (would be nice to have something like "make menuconfig" for Linux kernel
     We need a (GUI) tool to generate the project/makefiles for all supported
     platforms/compilers. Not sure if it should be used for the library itself
     (would be nice to have something like "make menuconfig" for Linux kernel
-     which allows you to navigate easily amon all of the configure/setup.h
+     which allows you to navigate easily among all of the configure/setup.h
      options but there is a problem with distributing such tool as it can't be
      compiled by the user because it is needed before the library is built) but
     we definitely need it for the users makefiles.
 
 - Properties/Member-Metadata, 2-Step Init with virtual create
      options but there is a problem with distributing such tool as it can't be
      compiled by the user because it is needed before the library is built) but
     we definitely need it for the users makefiles.
 
 - Properties/Member-Metadata, 2-Step Init with virtual create
-    TODO: still unclear what do we need exactly
+
+- Tidy code and add comments to headers (possibly in
+  Doxygen/Javadoc style)
 
 
 Documentation
 
 
 Documentation
@@ -117,15 +118,17 @@ Modules/Plugins
 Architecture
 ------------
 
 Architecture
 ------------
 
-We aim to arrive at a lazy initializiation of modules only when they are first 
+We aim to arrive at a lazy initialization of modules only when they are first 
 needed. Dependency information between modules is needed. Dynamic Plug-In
 loading and unloading must be compatible with that.
 
 needed. Dependency information between modules is needed. Dynamic Plug-In
 loading and unloading must be compatible with that.
 
+
 wxUniversal
 ===========
 
 - Renderers within native ports.
 
 wxUniversal
 ===========
 
 - Renderers within native ports.
 
+
 wxPrinting
 ==========
 
 wxPrinting
 ==========
 
@@ -133,6 +136,7 @@ wxPrinting
   of pages.
 - Preview UI enhancement.
 
   of pages.
 - Preview UI enhancement.
 
+
 wxStaticBox
 ===========
 
 wxStaticBox
 ===========
 
@@ -140,6 +144,16 @@ Hide the platform problems (GTK: 'children' must be siblings) in encapsulation
 in order to avoid problems on ports where the hierarchy must be
 'correct'.
 
 in order to avoid problems on ports where the hierarchy must be
 'correct'.
 
+
+Removal of old code
+===================
+
+In addition to wxCOMPATIBILITY code:
+
+- contrib/src/mmedia
+- contrib/src/applet?
+- Dialog Editor
+
 wxMiscellaneous
 ===============
 
 wxMiscellaneous
 ===============
 
@@ -147,6 +161,44 @@ wxMiscellaneous
 - wxLocale Extension (eg Currency)
 - wxStreams review
 - wxURL?
 - wxLocale Extension (eg Currency)
 - wxStreams review
 - wxURL?
-
+- a way to tell wxWidgets to check for any non-portable usage,
+  for a given set of platforms. Sometimes you want to be able
+  to get away with non-portable usage, and sometimes not.
+  This is probably way too time-consuming to implement.
+- In headers, don't silently omit contents if the features for this
+  header is switched off. Instead, emit an error message.
+- Implement native tree view and colour dialog in wxGTK.
+- Better way to specify About, Preferences menu ids under wxMac.
+- Must be able to portably specify relaying out a frame after the toolbar
+  has been destroyed or recreated. On wxMSW, this is done in
+  ~wxToolBar. On wxGTK, in SetToolBar. In wxMac, not at all,
+  but sending a wxSizeEvent will do it.
+- Need wxRect wxToolBar::GetToolRect(int id) or similar so we can
+  align a popup menu with a toolbar button.
+- wxMac font selector dialog is the generic font selector -
+  horrible.
+- No Append(wxArrayString&) for wxChoice and wxComboBox in wxGTK.
+  Probably other functions too. Consider adding Insert to
+  these classes, as per the patch on SF.
+- Rewrite wxFileHistory using wxString and wxArrayString, and
+  put in separate file.
+- Add wxArrayString methods to wxTextValidator and any other
+  class that needs them.
+- Add wxNotebook::GetTabRect or similar so we can estimate
+  page size better in wxNotebookBase::CalcSizeFromPage.
+- Add function to clear all wxNotebook tabs without
+  destroying the pages.
+- Add individual setters to wxScrollBar and other classes
+  that use a combined setter.
+- Remove traces of old resource system from wxWizard.
+- Have wxDirCtrl as alias for wxGenericDirCtrl.
+- Allow instant reaction to left-up in a wxGrid cell
+  (extend editor API) to work around bad checkbox
+  behaviour (click, click, click, click away...) and
+  reduce checkbox size on non-Windows platforms.
+- Add wxNotebook::HitTest for non-Windows platforms.
+- Implement rebar for all platforms. This will help us
+  get closer to native look and feel, e.g. the gradient
+  shadow on XP toolbars.
 
 Version:      $Id$
 
 Version:      $Id$