Distrib things,
[wxWidgets.git] / docs / gtk / changes.txt
1
2 6th August '99: Eight wxGTK 2.1 snapshot released
3
4 The new makefile system is not able to produce shared libraries 
5 on Unix with the exception of Linux - libtool is really great.
6 Therefore, the build system defaults to static libraries on
7 anything but Linux for now.
8
9 Work in wxPen, wxBrush and wxDC to match wxMSW more exactly and
10 to implement missing feature etc.
11
12 Reimplemented radio buttons. The first of a group of such buttons
13 is now marked by having the wxRB_GROUP style.
14
15 Complete redesign of all stream classes, including tests for them
16 in the samples.
17
18 Controls now send the same messages (or more importantly none if
19 changed programmatically) as per wxMSW.
20
21 New implementation of wxSocket using an intermediate library called
22 GSocket. This willl hopefully change in the future.
23
24 Reworked in-place editing of wxListCtrl and wxTreeCtrl.
25
26 Fixed bug reporting two refreshes when scrolling.
27
28 Corrected bug in wxComboBox client data code.
29
30 Corrected reported but unverified bug in BMP loading code.
31
32 Added a few more methods to wxStaticBitmap.
33
34 Integration of wxHTML code in the main library, including wxZIPStream,
35 wxFilesystem, wxHTMLHelpController and others.
36
37 Added a wrapper for ffile() etc functions.
38
39 Updates to wxDynamicLibrary.
40
41 New documentation.
42
43 New version of wxPython, of course.
44
45 Fixed in unenclosed number of other bugs...
46
47 25th June '99: Seventh wxGTK 2.1 snapshot released
48
49 Many fixes to th new makefile system. The last version gave
50 immediate crashes on all Unices except Linux when linked
51 dynamically against an application. I reordered the object
52 files in the library as I guess that this was the cause.
53
54 Added icons to message box. This also slightly killed the
55 layout so this needs to be changed again.
56
57 wxGTK now chooses the best visual available on the display instead
58 of the default one.
59
60 Fixed wxProgressDialog again.
61
62 Some more corrections I forgot.
63
64 New wxPython (includes new layout system and printing).
65
66 15th June '99: Sixth wxGTK 2.1 snapshot released
67   
68  
69 The biggest change is the completely rewritten configure/makefile
70 system using automake. The main argument for switching to automake
71 is that the resulting makefiles should be more portable so that
72 people can use the native make utilities instead of GNU make. The
73 new makefile sytem also handles dependencies correctly, allows for
74 shared-only compilation, can be invoked from any directory for
75 concurrent builds wihtin one source tree, uses libtool for greater
76 shared-library platform support, has a functinonal "make uninstall",
77 works with GTK, Motif and WINE, conforms better to GNU standards
78 as far as configure option names are concerned and is easier to 
79 maintain.
80  
81 Applied patches to compile wxGTK on OS/2.
82  
83 Configure checks for byte-order and new defines for byte swapping
84 with respect to the byte-order. Added test for this to typetest sample.
85 Also made BMP handler bigendian safe so that it should work on 
86 Solaris and such. 
87  
88 Small changes to basic drawing stuff: made wxColour actually compare 
89 RGB values in the == operator, added new constructor to wxMask,
90 corrected initial background colour for DCs, it is now possible
91 to use a wxWindowDC etc before there is any window (this doesn't
92 make any sense, but it is what wxMSW does.)
93  
94 Added support for the PRIMARY SELECTION to the wxClipboard
95 class.
96  
97 Fixed redraw bug when scrolling window-less widgets out
98 of the visible area (actually a work-around for a GTK bug).
99  
100 Regrouped some samples, created new one for various versions
101 of the wxTextCtrl.
102  
103 Added wxWindow::Reparent() and wxFrame::MakeModal().
104  
105 Improved handling of column width in wxListCtrl and made
106 this more compatible with the wxMSW version. Also removed
107 a bug from the wxImageList returning an off-by-one id for
108 added images.
109  
110 Fixed keyboard hotkeys and resizing for wxMDIChildFrame
111 menu bars.
112  
113 Added flag to wxSplitterWindow to update its children's
114 sizes "live" instead of moving a XOR'ed bar around - this
115 is a resource-draining option. Also corrected cursors
116 in splitter window.
117  
118 New way to show "disabled" or greyed toolbar items.
119  
120 Rewrote parts of the tree ctrl to allow multiple selections
121 and variable size items (Sylvain). These new function do not
122 exist in the native Win32 tree control.
123  
124 Implemented global cursors and wxBusyCursor etc. Also removed
125 another cursor misbehaviour.
126  
127 Updated many parts of the documentation to reflect changes
128 in wxWindows 2.1, wxPython and more exact description of
129 cross-platform issues as well as platform differences.
130  
131 Many other fixes, mainly by others...
132  
133 Further compile fixes for different architectures.
134  
135
136   
137 25th May '99: Fifth wxGTK 2.1 snapshot released
138   
139
140  
141 This is mostly a bug-fix release. We are having funny
142 times to make wxGTK work well with different micro
143 versions of GTK 1.2 - which is very close to impossible.
144 All versions give warnings, although their number might
145 vary a lot. I use GTK 1.2.3 and only get wanrnings in
146 one sample (notebook) and that one is due to a bug in
147 GTK - some people using GTK 1.2.2 reported hundreds of warnings
148 getting spitted out for what seems like no reason.
149  
150 This snapshot contains the beginnings of our merging of
151 headers, meaning that in the future all ports will
152 use the same headers and will share a lot more code.
153 We have taken this moment to reorganize some code and
154 hope to have eliminated much bad C++ code, as reported
155 primarily by SGI's compilers (Vadim Zeitlin).
156  
157 Rewritten char and key event propagation routines
158 to reflect documentation and do the same on wxGTK
159 as on wxMSW. If you are interested in ascii chars
160 and cursor key etc, intercept EVT_CHAR, if you 
161 are interested in which key actually got pressed,
162 intercept EVT_KEYDOWN (Norbert Irmer).
163  
164 Control that are given -1 as their ID no longer
165 get arbitrary positive IDs assigned but arbitrary
166 negative IDs. This had caused some trouble with ID clashes.
167  
168 wxWindow and wxScrolledWindow no longer use the
169 wxScrollEvent, but the newly invented wxScrollWinEvent
170 so that no mixing up of events sent from wxSliders
171 or wxScrollbars placed in a wxWindow can occur.
172  
173 Added wxProgressDialog for use with long background
174 work such as printing.
175  
176 Added drawing sample and scrolling sample, both of
177 which show some misbehaviours...
178  
179 When drawing with the wxXOR logical mode, wxGTK now uses
180 GdkXOR (instead of GdkInvert) and when drawing in wxINVERT logical
181 mode, wxGTK now uses GdkInvert (as before). When you did some
182 rubberband dragging and you used wxXOR and a black pen, then
183 you should change wxINVERT.
184  
185 Applied more patches for SGI and HP-UX compilation.
186  
187 More updates for wxSockets (Guilhem Lavaux). Seems to be nearly
188 finished.
189  
190 You can now use threads within your GUI again. Well, 
191 at least if you know what you are doing and you had a look 
192 at the threads sample.
193  
194 wxGLCanvas updated so that it can share display lists
195 over several windows and to not exhibit any flicker. 
196 (Norber Irmer).
197  
198 wxNotebook revamped so that its process of creation matches
199 wxMSW's more closely, also avoiding problems with wrong page
200 number. Added InsertPage() and the possibility to prevent
201 switching pages by intercepting the PAGE_CHANGING event. Also,
202 wxNotebooks now get shown even if all pages are empty.
203  
204 Added Activate() to wxMDIChildFrame (Russel).
205  
206 Improved wxSplitterWindow behaviour and visual feed-back when
207 given a minimal size etc (Bruce DeVisser).
208  
209 Minor updates to wxTreeCtrl, wxListBox, printing, wxClipboard,
210 wxString, wxThreads and many others.
211  
212 Also wxMSW got a big face-lift, not to mention the new wxMac release...
213  
214                         
215   
216 11th May '99: Fourth wxGTK 2.1 snapshot released
217   
218  
219 This is mostly a bug-fix release. This affects wxSocket, wxThread,
220 and a few GUI classes. Also more work has been done and window
221 placement and decorations etc. which we hope to have finished now.
222  
223 Applied patches for FreeBSD and SGI compilation (not yet finshed).
224  
225 Updated wxPython to beta 9.
226  
227 Made wxGLCanvas work again - strangely it flickers now...
228  
229 wxStaticText is currently broken with GTK 1.2.2 (which I don't
230 yet have and thus could not fix). Also, scrolling subwindows
231 (although much improved including a sample) doesn't work perfectly
232 due to a bug in GTK 1.2.1 (probably 1.2.2 as well).
233  
234 Added wxStaticLine.
235   
236 Note that the next release might bring about changes to keyboard
237 handling and scroll event intercepting from wxScrolledWindow. 
238  
239 By and large much of the code has stabilized and won't be much
240 different in the final wxWindows 2.1 release. Please test as
241 much as you can.
242  
243 The next release will have a new build system.
244  
245
246   
247 3rd May '99: Third wxGTK 2.1 snapshot released
248   
249  
250 Updated INSTALL.txt and SYMBOLS.txt.
251  
252 Support for Unicode is now almost complete. Most samples work in
253 both Unicode and non-Unicode mode. Thanks to Ove Kaaven and Vadim.
254  
255 Internal changes required for wxOLE and addition of a very experimental
256 wxOLE code section using GNOME's Bonobo library (from GNOME's CVS).
257  
258 New version of wxPython that works with the wxGTK 2.1.
259 This now includes a very comprensive test/demo suite. Thanks to
260 Robin Dunn, Harm v.d. Heijden and others. Beware of the hang-man...
261  
262 More fine tuning of focus handling and GUI widgets.
263  
264 Complete rewrite of wxSocket classes (still experimental).
265 Thanks to Guilhem Lavaux.
266   
267 wxMenuBar supports underlined shortcuts like Windows does,
268 indicated by a leading & character. wxMenus now have hotkeys
269 such as in wxXt and wxMSW.
270   
271 Rewritten MDI subsystem.
272   
273 Correcetions and additions to the printing framework including
274 a paper type database (Julian).
275  
276 Several controls now support more style flags for modifying
277 look (and feel) of the controls and windows.
278  
279 New implementation of idle handlers, which now send an idle
280 event only once after the event queue has been emptied (which
281 is what happens in the wxMSW port as well), not regularly.
282 This no longer forces wxGTK applications to sleep (by having
283 to call usleep()) in idle time - giving more CPU slices to
284 the application if desired.
285  
286 wxGLCanvas (the OpenGl for wxWindows) now accepts keyboard input.
287  
288 The usual number of compile and bug fixes from all involved.
289  
290
291   
292 21st April '99: Second wxGTK 2.1 snapshot released
293   
294  
295 Added much code for Unicode support. Still experimental, but looks very
296 cool - thanks to Ove Kaaven and Vadim Zeitlin. If you are very brave, then
297 you can compile wxGTK with "configure --with-unicode".
298  
299 More updates on the dreaded issue of making frames and dialogs impossible
300 to resize etc.
301  
302 Drag and Drop works now under GTK 1.2 - at least basically when dragging
303 and dropping text. The API is not entirely fixed yet but seems quite
304 good now. Support for different actions (copy/move/link/..) still missing.
305 I also removed support for GTK 1.0 Drag and Drop - this is just broken
306 and unusable in GTK 1.0 and I don't want to fix it.
307  
308 I now embed the JPEG library and handlers for JPEG and GIF have been
309 added to the existing PNG and BMP (and XPM for GTK version only). In
310 the future, the RPMs will not contain these libraries but depend on
311 the image libraries to be preinstalled whereas the source *.tgz will
312 ship with everything that is needed for wxGTK so that no downloading
313 of ten image libs will be required - also avoiding problems with ten
314 different kinds of libJPEG-6.0.1.7.IV beta 7. We also updated the
315 PNG code to the newest PNG version.
316  
317 wxImage now makes use of the fast rendering code as provided by
318 GTK 1.2 whenever possible. This should mean a speed-up for graphics
319 heavy apps.
320  
321 Many fixes all over. Also should compile with GTK 1.2.0 as opposed
322 to only with GTK 1.2.1 now.
323  
324 wxPython still doesn't compile, I think.
325  
326
327   
328 12th April '99: First wxGTK 2.1 snapshot released
329   
330  
331 This is the first developers' version of wxWindows 2.1 for GTK. It's main
332 new feature is that it supports GTK 1.2 (as opposed to GTK 1.0) which
333 will make development within the GNOME evironment a lot easier.
334  
335 Apart from the move to GTK 1.2 and the changes (some major) that were
336 required as part of that work, enhancement or corrections have been
337 made to many of the non-GUI classes and functions (such as wxClipboard, 
338 wxThread, wxSocket, wxConfig)
339 and a few GUI classes (accelerators in menus, listbox always with
340 scrollbar, wxFrame honours Motif Window Manager hints, corrected tab
341 traversal for broken GTK 1.0 widgets).
342  
343 There have been slight changes to the priting dialogs and their
344 setup data (which might break apps using this code in previous
345 versions). Also, a bug concerning printing white has been fixed
346 (actually not tested).
347  
348 Although this is only the first 2.1 snapshot, there is little reason not
349 to use it as many bugs from version 2.0 have been corrected. There are,
350 pf course, still a few problem left with GTK 1.2 (some of which relate
351 to bugs in GTK).
352  
353 I think I preserved backward compatility with GTK 1.0 and if not it
354 should be easy to fix - but mostly I don't care.
355  
356 Drag'N'Drop is currently completely broken. Also, wxPython currently
357 doesn't compile with this release. The OpenGL canvas still seems to
358 work.
359  
360 Major targets for the final release (still a long way): a new configure
361 system, support JPEG and GIF formats, wxHTML, super-duppah frame layout
362 stuff, syntax-highlighting editor, possibly Unicode, possibly some GNOME 
363 gooddies, possibly world domination.
364  
365
366   
367 5th March '99: wxWindows 2.0 released
368   
369  
370 This is the final version of wxWindows 2.0 for GTK. The versions for
371 Windows and Motif (and also this version) are available form Julian Smart's
372 site. The Mac version is still under development.
373  
374
375   
376 19th February '99: wxWindows 2.0 beta 5
377   
378  
379 This is the fifth beta release and it contains mostly bug fixes and
380 updates for documentation.
381  
382 Applied compile fixes for Solaris (different flavours and compilers).
383  
384
385   
386 12th February '99: wxWindows 2.0 beta 4
387   
388  
389 This is the fourth beta release and it contains mostly bug fixes and
390 updates for documentation.
391  
392 Tracked a few more cases, where the bahaviour between wxMSW and wxGTK
393 differed. This was the case for closing a dialog or frame as well as
394 for clearing a device context or setting its background colour and some
395 other minor details.
396  
397 Most standard dialogs have been face-liftet a little.
398  
399 Implememted default buttons for GTK.
400  
401 Fixed many bugs. You guessed it.
402  
403
404   
405 29th January '99: wxWindows 2.0 beta 3
406   
407  
408 This is the third beta release and it contains mostly bug fixes. 
409  
410 There is one field where we haven't been able to fix the API yet, and that
411 it Drag'n'Drop. This is mostly due to the fact that DnD in
412 GTK 1.0 is hardly usable and much different from GTK 1.2 which means that
413 we have to design a common API for Windows, GTK 1.0 and GTK 1.2. Although
414 we are trying to prevent that, it is possible that wxWindows 2.0 (being
415 based on GTK 1.0) will not have proper DnD support.
416  
417 The major changes are that tool tips have been added, threads have been completely 
418 rewritten, the ODBC code has been updated and improved, the socket code works 
419 better now.
420  
421 Classes for managing MIME-types under Windows and Unix have been added.
422  
423 There is now a wxGLCanvas class for OpenGl/Mesa for the Windows, GTK and
424 Motif ports. Come see the penguins flying...
425  
426 Documentation has received a big face lift - it now covers nearly all the
427 classes, at least.
428  
429 The usual amount of bug fixes. Countless.
430  
431 A few member functions of wxString have been renamed.
432  
433 For those who are using the ever-so-popular wxImage class (which
434 now available on Motif and Windows as well) in 8-bit mode: wxGTK
435 now creates a color cube upon start-up in 8-bit mode and thus the
436 generation of bitmaps from images has been speeded up 20 times.
437  
438 It is now possible to develop with wxGTK without having the GTK 1.0 header
439 files installed so that having the GTK 1.2 header files installed no longer
440 is any problem. We also provide RPMs for RedHat glibc 2 based systems, compiled
441 with egcs 1.1.1 on SuSE 6.0. Note that the RPM will   not   work in
442 SuSE 6.0 as SuSE decided to ship 6.0 with a broken GTK+ package.
443  
444
445   
446 6th January '99: wxWindows 2.0 beta 2
447   
448  
449 This is the second beta release and contains it mostly build and
450 bug fixes. Threads work well now on (up-to-date) glibc 2 systems,
451 commercial Unices and Windows.
452  
453                         
454   
455 20th December '98: wxWindows 2.0 beta 1
456   
457  
458 This is the first beta release and we have used the time before
459 this release to tidy up some parts of the API. All releases from
460 now on will be source code compatible but we reserve binary compatibility
461 for the final release. Because of this, the actual library name of
462 the beta version will not be 2.0 but 1.99, so that we prevent 
463 conflicts with the final library later on. After the final release
464 we'll only fix bugs so that there will be no reason to link any
465 program statically with wxGTK.
466  
467 We changed the name of the shared library to include the version of
468 the GTK used so that no conflicts emerge with simultaneous
469 versions of wxWindows for GTK 1.0 and for GTK 1.2 and so on.
470  
471 As you can see, we have not moved to GTK 1.1.X as the different
472 development versions are too different and buggy to be useful. We'll
473 wait for a stable GTK 1.2 release (hardly 1.2.0) and start porting
474 then.
475  
476 wxGTK now compiles without problems on anything between gcc 2.7.2 on
477 Linux-x86 and egcs 1.1 on Linux-Alpha and egcs 1.0 on Sparc. This isn't
478 as easy as it sounds...
479  
480 Available form this site are the Python bindings of wxWindows.
481 Thanks to Robin Dunn for this tremendous contribution.
482 Tkinter is dead, Java is dead, wxPython rules! That's all there is to say.
483  
484 Although only a few new classes have been added, many have been polished
485 up substantially, the most visible are wxListCtrl, wxTreeCtrl and
486 all classes related to printing. Also the DialogEd now functions
487 much better than before. Drag'n'Drop is fucntional but probably won't 
488 be perfect until we use GTK 1.2 and its much improved DnD features.
489  
490 wxClipboard has arrived and works for text. Other formats have not been
491 tested carefully yet.
492  
493 wxMiniFrame has been added which might be useful for docking toolbars
494 etc. Someone has already done that for the MSW port and we hope to
495 include his very nice work later.
496  
497 wxDirDialog has been added (thanks to Harm von der Heijden).
498  
499 The entite "tab traveral" system for moving from item to item in
500 a dialog has been rewritten. It now completely overrides the
501 not-so-well-done GTK native tab system.
502  
503 Quite much has been done to improve the wxImage class, which is now
504 available in the Windows port as well. Very useful for anything related
505 to image processing. wxGTK also uses this class internally e.g. to scale
506 bitmaps when the scale factor (e.g. zooming) of a drawing context
507 has changed.
508   
509 Some of the small and handy classes (wxDate, wxTime, wxVariant) have
510 received a face-lift. wxList has been rewritten to make it possible
511 to write type-safe lists. The collection of utility functions (wxFileFind etc)
512 has been revamped and cleaned-up (thanks to Vadim Zeitlin, who has also
513 greatly enhanced many basic classes, ranging wxString to the debug and
514 log system).
515  
516 We removed some constructors of GDI classes (such as wxPen, wxColour)
517 which took a pointer as a parameter. This lead to many errors among users
518 resulting in unexpected behaviour so it was decided to remove these
519 constructors.
520  
521 As the number of users and the number of test programs and samples
522 is steadialy rising the core classes of wxWindows for MSW and GTK 1.0
523 can be considered to be very stable if not outright bug-free. I haven't
524 seen a crash for weeks now and wxWindows' internal debug features also
525 have improved every week, making stepping-through with a debugger almost
526 completely unnecessary as the library reports possible errors itself
527 (when in debug mode).
528