added some wxMSW stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
273
docs/msw/changes.txt
Normal file
273
docs/msw/changes.txt
Normal file
@@ -0,0 +1,273 @@
|
||||
|
||||
wxWindows 2.0 for Windows Change Log
|
||||
------------------------------------
|
||||
|
||||
Alpha 11, May ??th 1998
|
||||
-----------------------
|
||||
|
||||
- Added thread.h, thread.cpp.
|
||||
- Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu,
|
||||
wxMenuBar.
|
||||
- Changed wxMenuItem::SetBackColor to SetBackgroundColour,
|
||||
SetTextColor to SetTextColour, and added or made public several
|
||||
wxMenuItem accessors.
|
||||
- Added two overloads to wxRegion::Contains. Added
|
||||
wxRegion::IsEmpty for a more consistent naming convention.
|
||||
|
||||
Alpha 10, May 7th 1998
|
||||
----------------------
|
||||
|
||||
- Added desiredWidth, desiredHeight parameters to wxBitmapHandler
|
||||
and wxIcon functions so that you can specify what size of
|
||||
icon should be loaded. Probably will remain a Windows-specific thing.
|
||||
- wxStatusBar95 now works for MDI frames.
|
||||
- Toolbars in MDI frames now behave normally. They still
|
||||
require application-supplied positioning code though.
|
||||
- Changed installation instructions, makefiles and batch files
|
||||
for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp
|
||||
change to support Mingw32/EGCS. Bison now used by default.
|
||||
|
||||
Alpha 9, April 27th 1998
|
||||
------------------------
|
||||
|
||||
- Cured bug in wxStatusBar95 that caused a crash if multiple
|
||||
fields were used.
|
||||
- Added Gnu-Win32 b19/Mingw32 support by changing resource
|
||||
compilation and pragmas.
|
||||
- Cured wxMenu bug introduced in alpha 8 - didn't respond to
|
||||
commands because VZ changed the id setting in wxMenu::MSWCommand.
|
||||
|
||||
Alpha 8, April 17th 1998
|
||||
------------------------
|
||||
|
||||
- Added IsNull to wxGDIObject to check if the ref data is present or not.
|
||||
- Added PNG handler and sample - doesn't work for 16-bit PNGs for
|
||||
some reason :-(
|
||||
- Added wxJoystick class and event handling, and simple demo.
|
||||
- Added simple wxWave class. Needs Stop() function.
|
||||
- Added wxModule (module.h/module.cpp) to allow definition
|
||||
of modules to be initialized and cleaned up on wxWindows
|
||||
startup/exit.
|
||||
- Start of Mingw32 compatibility (see minimal and dialogs samples
|
||||
makefile.m95 files, and install.txt).
|
||||
- Note: Windows printing has stopped working... will investigate.
|
||||
VADIM'S CHANGES:
|
||||
- Updated wxString: bug fixes, added wxArrayString, some
|
||||
compatibility functions.
|
||||
- Updated log.h/cpp, added wxApp::CreateLogTarget.
|
||||
- file.h: new wxTempFile class.
|
||||
- defs.h: added wxSB_SIZE_GRIP for wxStatusBar95
|
||||
- statbr95: wxStatusBar95 control.
|
||||
- registry.h/cpp: wxRegKey class for Win95 registry.
|
||||
- listbox.cpp: corrected some bugs with owner-drawn listboxes.
|
||||
- wxConfig and wxFileConfig classes.
|
||||
|
||||
Alpha 7, March 30th 1998
|
||||
------------------------
|
||||
|
||||
- Added tab classes, tab sample.
|
||||
- Now can return FALSE from OnInit and windows will be
|
||||
cleaned up properly before exit.
|
||||
- Improved border handling so panels don't get borders
|
||||
automatically.
|
||||
- Debugged MDI activation from Window menu.
|
||||
- Changes to memory debug handling, including checking for
|
||||
memory leaks on application exit - but see issues.txt for
|
||||
unresolved issues.
|
||||
- Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar)
|
||||
to allow maintenance of an icon in the Windows 95 taskbar
|
||||
tray area.
|
||||
- Got MFC sample working (MFC and wxWindows in the same
|
||||
application), partly by tweaking ntwxwin.mak settings.
|
||||
- Got DLL compilation working again (VC++).
|
||||
- Changed wxProp/Dialog Editor filenames.
|
||||
|
||||
Alpha 6, March 10th 1998
|
||||
------------------------
|
||||
|
||||
- Found stack error bug - stopped unwanted OnIdle recursion.
|
||||
- Removed bug in wxTreeCtrl::InsertItem I added in alpha 5.
|
||||
- Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will
|
||||
check if the number of top-level windows is zero before
|
||||
exiting. Also, wxApp::GetTopWindow will return either
|
||||
m_topWindow or the first member of wxTopLevelWindows, so you
|
||||
don't have to call wxApp::SetTopWindow.
|
||||
- Added dynarray.h/dynarray.cpp (from Vadim).
|
||||
- Added first cut at OLE drag and drop (from Vadim). dnd sample
|
||||
added. Drop target only at this stage. See src/msw/ole/*.cpp,
|
||||
wx/include/msw/ole/*.h. WIN32 only because of UUID usage.
|
||||
Doesn't work with GnuWin32 - no appropriate headers e.g. for
|
||||
IUnknown.
|
||||
Doesn't work with BC++ either - crashes on program startup.
|
||||
- Added Vadim's owner-draw modifications - will probably remain
|
||||
Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample.
|
||||
- Added wxLB_OWNERDRAW for owner-draw listboxes.
|
||||
- Vadim's wxCheckListBox derives from wxListBox. See checklst sample.
|
||||
Doesn't entirely work for WIN16.
|
||||
- Vadim has added wxMenuItem as a separate file menuitem.cpp. It
|
||||
can also be used as an argument to wxMenu::Append, not just for
|
||||
internal implementation.
|
||||
- Some #ifdefs done for MINGW32 compilation (just alter OPTIONS
|
||||
in makeg95.env, together with mingw32.bat). However, resource
|
||||
binding is not working yet so most apps with dialogs crash.
|
||||
|
||||
Alpha 5, 14th February 1998
|
||||
---------------------------
|
||||
|
||||
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
|
||||
DISTRIBUTIONS. This change log will therefore now refer to
|
||||
the Windows-specific code only. See docs/changes.txt for generic
|
||||
changes.
|
||||
- Removed Windows-specific reference counting system (GDI
|
||||
resources were cleaned up in idle time) - minimal
|
||||
advantages now we have a wxWin reference counting system.
|
||||
- Added missing WXDLLEXPORT keywords so DLL compilation works
|
||||
again.
|
||||
- Removed most warnings for GnuWin32 compilation.
|
||||
- Added wxRegion/wxRegionIterator, but haven't yet used it in
|
||||
e.g. wxDC.
|
||||
|
||||
Alpha 4, 31st January 1998
|
||||
--------------------------
|
||||
|
||||
- Changed wxDC functions to take longs instead of floats. GetSize now takes
|
||||
integer pointers, plus a version that returns a wxSize.
|
||||
- const keyword added to various wxDC functions.
|
||||
- Under Windows, wxDC no longer has any knowledge of whether
|
||||
an associated window is scrolled or not. Instead, the device
|
||||
origin is set by wxScrolledWindow in wxScrolledWindow::PrepareDC.
|
||||
- wxScrolledWindow applications can optionally override the virtual OnDraw
|
||||
function instead of using the OnPaint event handler. The wxDC passed to
|
||||
OnDraw will be translated by PrepareDC to reflect scrolling.
|
||||
When drawing outside of OnDraw, must call PrepareDC explicitly.
|
||||
- wxToolBarBase/wxToolBarSimple similarly changed to allow for
|
||||
scrolling toolbars.
|
||||
- Integrated wxPostScriptDC patches for 1.xx by Chris Breeze,
|
||||
to help printing with multiple pages.
|
||||
- IPC classes given base classes (wxConnectionBase etc.) which
|
||||
define the API used by different implementations. DDE
|
||||
implementation updated to use these base classes.
|
||||
- wxHelpInstance now separated into wxHelpControllerBase (base
|
||||
for all implementations), wxWinHelpController (uses standard
|
||||
WinHelp), wxXLPHelPController (talks to wxHelp by DDE or
|
||||
TCP/IP). There will be others eventually, such as
|
||||
wxHTMLHelpController for Microsoft (and Netscape?) HTML Help.
|
||||
- Added Vadim Zeitlin's wxString class plus
|
||||
internationalization code (gettext simulation, wxLocale, etc.).
|
||||
New files from Vadim:
|
||||
include\wx\string.h
|
||||
include\wx\debug.h
|
||||
include\wx\file.h
|
||||
include\wx\log.h
|
||||
include\wx\intl.h
|
||||
src\common\string.cpp
|
||||
src\common\log.cpp
|
||||
src\common\intl.cpp
|
||||
src\common\file.cpp
|
||||
No longer use GNU wxString files.
|
||||
- Split off file-related functions into include\wx\filefn.h and
|
||||
src\common\filefn.cpp.
|
||||
- Borland C++ support (WIN32) for main library and
|
||||
samples, using makefile.b32 files.
|
||||
- Preparation done for allowing BC++ to compile wxWin as a DLL,
|
||||
including changes to defs.h.
|
||||
- wxIntPoint removed, wxPoint is now int, and wxRealPoint
|
||||
introduced.
|
||||
- Added wxShowEvent (generated when window is being shown or
|
||||
hidden).
|
||||
- Got minimal, docview, mdi samples working for 16-bit VC++ and
|
||||
cured 16-bit problem with wxTextCtrl (removed global memory
|
||||
trick).
|
||||
- Updated GnuWin32 makefiles, checked minimal, mdi, docview samples.
|
||||
|
||||
Alpha 3, September 1997
|
||||
-----------------------
|
||||
|
||||
- wxListCtrl, wxTreeCtrl, wxImageList classes done.
|
||||
- Instigated new file hierarchy, split files and classes up more logically.
|
||||
- PrologIO and some other utils now put into core library.
|
||||
- Revamped print/preview classes, added wxPageSetupDialog.
|
||||
- Started documentation.
|
||||
|
||||
Alpha 2, 30th April 1997
|
||||
------------------------
|
||||
|
||||
- EVT_... macros now have at least one argument, for conformance
|
||||
with MetroWerks compiler.
|
||||
- Added ids to .wxr file format.
|
||||
- Got Dialog Editor compiled and running again but need
|
||||
to extend functionality to be in line with new controls.
|
||||
Added dialoged\test app to allow dynamic loading of .wxr files
|
||||
for testing purposes.
|
||||
- Rewrote wxBitmap to allow installable file type
|
||||
handlers.
|
||||
- Rewrote wxBitmapButton, wxStaticBitmap to not use Fafa.
|
||||
- Wrote most of wxTreeCtrl and sample (need wxImageList to implement it
|
||||
fully).
|
||||
- Added back wxRadioBox.
|
||||
- Tidied up wx_main.cpp, wxApp class, putting PenWin code in
|
||||
a separate file.
|
||||
|
||||
Alpha 1, 5th April 1997
|
||||
-----------------------
|
||||
|
||||
At this point, the following has been achieved:
|
||||
|
||||
- A lot, but not all, of the code has been revamped for better
|
||||
naming conventions, protection of data members, and use of
|
||||
wxString instead of char *.
|
||||
- Obsolete functionality deleted (e.g. default wxPanel layout,
|
||||
old system event system) and code size reduced.
|
||||
- Class hierarchy changed (see design doc) - base classes such
|
||||
as wxbWindow now removed.
|
||||
- No longer includes windows.h in wxWin headers, by using stand-in
|
||||
Windows types where needed e.g. WXHWND.
|
||||
- PrologIO revised.
|
||||
- wxScrolledWindow, wxStatusBar and new MDI classes added.
|
||||
MDI is now achived using separate classes, not window styles.
|
||||
- wxSystemSettings added, and made use of to reflect standard
|
||||
Windows settings.
|
||||
- SetButtonFont/SetLabelFont replaced by SetFont; font and colour
|
||||
settings mucho rationalised.
|
||||
- All windows are now subclassed with the same window proc to make
|
||||
event handling far more consistent. Old internal wxWnd and derived
|
||||
classes removed.
|
||||
- API for controls revised, in particular addition of
|
||||
wxValidator parameters and removal of labels for some controls.
|
||||
- 1 validator written: see examples/validate.
|
||||
- Event table system introduced (see most samples and
|
||||
wx_event.cpp/ProcessEvent, wx_event.h). wxEvtHandler
|
||||
made more flexible, with Push/PopEventHandler allowing a chain
|
||||
of event handlers.
|
||||
- wxRadioBox removed - will be added back soon.
|
||||
- Toolbar class hierarchy revised:
|
||||
wxToolBarBase
|
||||
wxToolBarSimple (= old wxToolBar)
|
||||
wxToolBar95 (= old wxButtonBar under Win95
|
||||
wxToolBarMSW (= old wxButtonBar under WIN16/WIN32)
|
||||
- Constraint system debugged somewhat (sizers now work properly).
|
||||
- wxFileDialog, wxDirDialog added; other common dialogs now
|
||||
have class equivalents. Generic colour and font dialogs
|
||||
rewritten to not need obsolete panel layout.
|
||||
- .wxr resource system partially reinstated, though needs
|
||||
an integer ID for controls. Hopefully the resource system
|
||||
will be replaced by something better and more efficient
|
||||
in the future.
|
||||
- Device contexts no longer stored with window and accessed
|
||||
with GetDC - use wxClientDC, wxPaintDC, wxWindowDC stack
|
||||
variables instead.
|
||||
- wxSlider uses trackbar class under Win95, and wxSL_LABELS flag
|
||||
determines whether labels are shown. Other Win95-specific flags
|
||||
introduced, e.g. for showing ticks.
|
||||
- Styles introduced for dealing with 3D effects per window, for
|
||||
any window: all Win95 3D effects supported, plus transparent windows.
|
||||
- Major change to allow 3D effect support without CTL3D, under
|
||||
Win95.
|
||||
- Bitmap versions of button and checkbox separated out into new
|
||||
classes, but unimplemented as yet because I intend to remove
|
||||
the need for Fafa - it apparently causes GPFs in Win95 OSR 2.
|
||||
- utils/wxprop classes working (except maybe wxPropertyFormView)
|
||||
in preparation for use in Dialog Editor.
|
||||
- GNU-WIN32 compilation verified (a month or so ago).
|
||||
|
||||
|
128
docs/msw/install.txt
Normal file
128
docs/msw/install.txt
Normal file
@@ -0,0 +1,128 @@
|
||||
|
||||
Installing wxWindows 2.0
|
||||
------------------------
|
||||
|
||||
Unarchiving
|
||||
-----------
|
||||
|
||||
If there is a setup program, run the setup program that comes with the Windows version.
|
||||
Do not install into a path that contains spaces. The installation program should set the
|
||||
WXWIN environment variable, which will be activated when your machine is rebooted.
|
||||
|
||||
If there is no setup program, it will come as a series of .zip
|
||||
files:
|
||||
|
||||
wx200gen.zip Generic source code and samples (required)
|
||||
wx200msw.zip Windows-specific source code and samples (required)
|
||||
wx200doc.zip Documentation source code (not required)
|
||||
wx200hlp.zip WinHelp documentation
|
||||
wx200ps.zip PostScript documentation (will probably
|
||||
disappear in favour of PDF)
|
||||
wx200pdf.zip Acrobat PDF documentation
|
||||
wx200htm.zip HTML documentation
|
||||
|
||||
Unarchive the required files plus any optional documentation
|
||||
files into a suitable directory such as c:\wx. Alter your
|
||||
WXWIN environment variable to point to this directory.
|
||||
|
||||
Compilation
|
||||
-----------
|
||||
|
||||
At present, wxWindows compiles with VC++ 1.5, VC++ 4.0, VC++ 5.0,
|
||||
BC++ 4.5/5.0, Gnu-Win32 b19, and Mingw32.
|
||||
|
||||
Visual C++ 4.0/5.0 compilation
|
||||
------------------------------
|
||||
|
||||
1. Change directory to wx\src\msw. Type 'nmake -f makefile.nt' to
|
||||
make the wxWindows core library.
|
||||
2. Change directory to wx\samples and type 'nmake -f makefile.nt'
|
||||
to make all the samples. You can also make them individually.
|
||||
|
||||
Visual C++ 1.5 compilation
|
||||
--------------------------
|
||||
|
||||
1. Change directory to wx\src\msw. Type 'nmake -f makefile.dos' to
|
||||
make the wxWindows core library.
|
||||
2. Change directory to wx\samples and type 'nmake -f makefile.b32'
|
||||
to make all the samples. You can also make them individually.
|
||||
NOTE: only a few samples have up-to-date makefiles, e.g.
|
||||
minimal, docview, mdi. The utils makefile does not yet work.
|
||||
|
||||
Borland C++ 4.5/5.0 compilation
|
||||
-------------------------------
|
||||
|
||||
1. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
|
||||
make the wxWindows core library.
|
||||
2. Change directory to wx\samples and type 'make -f makefile.b32'
|
||||
to make all the samples. You can also make them individually.
|
||||
NOTE: only a few samples have up-to-date makefiles, e.g.
|
||||
minimal, docview, mdi. The utils makefile does not yet work.
|
||||
|
||||
Gnu-Win32 b19/Mingw32 compilation
|
||||
---------------------------------
|
||||
|
||||
wxWindows 2.0 supports Gnu-Win32 b19, Mingw32, and Mingw32/EGCS.
|
||||
|
||||
Thanks are due to Keith Garry Boyce (garp@opustel.com) and Cygnus for making
|
||||
it all possible.
|
||||
|
||||
From wxWindows 2.0 beta 9, both Gnu-Win32 b19 and Mingw32 (the minimal
|
||||
distribution of Gnu-Win32) can be used with the same makefiles.
|
||||
|
||||
Here are the steps required:
|
||||
|
||||
- Retrieve and install the latest beta of Gnu-Win32, or Mingw32, as per the
|
||||
instructions with either of these packages.
|
||||
|
||||
- If using Mingw32 (including the EGCS variant), you need some
|
||||
extra files to use the wxWindows makefiles. You can find these
|
||||
files in ports/mingw32 on the ftp site or CD-ROM, as extra.zip.
|
||||
These should be extracted to the Mingw32 directory.
|
||||
|
||||
- Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
|
||||
to set up appropriate variables, if necessary mounting drives.
|
||||
Run it before compiling.
|
||||
|
||||
- For Gnu-Win32, make sure there's a \tmp directory on your
|
||||
Windows drive or bison will crash.
|
||||
|
||||
- Edit wx/src/makeg95.env and search for MINGW32. Take note of
|
||||
the comments for adjusting settings to suit Gnu-Win32 or
|
||||
Mingw32. Basically, this is just a case of adding the __MINGW32__ symbol
|
||||
to OPTIONS for Mingw32, or removing it for Cygnus Gnu-Win32.
|
||||
For Mingw32/EGCS, add both __MINGW32__ and __EGCS__.
|
||||
|
||||
- Use the makefile.g95 files for compiling wxWindows and samples,
|
||||
e.g.:
|
||||
> cd c:\wx\src\msw
|
||||
> make -f makefile.g95
|
||||
> cd c:\wx\samples\minimal
|
||||
> make -f makefile.g95
|
||||
|
||||
- Use the 'strip' command to reduce executable size.
|
||||
|
||||
- With Cygnus Gnu-Win32, you can invoke gdb --nw myfile.exe to
|
||||
debug an executable.
|
||||
|
||||
- If using GnuWin32 b18, you will need to copy windres.exe
|
||||
from e.g. the Mingw32 distribution, to a directory in your path.
|
||||
|
||||
All targets have 'clean' targets to allow removal of object files
|
||||
and other intermediate compiler files.
|
||||
|
||||
Gotchas:
|
||||
|
||||
- libwx.a is 28 MB or more.
|
||||
- install.exe doesn't have built-in decompression because lzexpand.lib
|
||||
isn't available with Gnu-Win32. However, you can use it with external
|
||||
decompression utilities.
|
||||
|
||||
References:
|
||||
|
||||
- The GNU-WIN32 site is at
|
||||
http://www.cygnus.com/gnu-win32/
|
||||
- Mingw32 is available at:
|
||||
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/index.html
|
||||
- See also http://web.ukonline.co.uk/julian.smart/wxwin/gnuwin32.htm
|
||||
|
67
docs/msw/issues.txt
Normal file
67
docs/msw/issues.txt
Normal file
@@ -0,0 +1,67 @@
|
||||
Current issues and bugs
|
||||
-----------------------
|
||||
|
||||
Debugging code
|
||||
--------------
|
||||
|
||||
wxDebugContext and global memory operators doesn't work correctly,
|
||||
for different (unresolved) reasons on different compilers.
|
||||
|
||||
1) In VC++ 5.0, if you use wxDebugAlloc for new and wxDebugFree
|
||||
for delete, you get a crash to do with deallocating the debug
|
||||
buffer in wxDebugContext. So although the global operators are
|
||||
defined, they are #ifdefed to just call malloc and free to avoid
|
||||
the problem. This means that non-object memory checking doesn't work.
|
||||
The problem does seem to be something to do with a pointer
|
||||
mysteriously changing its address, very similar to 2).
|
||||
|
||||
2) In BC++ 4.5, there isn't a crash, but instead the ofstream
|
||||
pointer passed to SetStream from SetFile (which is called in
|
||||
memcheck.cpp) gets mysteriously changed as it's passed to SetStream.
|
||||
This means that when counting the number of outstanding memory
|
||||
blocks, we can't compare the allocated block with m_debugStream
|
||||
to say 'ignore this block because we can't free it before the
|
||||
very end of the application'. Therefore it always looks like
|
||||
there's a memory leak of one object, in memory.cpp, unless you
|
||||
don't call wxDebugContext::SetFile.
|
||||
|
||||
The fact that pointers appear to change in both cases must
|
||||
indicate a common problem and solution. If we could use the
|
||||
standard global memory operators for ofstream and
|
||||
wxDebugStreamBuf it might help, but I don't know how to do that -
|
||||
I've redefined 'new' throughout as WXDEBUG_NEW (which is itself
|
||||
defined as the 3-argument operator).
|
||||
|
||||
Config/registry classes
|
||||
-----------------------
|
||||
|
||||
Problems with Karsten's/Vadim's existing AppConfig classes:
|
||||
|
||||
- use char* a lot instead of wxString
|
||||
- rather hard to understand
|
||||
- will need fairly substantial rewrite
|
||||
- no native .ini functions (?) for guaranteed Windows
|
||||
compatibility
|
||||
- new wxWin docs required
|
||||
|
||||
Good things:
|
||||
|
||||
- exists!
|
||||
- FileConfig independent of OS
|
||||
- specifying a base class that will meet nearly all needs for
|
||||
derived classes
|
||||
- enumerator
|
||||
|
||||
Other features we should probably have:
|
||||
|
||||
- ability to specify vendor name/app name in constructor
|
||||
- under Windows, ability to read/write all areas of registry
|
||||
as an option
|
||||
|
||||
Options:
|
||||
|
||||
- rewrite AppConfig
|
||||
- start from own CRegistry class
|
||||
- take elements from both
|
||||
- do the Windows stuff, let someone else write/adapt the
|
||||
non-Windows classes
|
5
docs/msw/readme.txt
Normal file
5
docs/msw/readme.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
This is the wxWindows for Windows Preview.
|
||||
|
||||
For more information, please see changes.txt, todo.txt, and the
|
||||
manuals.
|
||||
|
202
docs/msw/todo.txt
Normal file
202
docs/msw/todo.txt
Normal file
@@ -0,0 +1,202 @@
|
||||
|
||||
Todo on wxWin 2.0, Windows platform
|
||||
-----------------------------------
|
||||
|
||||
HIGH PRIORITY
|
||||
-------------
|
||||
|
||||
Integrate Robert's wxGrid enhancements.
|
||||
|
||||
Find/add wxThread sample - Arthur T-D?
|
||||
|
||||
wxControl dimensions should be optionally based on dialog font
|
||||
size for portability (dialog units as per Windows).
|
||||
|
||||
Implement wxDC floating point transformations.
|
||||
|
||||
Remove transformation from device to logical coordinates from
|
||||
events e.g. mouse events.
|
||||
|
||||
Add wxDC::DeviceToLogical -> wxPoint etc (convenience accessors).
|
||||
|
||||
Revamp Dialog Editor for new controls and properties (e.g.
|
||||
window id).
|
||||
|
||||
Registry classes (check out wxConfig class - see issues.txt).
|
||||
|
||||
Update manual.
|
||||
wxApp changes DONE
|
||||
wxMenu changes DONE
|
||||
wxModule DONE
|
||||
wxRegion DONE
|
||||
wxFile DONE
|
||||
wxTempFile
|
||||
wxMask DONE
|
||||
wxDC:Blit DONE
|
||||
wxTaskBarIcon DONE
|
||||
wxMsgCatalog etc.
|
||||
wxLog
|
||||
wxConfig, wxRegKey
|
||||
wxTabCtrl
|
||||
wxWave
|
||||
wxJoystick
|
||||
wxStatusBar95 and wxFrame status bar functions
|
||||
wxListBox changes (for ownerdraw functionality)
|
||||
wxThread
|
||||
wxString
|
||||
wxTString
|
||||
Drag and drop (change API if required, e.g. const).
|
||||
wxCheckListBox
|
||||
wxBaseArray, other arrays
|
||||
(wxOwnerDrawn)
|
||||
Various events
|
||||
Document the include file for each class
|
||||
|
||||
Write tutorial.
|
||||
|
||||
Other static classes.
|
||||
|
||||
Makefiles for other compilers. Generic makefiles?
|
||||
Rewrite makefiles to maintain simultaneous debug/release
|
||||
objects.
|
||||
|
||||
More wxSystemSettings (see comment in settings.cpp).
|
||||
|
||||
wxSocket integration.
|
||||
|
||||
wxListCtrl, wxTreeCtrl, wxImageList integration with Robert
|
||||
Roebling's classes.
|
||||
|
||||
Convert OGL, other utilities and samples.
|
||||
|
||||
Check TODO entries.
|
||||
|
||||
Change #include "wx/xxx.h" to #include <wx/xxx.h>
|
||||
|
||||
Tidy code further, e.g. formatting from DevStudio, plus
|
||||
standard header.
|
||||
|
||||
Shell function to invoke a document with open, print, whatever...
|
||||
|
||||
wxTextCtrl (and wxMultiText/wxTextWindow in wxWin 1.xx) - differences between Edit
|
||||
and RichEdit controls.
|
||||
|
||||
Make use of Vadim's gettext implementation throughout wxWin code.
|
||||
Document it.
|
||||
|
||||
Change wxUpdateIterator to use wxRegion; or scrap
|
||||
wxUpdateIterator? See wxGTK.
|
||||
|
||||
Check WXWIN_COMPATIBILITY mode, remove any unnecessary #ifdefs.
|
||||
|
||||
Retain callback functions; have semi-compatible callback function prototypes
|
||||
for all controls, at least in WXWIN_COMPATIBLE mode, but
|
||||
retain (Set)Callback for all compilations. This is following a
|
||||
panicky response to losing callbacks.
|
||||
|
||||
Merge dib.cpp, dibutils.cpp.
|
||||
|
||||
Simplify the toolbar samples.
|
||||
|
||||
Add a wxTabCtrl sample.
|
||||
|
||||
LOW PRIORITY
|
||||
------------
|
||||
|
||||
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.
|
||||
|
||||
Eliminate Set/GetDefaultBackgroundColour? Just take background
|
||||
colour for child control instead.
|
||||
|
||||
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.
|
||||
|
||||
Completion of drag and drop support (Vadim).
|
||||
|
||||
Better clipboard support.
|
||||
|
||||
Toolbars: use event tables not virtual functions.
|
||||
|
||||
wxWizard class?
|
||||
|
||||
Doc/view - have some standard views/docs e.g. wxTextView.
|
||||
|
||||
wxClassWizard for generating files, chunks of code.
|
||||
|
||||
Miscellaneous file/system function wrappers.
|
||||
|
||||
wxImage or replacement; further wxBitmap/wxIcon etc. functions
|
||||
(load animated icos).
|
||||
|
||||
Integrate existing multimedia classes.
|
||||
|
||||
Rich text class?
|
||||
|
||||
Optimize size further.
|
||||
|
||||
wxThread integration.
|
||||
|
||||
Look at WinCE stuff incl. database classes.
|
||||
|
||||
Improve conversion guide, compatibility classes, tools?
|
||||
|
||||
Bug database.
|
||||
|
||||
ActiveX support?
|
||||
|
||||
OpenGL integration.
|
||||
|
||||
Menu bitmaps - document Vadim's enhancements.
|
||||
|
||||
Enhance Tex2RTF to generate Microsoft HTML help, perhaps Netscape
|
||||
HTML help also.
|
||||
|
||||
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).
|
||||
|
||||
Improve and expand wxSizer classes.
|
||||
|
||||
Write more validators.
|
||||
|
||||
Classes for file/OS utility functions.
|
||||
|
||||
Add support for more static controls e.g. wxStaticLine.
|
||||
|
||||
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).
|
||||
|
||||
Perhaps rewrite wxFile to use FILE* descriptors, so Eof and Flush
|
||||
can work.
|
Reference in New Issue
Block a user