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