some more details
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
120
docs/todo30.txt
120
docs/todo30.txt
@@ -1,27 +1,87 @@
|
|||||||
Enhancements for wxWindows 3.0
|
Enhancements for wxWindows 3.0
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
RCS-ID: $Id$
|
This table contains the brief summary of the issues below. Priority and
|
||||||
|
Difficulty are values from 1 to 10 with 1 being the least important/difficult
|
||||||
|
and 10 the most.
|
||||||
|
|
||||||
|
Item Prio Diff
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Namespaces 8 6
|
||||||
|
STLization 10 8
|
||||||
|
Making code exception-friendly 8 10
|
||||||
|
Native RTTI 7 7
|
||||||
|
TRUE/true 9 1
|
||||||
|
|
||||||
|
|
||||||
C++ Features
|
C++ Features
|
||||||
============
|
============
|
||||||
|
|
||||||
- Namespaces.
|
- Namespaces:
|
||||||
- STL containers compatibility (including using STL-like
|
We want to have all wxWindows identifiers in "wx" namespace but provide
|
||||||
adapters for wxWindows containers).
|
typedefs/#defines for backwards compatibility. This can be done easily
|
||||||
- Exception Handling: making the code exception-safe, and
|
for the classes and the only real problem are the enums as they would
|
||||||
also _using_ exceptions throughout the code.
|
all have to be duplicated at both the global scope (with "wx" prefix) and
|
||||||
|
in wx namespace (without it)
|
||||||
|
|
||||||
|
- STLization
|
||||||
|
This involves providing optional wxString implementation using std::string
|
||||||
|
and doing the same for all our containers with the exception of wxHashMap
|
||||||
|
which should simply be rewritten using templates (but keeping the old
|
||||||
|
version for backwards compatibility -- ideally wx 3.0 would still be usable
|
||||||
|
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
|
||||||
|
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
|
||||||
|
only way to prevent resource leaks in presence of exceptions
|
||||||
|
|
||||||
|
- Real RTTI
|
||||||
|
Optionally use the real RTTI instead of wx emulation of it. Keep the
|
||||||
|
current stuff for backwards compatibility.
|
||||||
|
|
||||||
|
- Complete replacing TRUE/FALSE with true/false
|
||||||
|
Trivial
|
||||||
|
|
||||||
|
|
||||||
Core
|
Core
|
||||||
====
|
====
|
||||||
|
|
||||||
- Use wxEventLoop in all builds.
|
- use wxEventLoop in all builds
|
||||||
- Remove wxCOMPATIBILITY (1.X).
|
wxApp and wxDialog should use wxEventLoop objects (the exact class can be
|
||||||
- Modularization/Build System/Project File Generation.
|
customized by user code by overriding some wxApp::CreateEventLoop())
|
||||||
- A configuration tool to generate setup.h and configure
|
instead of duplicating the same code
|
||||||
commands.
|
|
||||||
- RTTI native Support, Properties/Member-Metadata, 2-Step Init with
|
- remove wxCOMPATIBILITY (1.X)
|
||||||
virtual create: e.g. Create(const wxArrayVariant&).
|
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.
|
||||||
|
|
||||||
|
- Modularization/Build System
|
||||||
|
Candidates for components:
|
||||||
|
+ contrib widgets (and maybe some of the ones currently in the core)
|
||||||
|
+ wxHTML
|
||||||
|
+ network stuff
|
||||||
|
+ printing (?)
|
||||||
|
+ ODBC classes
|
||||||
|
+ ...
|
||||||
|
|
||||||
|
- Project File Generation
|
||||||
|
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
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
@@ -32,23 +92,23 @@ Documentation
|
|||||||
- wxDC : Precise definition of default/initial state.
|
- wxDC : Precise definition of default/initial state.
|
||||||
- wxDC : Pixelwise definition of operations (e.g. last point of a
|
- wxDC : Pixelwise definition of operations (e.g. last point of a
|
||||||
line not drawn).
|
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.
|
||||||
|
- Update the coding standards guide
|
||||||
|
|
||||||
|
|
||||||
wxEvents
|
wxEvents
|
||||||
========
|
========
|
||||||
|
|
||||||
Change Idle Handling
|
- Change Idle Handling
|
||||||
--------------------
|
Current Implementation is using too many CPU cycles
|
||||||
Current Implementation is using too many CPU cycles.
|
|
||||||
|
|
||||||
Loose Coupling Event-Source Event-Sink
|
- Loose Coupling Event-Source Event-Sink
|
||||||
--------------------------------------
|
kind of the NextStep/C# very performant coupling, exposing events via
|
||||||
Kind of the NextStep/C# very performant coupling, exposing
|
Metadata
|
||||||
events via metadata.
|
|
||||||
|
|
||||||
Remove Lazy Init of Eventtables
|
- Add Lazy Init of Eventtables
|
||||||
-------------------------------
|
|
||||||
Was introduced as a bug-fix, not needed anymore, consumes
|
|
||||||
considerable CPU time.
|
|
||||||
|
|
||||||
|
|
||||||
Modules/Plugins
|
Modules/Plugins
|
||||||
@@ -80,11 +140,13 @@ Hide the platform problems (GTK: 'children' must be siblings) in encapsulation
|
|||||||
in order to avoid problems on ports where the hierarchy must be
|
in order to avoid problems on ports where the hierarchy must be
|
||||||
'correct'.
|
'correct'.
|
||||||
|
|
||||||
Miscellaneous
|
wxMiscellaneous
|
||||||
=============
|
===============
|
||||||
|
|
||||||
- wxDC Support for point to char-position with text rendering.
|
- wxDC Support for point to char-position with text rendering
|
||||||
- wxLocale Extension (eg currency).
|
- wxLocale Extension (eg Currency)
|
||||||
- wxStreams review.
|
- wxStreams review
|
||||||
|
- wxURL?
|
||||||
|
|
||||||
|
|
||||||
|
Version: $Id$
|
||||||
|
Reference in New Issue
Block a user