]> git.saurik.com Git - wxWidgets.git/blob - docs/msw/todo.txt
Changed documentation const convention for non-objects; added some manual files
[wxWidgets.git] / docs / msw / todo.txt
1
2 Todo on wxWin 2.0, Windows platform
3 -----------------------------------
4
5 HIGH PRIORITY
6 -------------
7
8 Integrate Robert's wxGrid enhancements.
9
10 Find/add wxThread sample - Arthur T-D?
11
12 wxControl dimensions should be optionally based on dialog font
13 size for portability (dialog units as per Windows).
14
15 Implement wxDC floating point transformations.
16
17 Remove transformation from device to logical coordinates from
18 events e.g. mouse events.
19
20 Add wxDC::DeviceToLogical -> wxPoint etc (convenience accessors).
21
22 Revamp Dialog Editor for new controls and properties (e.g.
23 window id).
24
25 Registry classes (check out wxConfig class - see issues.txt).
26
27 Update manual.
28 wxApp changes DONE
29 wxMenu changes DONE
30 wxModule DONE
31 wxRegion DONE
32 wxFile DONE
33 wxTempFile
34 wxMask DONE
35 wxDC:Blit DONE
36 wxTaskBarIcon DONE
37 wxMsgCatalog etc.
38 wxLog
39 wxConfig, wxRegKey
40 wxTabCtrl
41 wxWave
42 wxJoystick
43 wxStatusBar95 and wxFrame status bar functions
44 wxListBox changes (for ownerdraw functionality)
45 wxThread
46 wxString
47 wxTString
48 Drag and drop (change API if required, e.g. const).
49 wxCheckListBox
50 wxBaseArray, other arrays
51 (wxOwnerDrawn)
52 Various events
53 Document the include file for each class
54
55 Write tutorial.
56
57 Other static classes.
58
59 Makefiles for other compilers. Generic makefiles?
60 Rewrite makefiles to maintain simultaneous debug/release
61 objects.
62
63 More wxSystemSettings (see comment in settings.cpp).
64
65 wxSocket integration.
66
67 wxListCtrl, wxTreeCtrl, wxImageList integration with Robert
68 Roebling's classes.
69
70 Convert OGL, other utilities and samples.
71
72 Check TODO entries.
73
74 Change #include "wx/xxx.h" to #include <wx/xxx.h>
75
76 Tidy code further, e.g. formatting from DevStudio, plus
77 standard header.
78
79 Shell function to invoke a document with open, print, whatever...
80
81 wxTextCtrl (and wxMultiText/wxTextWindow in wxWin 1.xx) - differences between Edit
82 and RichEdit controls.
83
84 Make use of Vadim's gettext implementation throughout wxWin code.
85 Document it.
86
87 Change wxUpdateIterator to use wxRegion; or scrap
88 wxUpdateIterator? See wxGTK.
89
90 Check WXWIN_COMPATIBILITY mode, remove any unnecessary #ifdefs.
91
92 Retain callback functions; have semi-compatible callback function prototypes
93 for all controls, at least in WXWIN_COMPATIBLE mode, but
94 retain (Set)Callback for all compilations. This is following a
95 panicky response to losing callbacks.
96
97 Merge dib.cpp, dibutils.cpp.
98
99 Simplify the toolbar samples.
100
101 Add a wxTabCtrl sample.
102
103 EVT_ENTER/LEAVE_WINDOW: Perhaps one approach to reliable implementation of
104 EVT_LEAVE_WINDOW is to set a flag when the mouse pointer is in a window,
105 then in idle time, check this window.
106 If the flag is set but the mouse pointer is outside the window, then
107 it's time to generate an EVT_LEAVE_WINDOW. This would be necessary at
108 least for the case when the mouse cursor goes off the application windows,
109 and no motion event was generated (i.e. you moved the mouse quickly!).
110 If it goes from one app window to another, you could generate the event sooner.
111
112 LOW PRIORITY
113 ------------
114
115 Debug PNG support in wxBitmap (no 4-bit support), and possibly add a convertor from PNG
116 to HICON. We could perhaps also support inclusion of PNGs into
117 a .res file as a custom resource.
118
119 Fonts: ability to enumerate them.
120
121 Angled text.
122
123 Eliminate Set/GetDefaultBackgroundColour? Just take background
124 colour for child control instead.
125
126 Think about reimplementing wxBitmapButton, wxStaticBitmap using
127 BS_BITMAP, SS_BITMAP - but this may not allow wxBitmap
128 argument, so instead just allow controls loaded from native
129 resource to deal with this style and call default processing.
130
131 Completion of drag and drop support (Vadim).
132
133 Better clipboard support.
134
135 Toolbars: use event tables not virtual functions.
136
137 wxWizard class?
138
139 Doc/view - have some standard views/docs e.g. wxTextView.
140
141 wxClassWizard for generating files, chunks of code.
142
143 Miscellaneous file/system function wrappers.
144
145 wxImage or replacement; further wxBitmap/wxIcon etc. functions
146 (load animated icos).
147
148 Integrate existing multimedia classes.
149
150 Rich text class?
151
152 Optimize size further.
153
154 wxThread integration.
155
156 Look at WinCE stuff incl. database classes.
157
158 Improve conversion guide, compatibility classes, tools?
159
160 Bug database.
161
162 ActiveX support?
163
164 OpenGL integration.
165
166 Menu bitmaps - document Vadim's enhancements.
167
168 Enhance Tex2RTF to generate Microsoft HTML help, perhaps Netscape
169 HTML help also.
170
171 wxCreateDynamicObject is apparently slow: ~ 2000 calls to strcmp. Need to
172 use some kind of hash table scheme.
173
174 Write wxDisplay class for querying settings and passing
175 to wxFrame to mirror the X situation (multiple displays).
176
177 Write translator between old and new .wxr formats (including
178 substituting static text for obsolete labels).
179
180 Improve and expand wxSizer classes.
181
182 Write more validators.
183
184 Classes for file/OS utility functions.
185
186 Add support for more static controls e.g. wxStaticLine.
187
188 GDI objects could be optimised further in constructors by
189 searching for a matching, pre-existing object, and assigning from
190 that, thus sharing the internal handle. A problem with this
191 arises if you wish to change the data. But this can be handled by
192 un-refing and creating a new handle. So we could reuse many
193 Windows GDI objects without troubling the programmer. We might
194 wish to switch this off in certain circumstances, e.g.
195
196 wxEnableGDIReuse(FALSE);
197 wxBrush brush(...);
198 wxEnableGDIReuse(TRUE);
199
200 or even
201
202 wxGDIReuse reuse(FALSE);
203 wxBrush brush(...);
204
205 which lasts until its scope ends. This might be needed e.g. if we
206 needed to ensure that the operation was maximally efficient
207 (creating a new object rather than searching may or may not be
208 more efficient).
209
210 Perhaps rewrite wxFile to use FILE* descriptors, so Eof and Flush
211 can work.