Compare commits

...

798 Commits

Author SHA1 Message Date
Bryan Petty
fad893ed70 This commit was manufactured by cvs2svn to create tag 'M_REFERENCE'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/M_REFERENCE@1021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-22 22:32:53 +00:00
Julian Smart
184b5d99a5 Changes to WXDLLEXPORT keyword position for VC++ 6.0; changed
wxTrace to wxDebugLog in memory.cpp and also app.cpp (please check this works
on wxGTK!)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-22 22:32:53 +00:00
Karsten Ballüder
c2cde53a09 Fixed return code of GetSelectionCount()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-22 19:48:02 +00:00
Karsten Ballüder
e0e9b65eaa fixed bug for empty lists
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-22 19:45:43 +00:00
Guilhem Lavaux
bd5e2346d3 * Renamed fstream.h in wfstream.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-22 15:59:54 +00:00
Robin Dunn
56194595d5 Changed the event handling to use events, instead of just virtual functions.
This is so wxPython can derive from the class.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-22 04:20:32 +00:00
Julian Smart
6b037754f5 Doc updates (debug stuff); Cygwin corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-21 15:40:35 +00:00
Guilhem Lavaux
25331334d4 * Changed fstream.* in wfstream.*
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-21 12:47:07 +00:00
Karsten Ballüder
deb907884a fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-19 20:34:59 +00:00
Robert Roebling
3bc755fc89 Added support for SCROLL_TOP and _BOTTOM events
Corrected behaviour for Blit with LogicalFunctions


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-18 17:37:48 +00:00
Julian Smart
2243eed573 Cured BC++ makefile bug; wxGrid fix; updated Motif install.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-17 23:03:15 +00:00
Julian Smart
6fb26ea3b3 Added sash window and layout window docs; added wxLog... and assert functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-17 22:44:47 +00:00
Robert Roebling
ee5e802571 Hm, FortyThieves' cards were all black.
MDI insert child bug.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-16 14:38:46 +00:00
Unknown (UG)
4259a48e0b no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-16 11:48:53 +00:00
Karsten Ballüder
90aa629a92 Fixed bad bad bug.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-16 09:30:53 +00:00
Robert Roebling
e23d0e958e Fixed bug in dc::blit()
Redid fix in fileconf

  FortyThieves works now..


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-16 08:31:32 +00:00
Robert Roebling
41dee9d0ce Fixed resizing of wxTextCtrl
Added clientdata to menu


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-16 07:18:28 +00:00
Robin Dunn
62bd087498 Generic treectrl for wxPython/GTK compiles...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-16 00:01:43 +00:00
Robin Dunn
faf3cb3590 Removing some ifdef's for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-15 23:04:59 +00:00
Julian Smart
f57fe24c63 Fix to parser.y to make it compile with makefile.unx; wxFileConfig
adds a / to user path if necessary; OGL sample cleans itself up;
wxLog fixes in app.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-15 21:53:27 +00:00
Robert Roebling
43a1889865 Added new wxBitmapButton implementation
Build fixes in base classes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-15 17:57:55 +00:00
Karsten Ballüder
940c60c813 Replaced kbList with wxList.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-15 17:01:25 +00:00
Robert Roebling
f536880994 Coompilation fixes for GTK 1.1.3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-15 15:29:28 +00:00
Robert Roebling
8e18907799 Added spinbutton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-14 20:20:00 +00:00
Robert Roebling
e380f72b45 Doc corrections
fixed listbox setbackground
  added spinbutton sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-14 20:17:32 +00:00
Vadim Zeitlin
4832f7c06c 1. GetNextChild() bug fixed in generic version
2. GetChildrenCount(bool recursive) added to all versions, implemented
   only in the generic one so far
3. Sample slightly modified to show new function


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-13 20:47:22 +00:00
Julian Smart
8aa04e8bf1 Accelerators implemented for wxMotif; some wxComboBox stupidities cured
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-12 22:47:51 +00:00
Robert Roebling
892dbe9961 Last fixes for wxMotif and configure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-12 18:18:29 +00:00
Robert Roebling
7615330240 Compile fixes, warnings etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-12 16:40:16 +00:00
Vadim Zeitlin
0133ee9316 "make depend" finally seems to work (thanks to Kristján Jónsson)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-12 16:02:36 +00:00
Robert Roebling
265898fd79 CalcBoundingBox() added so that Max() works in wxDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-12 06:12:38 +00:00
Guilhem Lavaux
8ef6a930da * Fixes.
* Added end process notification in motif.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 18:06:28 +00:00
Julian Smart
55acd85e71 Motif bug fixes; dialog OnPaint works now; wxColourDialog tweaking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 14:39:42 +00:00
Robert Roebling
fb1585ae85 Still bit fiddling in wxImage.
SetSize rewritten.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 14:19:46 +00:00
Julian Smart
0f358732e4 Changed setup.h so that global memory operators are switched off for GnuWin32;
rearranged wxWave constructors; small changes in tlog.tex


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 09:53:54 +00:00
Karsten Ballüder
e5d7a5b37b Made netscape default browser.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 09:28:48 +00:00
Unknown (UG)
6dae83beef const added to Contains
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 08:42:10 +00:00
Robin Dunn
60e05667cb wxTreeCtrl now works (sort of) for wxPython-GTK. This is the new
TreeCtrl in src/gtk/treectrl.cpp not the old generic one.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 04:40:53 +00:00
Robin Dunn
630d84f26f Additions for wxTreeCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-11 03:13:19 +00:00
Karsten Ballüder
de5c0ba745 Added a sample to test wxExtHelpController. Should work with other
wxHelpController implementations, too.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-10 21:22:22 +00:00
Karsten Ballüder
e9aad10ab7 Added wxExtHelpController: wxHelpController implementation for external
viewers. Made it the default viewer for wxGTK and set wxUSE_HELP=1.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-10 21:17:35 +00:00
Robert Roebling
917e533ba8 Added test to prove a supposed misfeature.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-10 19:43:04 +00:00
Robert Roebling
5b766d236b Deleted a debugging line.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-10 19:21:10 +00:00
Robert Roebling
e8fdc26406 Bit fiddling part 4.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-10 19:18:37 +00:00
Robert Roebling
e6b5bdedf8 Yes, two more bugs killed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-09 19:44:29 +00:00
Guilhem Lavaux
a462d1343f * wxMMedia: these makefiles are just indicative.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-09 18:39:05 +00:00
Guilhem Lavaux
4d6306eb4d * Added wxMMedia in the repository so people interrested in it can work on it
* WARNING! It is quite unstable on Windows and it doesn't work on Linux for
  the moment because I didn't finish fixing the CODEC stream.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-09 18:37:38 +00:00
Julian Smart
ea57084d10 Removed references to DEBUG and WXDEBUG; cured Motif font problem; removed
some warnings in OGL; fixed bug in wxChoice


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-09 11:57:05 +00:00
Mart Raudsepp
605c9c8318 if the wxTextCtrl is empty set by SetInsertionPointEnd to 0 and not to -1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-09 08:09:03 +00:00
Robert Roebling
f9e02ac76b Suppressed warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-09 06:15:41 +00:00
Julian Smart
3dd4e4e05c OGL fixes for wxMotif; added Set/GetClientData to wxMenu in wxMSW/wxMotif/wxStubs.
Sorry, I may be overwriting changes Robert made due to a file copying error.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-08 22:35:18 +00:00
Robert Roebling
d18ed59a36 Compile and build fixes for wxGTK and wxMotif
Removed somw more warnings


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-08 16:42:20 +00:00
Julian Smart
87d1e11fd4 Minor changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-08 15:16:11 +00:00
Robert Roebling
df875e593f Fixed 5 bugs in wxImage and Blit
Removed warning messages
  Some more clientdata fiddleing
  Added bitmap support to wxTreeCtrl
  Fixed some bugs in wxTreeCtrl
  Added licence.txt to /docs/gtk/


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-07 13:55:50 +00:00
Robert Roebling
f5e27805de Second try at doing Set/GetClient right
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-06 13:13:43 +00:00
Unknown (UG)
ed7174bafe no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-06 09:45:23 +00:00
Unknown (UG)
c33534e597 dll fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-06 09:33:25 +00:00
Robert Roebling
fd0eed647d SetEventData for a few widgets
Re-installed wxBitmaps::LoafFile


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-06 08:50:52 +00:00
Julian Smart
3572173c01 Added GetRect to region iterator; cured window.cpp problem for BC++
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-04 22:29:37 +00:00
Julian Smart
5de9c45c5d Added Motif install.txt.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-04 22:17:19 +00:00
Julian Smart
76c5df2420 Removed wxUpdateIterator documentation, added wxRegionIterator documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-04 22:16:10 +00:00
Julian Smart
8f9d397616 Changed m_font to * GetFont() since m_font isn't in all implementations.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-04 13:07:46 +00:00
Robert Roebling
910276d73f Test for image conversion correctness.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-04 12:03:48 +00:00
Karsten Ballüder
e471e2d054 file got garbled, replaced
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-03 15:45:55 +00:00
Julian Smart
386af6a2fa Dialog Editor bug fixes, several other small ones
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-03 15:43:57 +00:00
Robert Roebling
64d315544f Bit fiddling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-03 14:46:38 +00:00
Robert Roebling
6ca41e57f4 Fix for TextCtrl problem as reported by Vegh
Move definition of wxMenuItem to /gtk/menuitem.h
  Radical change of how to insert a child into a
    paren window. As C++ doesn't have any VMT in
    a class's consructor, I have to use a callback.
  Fixed culumn resizing bug in wxListCtrl
  Fixed menu height bug in MDI code


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-03 11:19:58 +00:00
Robin Dunn
c55bc98ef7 New generated code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-03 09:22:52 +00:00
Robin Dunn
4464bbee9c fixed a typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-03 09:21:57 +00:00
Robert Roebling
dc86cb34c3 DnD fixes
Image fixes
  Clipboard API


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@952 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-02 14:12:29 +00:00
Karsten Ballüder
8c65b36ad7 Added test.xpm generated from horse.png, for compilation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-02 14:09:42 +00:00
Denis Pershin
e1dc4cc687 All functionality I know hot implement already implemented.
Testing is needed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-02 00:53:35 +00:00
Karsten Ballüder
9905086c2d fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-11-01 21:48:22 +00:00
Robert Roebling
e4d068605f Font fixes and icons in report view for list control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-31 10:12:29 +00:00
Denis Pershin
c9d9f242e4 Visible functions implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-31 05:43:05 +00:00
Denis Pershin
e895ec4513 wxTreeCtrl changes:
More functions implemented...
I cannot rid of one assert... I do not know what should
I do to avoid it... It happens on collapsing...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-31 04:29:25 +00:00
Robert Roebling
de646ed1f5 Compile fixes for tree ctrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 19:52:46 +00:00
Robert Roebling
7bce6aec99 Fixes to fonts, static text, radiobox, frame
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 19:37:03 +00:00
Karsten Ballüder
5db1a502b4 regenerated configure from new configure.in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 18:27:55 +00:00
Vadim Zeitlin
f9f950fcd4 items without children couldn't be expanded even after a call to
SetHasChildren() - fixed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 12:55:48 +00:00
Karsten Ballüder
1950b38c35 wait4() now extern "C" :-)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 11:24:38 +00:00
Karsten Ballüder
96849c75a7 fixed wxICON() usage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 11:24:16 +00:00
Karsten Ballüder
71317c5b30 added wait4() prototype for solaris
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 10:58:04 +00:00
Karsten Ballüder
a5e13868ca fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 10:14:58 +00:00
Karsten Ballüder
dce85cd4e7 fixed destructor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 09:50:04 +00:00
Robert Roebling
0208334d5d Tought Systemettings that sysfont has 12 pts
wxListCtrl can now resize column by dragging


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-30 09:17:24 +00:00
Robert Roebling
fee0429537 24-bit rendering from wxImage into wxBitmap
I think requiring GTK 1.0.4 is enough (not 1.0.6)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-29 22:57:46 +00:00
Robert Roebling
58614078c4 Big color update with the newest information
from the GTK+ hot-line, eh mail-list. The news
  is that they don't know what they do.

  Conversion from 12pt, wxSWISS, wxNORMAL, wxNORMAL to
  GTK+ system font

  Probably some other things


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-29 18:03:18 +00:00
Vadim Zeitlin
3ebf240158 (very) small changes for Windows compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 21:47:16 +00:00
Vadim Zeitlin
5a43154b56 some old changes I forgot to check in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 21:32:29 +00:00
Guilhem Lavaux
84b46c356e * Build IODBC on demand on unix.
* wxStream updates


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 18:29:51 +00:00
Vadim Zeitlin
7749df1f41 Mac fixes (thanks to Stefan Csomor)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 15:28:21 +00:00
Denis Pershin
3efb01df7b Minor modifications...
Vadim skipped some mistakes due to wxTreeItemId on msw == long


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 15:26:39 +00:00
Mart Raudsepp
cbb8c1d34c wxWave class for wxGTK (linux)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 13:21:29 +00:00
Robert Roebling
e5403d7c57 DnD
RadioBox layout


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-28 11:44:41 +00:00
Robert Roebling
c67d86184d Fixes, typos etc...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-27 22:03:21 +00:00
Julian Smart
0280030162 Motif wxNotebook about done; added print/preview to OGLEdit sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-27 17:58:46 +00:00
Vadim Zeitlin
31811e1aca "unsigned char" restored in wxColour ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-27 17:09:42 +00:00
Robert Roebling
a81258bee4 Added background colour again
Added wxTextCtrl methods
  Removed Imlib

  -> Recompile


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-27 15:04:35 +00:00
Karsten Ballüder
b926666447 more fixes, printing works quite fine now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-27 09:55:07 +00:00
Julian Smart
a7e594b239 Added OnEraseBackground to wxNotebook on wxMSW to avoid black background;
wxTreeCtrl mod for BC++


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 18:34:17 +00:00
Julian Smart
0b4d4194a2 Added simple notebook sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 18:32:07 +00:00
Vadim Zeitlin
f135ff73b4 final (?) changes to the generic tree ctrl -- seems to work ok
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 17:11:33 +00:00
Julian Smart
4b5f3fe655 Motif and other mods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 17:10:25 +00:00
Vadim Zeitlin
f4a4bd13d4 interchanged w and h in wxSplitterWindow::OnSashPositionChange (now
it does what expected)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 13:29:15 +00:00
Robert Roebling
dbf858b5d6 Implemented wxScreenDC the hard way
INcreased menu bar size
  Ripped off handles (a few days ago)
  Corrected $Id:$ somewhere


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 10:56:58 +00:00
Robert Roebling
f96aa4d9eb Did much work on colors. It doesn't work and I guess
it's a GTK bug.
  Small change to Blit()
  Added GTK_NO_TYPE_CHECK when compiling without debug_flag
  Added more wxCHECK_XXX


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-26 00:19:25 +00:00
Unknown (UG)
019bf1286f no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-25 17:04:49 +00:00
Unknown (UG)
62b8502b43 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-25 16:31:41 +00:00
Karsten Ballüder
07071479f2 Printing moreless works now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-25 11:08:43 +00:00
Karsten Ballüder
db828ab4cb Fixed a trivial error.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-25 11:07:54 +00:00
Unknown (UG)
42c5812dbf no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-25 07:37:45 +00:00
Unknown (UG)
0b4f9ee3d0 minor changes for windows compilability
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-25 01:48:51 +00:00
Vadim Zeitlin
3a5a2f56f2 some new functions:
1. wxTreeItemData::SetId() added
 2. wxTreeCtrl::SetItemHasChildren() added


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-24 23:53:20 +00:00
Robert Roebling
32e9da8bfa Added support for frames without borders (such as for
splash screen) with wxSIMPLE_BORDER
  Fixed tooltip bug -> recompile everything
  Added validators to wxListCtrl
  Fixed Create/Realize bug


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-24 20:25:36 +00:00
Karsten Ballüder
0e6c619a1a Rewrite. Cursor handling better, split Layout() and Draw(), faster.
Printing almost works.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-24 18:08:20 +00:00
Robert Roebling
01111366c9 Removed usage of GdkImlib
Added platform independent wxImage class
  Changed wxBitmap and wxImageList accordingly
  Correctted header text


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-24 17:12:05 +00:00
Unknown (UG)
0ab4b99cdf uint to unsigned int
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-24 14:55:43 +00:00
Denis Pershin
e21a504837 Prealpha, prebeta of new wxTreeCtrl for GTK. It is possible to AddRoot,
AppendItem... InsertItem and PrependItem is not working...
Sample modified to new API. I understand that operator wxTreeItemId::long()
exists on MSW wxWindows, but on wxGTK id type is a pointer...

2Vadim: Please test the sample with MSW wxTreeCtrl.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-24 05:52:43 +00:00
Julian Smart
321db4b6bf More Motif changes (colour/font stuff)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-23 18:22:30 +00:00
Vadim Zeitlin
0d559d69c8 1. Split{Horizontal|Vertical} now accept negative args to set the
size of right/lower pane (positive arg sets the size of
   left/upper one as before, 0 is the same as -1 before: choose
   default)

2. OnSashPositionChange() virtual function added - it may return
   FALSE to cancel position change

3. splitter sample and docs (couldn't compile them though) updated


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-23 13:15:15 +00:00
Julian Smart
a316819695 Added casts to fix compile problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-22 14:13:54 +00:00
Julian Smart
1a3ac83faf More-or-less finished reasonably cool wxToolBar class with tooltips.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-22 14:08:14 +00:00
Julian Smart
ef366d323b Added WXHTREEITEM
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-22 10:44:07 +00:00
Julian Smart
06e38c8e2e Mods for Gnu-Win32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-22 10:43:16 +00:00
Robert Roebling
fc54776e31 SetBackground for ListBox and others
Removed the old and famous wxSplitter bug


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-21 22:21:09 +00:00
Julian Smart
0d57be4594 More Motif stuff incl. beginnings of wxToolBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-21 21:43:20 +00:00
Robin Dunn
b0f1bdde5a added a "lib" target for generating a wxPython library for static
linking with other apps.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-21 18:59:15 +00:00
Unknown (UG)
3349fe9210 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-21 08:34:32 +00:00
Robin Dunn
df9c33a482 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-21 01:14:27 +00:00
Robin Dunn
607d79b82b *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-21 01:13:13 +00:00
Robin Dunn
4e937c4d52 Sample Setup.in file for Linux
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 21:47:34 +00:00
Vadim Zeitlin
87832b70c5 added back the missing "unsigned"s to wxColour ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 21:40:39 +00:00
Vadim Zeitlin
4d94751752 sorry... forgot to commit these 2 files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 15:08:30 +00:00
Julian Smart
e1822f7053 Updated todo list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 14:47:14 +00:00
Vadim Zeitlin
e4a81a2e96 wxColour(const char *) ctor related modifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 14:35:22 +00:00
Unknown (UG)
9c1f7241c0 fix for wxColour breakage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 13:24:00 +00:00
Unknown (UG)
8f0c8a8093 fix for wxUSE_IOSTREAMH
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 12:58:02 +00:00
Julian Smart
2faefb26a4 Removed WS_BORDER style since borders have suddenly appeared around several
controls.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 11:39:43 +00:00
Unknown (UG)
19ae5cf071 fix for precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 11:00:58 +00:00
Unknown (UG)
ec45f8ee19 fix for precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 10:53:49 +00:00
Denis Pershin
735c6572dc .cvsignores added
Begin my work on wxTreeCtrl for wxGTK


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 07:47:25 +00:00
Robin Dunn
78bba745fc newly generated files from SWIG
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 07:39:22 +00:00
Robin Dunn
4d1d77e8f6 bug fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 07:38:04 +00:00
Robin Dunn
d5c9047acf New wxTreeCtrl wrappers (untested)
some changes in helpers
etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 06:45:33 +00:00
Robin Dunn
e0a09ce419 Commented out constructor causing ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 02:11:12 +00:00
Robin Dunn
c0ac1c32a4 commented out constructor causing ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-20 02:10:29 +00:00
Julian Smart
100af5a812 One that got away
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-19 21:54:00 +00:00
Julian Smart
8704bf74fb More Motif additions: mdi and sashtest samples now just about work!
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-19 21:51:15 +00:00
Vadim Zeitlin
68dda78574 1. wxTextCtrl::SetBackgroundColour() now works
2. wxListBox::SetBackgroundColour() now does something, although still not
   what I'd like
3. wxColour() now has a ctor from "const char *" to allow calls like
   SetBackgroundColour("green");
4. controls sample modified to use colors


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-19 14:18:56 +00:00
Vadim Zeitlin
be6bf94bf0 added methods for sequential scan of wxTextFile: Get{First|Next|Prev|Last}Line
and GetCurrentLine, GoToLine, Eof.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@871 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-19 12:39:38 +00:00
Vadim Zeitlin
08b7c251c4 new wxTreeCtrl files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-18 22:46:23 +00:00
Vadim Zeitlin
1195ec4251 (minor) fixes to make it compile with the modified wxTreeCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-18 22:43:42 +00:00
Julian Smart
a4294b7832 Motif additions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-18 22:31:48 +00:00
Vadim Zeitlin
02847e5984 minor changes (a couple of error messages added to wxExecute)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-18 21:33:25 +00:00
Unknown (UG)
ddbbbdd486 update to wx2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 17:05:35 +00:00
Unknown (UG)
c96fd235be no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 17:04:31 +00:00
Julian Smart
89c7e96229 Motif updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 09:38:15 +00:00
Unknown (UG)
520e470fdd no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 07:46:13 +00:00
Unknown (UG)
2b165e9905 miscellaeneous fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 07:37:22 +00:00
Unknown (UG)
8d5e303441 miscellaeneous fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 07:31:39 +00:00
Unknown (UG)
49884e3e0d fixes the invalid index problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 07:27:22 +00:00
Unknown (UG)
6dd2244b9d no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-17 07:21:06 +00:00
Unknown (UG)
eda26cebb1 added more utils subprojects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 19:34:51 +00:00
Unknown (UG)
38a489ae36 new project file + misc fixes for wxUSE_DOC_VIEW_ARCHITECTURE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 19:30:04 +00:00
Unknown (UG)
2910dac85f no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 19:28:21 +00:00
Unknown (UG)
645e44e364 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 18:38:23 +00:00
Unknown (UG)
07e88e448d no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 18:24:43 +00:00
Unknown (UG)
07e80bdd10 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 18:17:28 +00:00
Unknown (UG)
78322206b8 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 17:51:32 +00:00
Unknown (UG)
a3b466481e no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 17:16:58 +00:00
Julian Smart
124e17387c Revised Motif todo list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 16:28:31 +00:00
Unknown (UG)
287c43c105 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 16:22:20 +00:00
Unknown (UG)
678f4bdc88 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 16:15:32 +00:00
Unknown (UG)
203feea888 wxUSE_IOSTREAMH changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 16:12:17 +00:00
Unknown (UG)
d47631c8f5 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 15:53:49 +00:00
Unknown (UG)
ea13954cd2 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 14:55:02 +00:00
Unknown (UG)
48df9992ad wxUSE_IOSTREAMH fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 14:50:31 +00:00
Julian Smart
47bc106012 Misc. Motif; removed duplicate wxICON; variant compile fix; added wxString form
of wxStripMenuCodes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 14:38:52 +00:00
Unknown (UG)
85ee3474b7 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 14:35:50 +00:00
Unknown (UG)
8ef062da8f no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 10:04:06 +00:00
Unknown (UG)
0075bd5d43 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 09:57:39 +00:00
Unknown (UG)
7cf98a658a wx_USEIOSTREAMH changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 09:56:38 +00:00
Unknown (UG)
5f31d8628c no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-16 08:44:27 +00:00
Julian Smart
08ee50db7c Added makefile.unx for Motif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-15 17:00:37 +00:00
Robin Dunn
8a9523f25d Added wxFrame::SetStatusBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-15 16:14:55 +00:00
Unknown (UG)
2aa45cc919 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-15 12:43:42 +00:00
Julian Smart
a24ce62235 Commented out _CrtSetDbgFlag yet again, restored setup.h settings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-15 10:58:30 +00:00
Unknown (UG)
d56894a83d no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-15 09:26:57 +00:00
Julian Smart
77e3eac5f2 Presumably someone didn't mean to commit that wxUSE_XPM_IN_MSW change...
Added wxID_SELECTALL


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-15 09:11:39 +00:00
Vadim Zeitlin
c085e33398 minor changes a bit everywhere + a small wxLog change (Enable()/IsEnabled()
added) + wxTimer member vars are made protected again (but a friend decl
added for the callback)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 23:53:24 +00:00
Julian Smart
2d0a075d90 Fixed VC++ compile error in mstream; formatted window.cpp.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 19:06:51 +00:00
Guilhem Lavaux
75ed1d15d0 * wxSocket fixes
* wxStream: - new inheritance, new stream buffer, nearly the same API for the
              end user
            - updated other streams consequently
* wxGTK: some change to make it compile on GTK 1.0 and GTK 1.1
* small changes on wxThread to prepare a more reentrant lib
* wxVariant works with wxStream too now


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 17:36:50 +00:00
Julian Smart
1b19f0560f Removed windows.h and friend function.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 17:11:12 +00:00
Unknown (UG)
ff5a1c54e8 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 17:00:41 +00:00
Unknown (UG)
1075543838 general updates, more to come
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 16:45:34 +00:00
Unknown (UG)
4c7e33c5ea fix for private access for wxTimerProc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 16:43:19 +00:00
Julian Smart
c3939f625e Protected -> public
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 16:30:43 +00:00
Unknown (UG)
8a60ae88fb fix for vc4.2+ for c++ standard exception handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 16:29:51 +00:00
Julian Smart
da36f5446f Rewrote ConvertToStandardCommandArgs; resource.h correction; ntwxwin.mak
correction


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 08:13:09 +00:00
Mart Raudsepp
0ed9fce61a error in func ConvertToStandardCommandArgs with argv[]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-14 06:45:08 +00:00
Julian Smart
387a3b02e0 Session management changes for wxMSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-12 19:45:24 +00:00
Vadim Zeitlin
03f38c58fd 1. wxTimer::Start() returns bool in wxGTK too (other minor corrections
to this class, such as "const" addition, Notify() is = 0 now...)

2. wxGTK::wxTextCtrl::Delete renamed to Clear for consistency

3. wx/wx_prec.h now includes wx/setup.h even if !wxUSE_PRECOMP because
   otherwise (recently added) tests "#if wxUSE_IOSTREAMH" donb't work.

4. Other compilation fixes for wxGTK (now it compiles again)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-12 13:09:15 +00:00
Julian Smart
fbc535ff08 Changes related to stream includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-12 07:46:15 +00:00
Vadim Zeitlin
66de8e7a1b removed some rests of my tests (which should have never been checked in in the
first place)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-09 20:26:44 +00:00
Julian Smart
fd71308fc8 Dialog unit mods; wxProp tidying
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-09 12:01:58 +00:00
Mart Raudsepp
c39d4bcf2b change the last changes back
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-08 14:57:39 +00:00
Mart Raudsepp
42d819d67e error if a radiobox is horizontal:(change wxRA_VERTICAL to wxRA_HORIZONTAL)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-08 12:05:19 +00:00
Vadim Zeitlin
9d9355c60c crash under FreeBSD corrected (patch by David Hobley)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-08 09:38:37 +00:00
Karsten Ballüder
a65f3e5499 odbc off by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-07 15:40:21 +00:00
Julian Smart
42ff6409d9 Latex updates; added defines to printdlg.h for referring to generic print dialogs
by standard names.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-07 11:04:27 +00:00
Karsten Ballüder
7cacdad3e2 Fixed stupid configure bug that failed to recognise gcc and set wrong options.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-07 09:24:15 +00:00
Robin Dunn
b26e2dc41d Version 0.4.1 for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-07 07:35:36 +00:00
Robin Dunn
e86d366cab Added missing IMPLEMENT_DYNAMIC_CLASS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-07 05:39:08 +00:00
Julian Smart
1b826605f5 FreeBSD patch to sckaddr.cpp; include more files in manual; misc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-06 09:33:58 +00:00
Karsten Ballüder
32cbeff4c3 Makefiles now use CPPFLAGS in the same way as configure does.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-06 08:50:01 +00:00
Vadim Zeitlin
fb4e5803ed Added --with-unicode (not used yet) and --with-wcsrtombs options
to configurea and setup.h.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-05 16:21:28 +00:00
Julian Smart
418955322b Reversed meaning of orientation style, back to wxWin 1.68 meaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-05 10:14:39 +00:00
Julian Smart
8d950bdb57 Repaired radiobox problem.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-05 10:13:49 +00:00
Vadim Zeitlin
b8d3a4f1a1 SetTitle() works even if menu was created without title initially (and setting
title to empty string removes it alltogether)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-04 22:12:55 +00:00
Karsten Ballüder
3ad0023f59 wxGetUserName() now returns only the user name, not the comments
wxGetHostName() returns host.domain now


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-04 14:30:15 +00:00
Robin Dunn
09ee8e72b2 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-03 05:56:03 +00:00
Vadim Zeitlin
2c3b684c2b bogus assert removed, optimized (and removed a bug in process of doing it)
wxString::Trim


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-03 00:25:17 +00:00
Julian Smart
524bf39144 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-02 12:53:08 +00:00
Julian Smart
dfad059924 Removed DrawOpenSpline since it doesn't seem to be needed, with required changes
in all ports. Added Motif wxFileDialog. Added wxPostScriptModule and removed
PostScript init in app.cpp. Also removed wxMessageBox function from
generic implementation. Windows release .exes are now smaller (< 300K for minimal.exe).
Some OGL updates. __try -> try in MSW main.cpp. BC++ 5 fixes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-02 12:50:01 +00:00
Robin Dunn
9c039d08bf Version 0.4 of wxPython for MSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-02 06:44:50 +00:00
Robin Dunn
d1c74ca98b Added wxFrame::SetStatusBar for wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-10-02 06:38:30 +00:00
Robin Dunn
9e4b2f1c57 Found the RIGHT place to make the __unix__ fix.
Undoing the other changes I just made.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 23:48:21 +00:00
Robin Dunn
d4b67f95d2 Found the RIGHT place to make the __unix__ fix.
Undoing the other changes I just made.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 23:37:45 +00:00
Robin Dunn
297a3fece1 fixed some ifdef's to also check for __unix__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 23:13:29 +00:00
Robin Dunn
217e13fa85 fixed Stricmp ifdef to also check for __unix__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 23:07:37 +00:00
Guilhem Lavaux
b80dc5febe * wxSocket doc updates.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 17:45:29 +00:00
Julian Smart
2d5249297d Uninitialised variable initialised (state in OnIdle)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 12:48:30 +00:00
Vadim Zeitlin
30d9011f40 fixed wxString::Mid() bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 12:41:13 +00:00
Mart Raudsepp
ac9390a0bc *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 09:15:59 +00:00
Vadim Zeitlin
9ee2d31ccc more wxConfig and xwLog docs (sorry for the delay)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-30 00:48:01 +00:00
Vadim Zeitlin
c89a610604 1) wxGTK now use the new, native implementation of wxTreeCtrl.
2) The treectrl sample uses the icons (not only under Windows).
3) A couple of minor changes in treectrl.cpp itself.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-29 20:02:53 +00:00
Vadim Zeitlin
8248314dbd more bug fixes after USE_ to wxUSE_ change (now it finally seems to work)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-29 19:12:16 +00:00
Karsten Ballüder
851b94590a Removed removal of config.log which is stupid and hinders debugging.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-29 14:26:28 +00:00
Denis Pershin
1c3d41800c See the prev one.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-29 12:36:49 +00:00
Denis Pershin
d9692df7a3 Totally rewritten TreeCtrl for GTK...
Now it supports images...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-29 12:35:49 +00:00
Julian Smart
f97c985452 More wxMotif work, OGL enhancements, USE_ macro corrections, object.cpp delete
operator correction for VC++ 6


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-28 15:42:54 +00:00
Karsten Ballüder
23e09f1115 Added sys/types.h needed for Solaris.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-28 15:38:09 +00:00
Vadim Zeitlin
7ce404dd7b an extra backslash removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-28 14:55:45 +00:00
Vadim Zeitlin
e4b19d9b20 USE_xxx => wxUSE_xxx: all samples compile except memcheck
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-25 15:28:18 +00:00
Vadim Zeitlin
126eb09b0f USE_ => wxUSE_
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-25 15:00:00 +00:00
Vadim Zeitlin
27fc802d5c 2nd part of USE_xxx to wxUSE_xxx change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-25 14:53:45 +00:00
Vadim Zeitlin
47d67540a0 USE_xxx constants renamed to wxUSE_xxx. This is an incompatible change, you
must recompile everything after upgrading!


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-25 13:28:52 +00:00
Denis Pershin
d069d02e1e const added to GetBitmap it was my fault.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-25 04:03:41 +00:00
Vadim Zeitlin
f51f94ea2e restored "#ifdef __WXMSW__" around SetFont(wxNullFont) - this leads to SIGSEGV
under wxGTK!


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-24 17:19:11 +00:00
Julian Smart
76626af21b Fixed delete operator for VC++ 6.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-24 15:49:16 +00:00
Julian Smart
d0dc2fe891 Added some Web pointers relevant to wxMotif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-24 15:43:10 +00:00
Julian Smart
e97f20a0f2 wxMotif: wxWindow/Client/PaintDC starting to work.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-23 13:56:00 +00:00
Julian Smart
16c1f7f345 Some more Motif work; included utils.h in fileconf.cpp (for wxGetHomeDir or something)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-22 21:15:56 +00:00
Vadim Zeitlin
dcf40a56e7 wxListBox::FindString(): it's not an error if the string is not found, so
don't give assert failures in this case.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-22 14:40:18 +00:00
Karsten Ballüder
ecadfc3f5a check for empty data pointer in Len() and Empty()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-21 20:13:41 +00:00
Vadim Zeitlin
1c4a764c98 1) minor modifications in fileconf.cpp
2) new MSW function (private.h): wxGetWindowText() which works with wxString
   instead of (horror) fixed size buffers. All calls to ::GetWindowText()
   should be replaced with this!
3) remains of casts to float in different wxControl classes removed,
   (EDIT|BUTTON)_HEIGHT_FROM_CHAR_HEIGHT macros introduced (could be
   made inline functions as well...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 21:13:46 +00:00
Vadim Zeitlin
803bf1c581 somehow log target wasn't being created automatically anymore. Restored.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 21:05:19 +00:00
Julian Smart
dfc5454127 More Motif stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 20:59:30 +00:00
Karsten Ballüder
b112d15289 Now dot_special argument in wxMatchWild() is honoured. :-)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 19:44:41 +00:00
Karsten Ballüder
a4876ea44c see mail to list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 19:34:30 +00:00
Guilhem Lavaux
e79848acfe * Fixed a bug in notebook.tex
* Added a basic documentation on wxSocket (currently wxSocketBase, wxSocketClient, wxSocketServer, wxSocketHandler, wxURL)
  There are still things to write and I hope I didn't have a too bad english ...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 15:45:12 +00:00
Julian Smart
e096774dd1 Commented out those wretched crt debug thingies yet again. It doesn't compile for
me and presumably other people who use the makefiles, sorry.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 07:44:24 +00:00
Julian Smart
02e8b2f9fb More Motif stuff, minor stubs correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-20 07:35:20 +00:00
Vadim Zeitlin
a5e0e655cb ConvertToStandardCommandArgs() was ugly, buggy and leaked memory (not bad
for 10 lines of code). Now it's only ugly...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-19 21:01:01 +00:00
Karsten Ballüder
dfcb1ae09d changed wxMatchWild() 3rd parameter not used under Unix - what is it good for?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-19 15:13:02 +00:00
Julian Smart
23d1d521c8 menuitem.h is now per port, since some ports (e.g. Motif!) need extra members etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-18 21:36:20 +00:00
Vadim Zeitlin
3093cef829 wxBaseArray::Shrink() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-18 21:35:44 +00:00
Julian Smart
50414e24a7 Some more wxMotif stuff: menus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-18 21:33:46 +00:00
Julian Smart
2319d2b09a Fixed some .tex problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-18 10:20:32 +00:00
Julian Smart
9b6dbb0974 Added Motif files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-18 10:19:10 +00:00
Julian Smart
4bb6408c26 Motif files added.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-18 10:14:43 +00:00
Vadim Zeitlin
c9d22ba77c log.tex uncommented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 20:57:55 +00:00
Vadim Zeitlin
5f3cd8a22a wxLog and wxConfig docs update
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 20:57:08 +00:00
Guilhem Lavaux
9da0d96f87 * fixed a wrong line.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 17:32:38 +00:00
Guilhem Lavaux
856d2e527d * Added wxSerial DLL support for Borland 32
* zstream.h doesn't anymore include zlib.h
* updated static data
* made wxClassInfo::GetFirst() static
* added user/password support in the URL parser
* fixed bugs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 17:30:13 +00:00
Julian Smart
46ccb5107f Dnd constant name changes because names like Copy can be #defined by other
apps. Various other changes to stubs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 16:57:01 +00:00
Vadim Zeitlin
9fdf3c3877 VZ: I have reformatted it to correspond to our style conventions (tab stop =
4, no hard tabs, no function(void), ...) and added a couple of comments to
make it (hopefully!) more understandable.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 15:18:33 +00:00
Vadim Zeitlin
054889057e corrected a bug in ConcatSelf() induced by the latest change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 14:43:21 +00:00
Vadim Zeitlin
3c024cc22f fixed 64but bug with g_strEmpty initialization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 14:31:17 +00:00
Julian Smart
589f0e3e60 Simplified app initialisation in wxMSW and wxStubs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-17 09:58:52 +00:00
Julian Smart
7f555861b7 Made wxStubs compile on Unix.
Improvements to doc/view on MDI, including multiple menus for wxFileHistory.
Added wxDirExists to wxMSW; moved wxMatchWild to filefn.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-16 21:52:23 +00:00
Julian Smart
f93ce4dadc Misc OGL changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-16 21:44:17 +00:00
Vadim Zeitlin
335a8b43e9 wxPenRefData copy ctor was somehow not declared in the class definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-15 22:08:17 +00:00
Julian Smart
86411736c3 Updated debug flags in makefile for DLL compilation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-14 17:38:10 +00:00
Julian Smart
fbcb41664b DLL-related changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-14 16:37:24 +00:00
Robert Roebling
8fdca65cf2 Removed warnings
Added GetCount() to wxList and wxDaynArray


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-12 22:11:40 +00:00
Robert Roebling
84efdbf195 Next try at removing the dancing sliders
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-12 20:38:55 +00:00
Julian Smart
cfb88c5569 Added sashtest GTK makefiles (crashing bug to be solved); added typetest sample
with simple wxVariant test; changed wxICON macro and used it in minimal.cpp
to avoid #ifdefing.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-12 17:33:59 +00:00
Julian Smart
8cb50e4b46 Added variant.h/cpp; changed variable names in object.h; added some functions
to wxStringList; added wxTrue and wxFalse to supress some warnings; some bugs fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-12 17:31:48 +00:00
Julian Smart
341287bf49 Added variant.h/cpp; changed variable names in object.h; added some
functions to wxStringList; some bugs fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-12 17:29:57 +00:00
Robert Roebling
cb43b372fb Changed instal path for setup.h
changed socket stream inheritance to virtual
  removed a few more warnings from the samples
  corrected thread habdling in configure.in
  removed dancing sliders from scrollbars
  corrected notebook send event bug and added it
   the controls sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-12 17:18:12 +00:00
Robert Roebling
e55ad60e19 Updates to memcheck
Corrected and beautified memory (output)
  Fixed a few memory leaks
  Fixed resizing in in wxRadioBox
  Added many wxFAIL and wxASSERT
  Corrected other wxFAIL (removed from ..::Ok())
  Added wxBrush::Set..() functions
  Added CopyOnWrite support in GDI objects (Unshare)
  Disabled all occurences of WXDEBUG_NEW
  made clean, recompiled with mem_chcking on


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-11 09:05:26 +00:00
Robin Dunn
384b4373c7 Added #include to get FIONBIO on Solaris 2.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-11 01:28:41 +00:00
Guilhem Lavaux
b7db6f0b6d * Bug fix in wxFilter*Stream
* corrected the URL parser


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-10 17:22:20 +00:00
Julian Smart
0c32066b58 Eliminated some warnings under Windows; wxGetHomeDir problem in wxFile;
eliminated memory leak report by making class table dynamically allocated/freed;
tidied up names in wxClassInfo.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-10 11:41:14 +00:00
Robert Roebling
d8c838755a Tried to find a non-existing bug in the cursor-code
Removed Karsten's third Makefile.in attempt


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-09 09:57:24 +00:00
Karsten Ballüder
ab346a0c3f fixed typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-09 09:06:30 +00:00
Karsten Ballüder
337d7956cc removed wxsetup.h from libdir
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-09 09:00:54 +00:00
Karsten Ballüder
5a2055fa9b removed __WXMSW__ define
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-09 08:49:33 +00:00
Unknown (HB)
cb17fe41ee DEC Alpha does not need -ldl, therefore check for it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-09 07:57:51 +00:00
Julian Smart
27529614c2 Additional makefiles; changes for compilation with BC++ and GnuWin32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 22:27:12 +00:00
Julian Smart
f395c809b5 Added Latex style file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 22:24:52 +00:00
Karsten Ballüder
a665764c39 now installs properly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 19:09:50 +00:00
Robert Roebling
c058d77142 It's now possible to drag a listbox filled with entries
Removed #ifdef 0 from resource.cpp around reading code
    for wxRadioBox
  #ifdeffed a Refresh call that causes DialogEd to dump
   code in wxGTK when deleting an item
  Suppressed some warnings
  Readded socket stuffto gtk.inc


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 18:21:16 +00:00
Guilhem Lavaux
c740f49634 * some C++ness correction in wxStream.
* added support for DLL on Borland32
* fixed export bugs
* fixed a portability problem in socket.cpp
* added a missing function in utilsexc.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 17:19:16 +00:00
Julian Smart
6f5f3ca0fe Updated OGL documentation and tidied up some code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 14:38:35 +00:00
Robert Roebling
d6d1892b89 Rewrote wxRadioBox (recompile)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-08 00:27:29 +00:00
Robert Roebling
6987a6c3d0 I debug DialogEd for five hours and then Karsten
tells me that CaptureMouse is broken. Doh.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 22:38:10 +00:00
Robert Roebling
61607c3641 Changed DnD MIME file type for file DnD. Understood?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 22:04:40 +00:00
Robert Roebling
d84eb08384 After resolving all conflicts that came down the
telephone line: DialogEd is ready for general
  consumption now.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 22:01:55 +00:00
Julian Smart
b8c631bb29 Fixed wxCheckBox on wxGTK (SetLabel called before widget creation),
wxListBox::GetSelection returning -1 now doesn't assert; wxProp improvements
for wxGTK; parser.y includes <io.h> under VC++ to eliminate 'read' warning


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@709 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 21:53:34 +00:00
Robert Roebling
e22036dc39 Suppress warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 18:04:27 +00:00
Robert Roebling
a60c99e6a9 Added USE_CONFIG
A little more DnD work
  wxDialog now inherits from wxPanel (recompile)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 17:23:29 +00:00
Vadim Zeitlin
c9dac6640f ok, now it _does_ compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 15:38:51 +00:00
Vadim Zeitlin
774e843c03 cvs incorrectly merged my last change somehow (there a\were 2
SetActiveTargets), corrected.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 15:32:32 +00:00
Robert Roebling
83058c584f wxProp now intercepts EVT_TEXT_ENTER instead of EVT_TEXT
Added Checkbox::SetLabel


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 14:44:38 +00:00
Robert Roebling
b4071e913e Much more aggressive for intercepting events and
(not) redirecting them to wxWindows or GTK
    All widgets work now in DialogEd


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 12:29:07 +00:00
Julian Smart
a6d7030871 Added wxSashWindow, wxSashLayoutWindow, wxLayoutAlgorithm classes and sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 09:27:34 +00:00
Robert Roebling
97b3455a6d Tries unsuccesfully to cure a few more problems
for DialogEd
  wxFileSelector now sets the title
  Todo is quite complete now


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 09:17:58 +00:00
Vadim Zeitlin
8ed57d9312 some clean up of the code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 09:01:35 +00:00
Vadim Zeitlin
88db66e373 tab traversal now works better (using uninitialized variable was a bad idea :-)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:59:10 +00:00
Vadim Zeitlin
3e64d4e1e5 added wxLogSysError() in wxExecute() if the command fails
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:57:14 +00:00
Vadim Zeitlin
743e0a66f6 wxGetHomeDir() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:56:29 +00:00
Vadim Zeitlin
040f0110fc wxRegConfig now works again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:55:28 +00:00
Vadim Zeitlin
fd2daa68f4 the notebook now has wxTAB_TRAVERSAL style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:54:52 +00:00
Vadim Zeitlin
27fda0b6a1 added support for right aligned labels (wxALIGN_RIGT maps to BS_LEFTTEXT)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:53:49 +00:00
Vadim Zeitlin
252eb8fd71 "const" added to wxAceelTable ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:52:10 +00:00
Vadim Zeitlin
a7ee134340 wxRegConfig now works correctly again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:48:06 +00:00
Vadim Zeitlin
10310d8322 "const" added to wxAccelTable ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:46:57 +00:00
Vadim Zeitlin
7c3c5eccb2 const char *wxGetHomeDir(wxString*) added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:45:40 +00:00
Vadim Zeitlin
4c84fa8d91 minor change (using wxLogNull no doesn't flush the old messages)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 08:44:46 +00:00
Julian Smart
fcc6dddd1f Made wxSocket compile using makefiles; #ifdefed out <<, >> operators in stream.cpp
for USE_SERIALL; included io.h for VC++ in socket.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-07 07:58:29 +00:00
Robert Roebling
d3904ceb9a Fillid in many more missing functions (such as Enable())
There are still things to fix when compiling sockets ..


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 20:27:21 +00:00
Robert Roebling
13439807d3 wxMenu doesn't anylonger call the callback if the
event is only a highlight event (more similar to wxMSW)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 18:47:46 +00:00
Robert Roebling
3f659fd6b1 SetFont() the second
#ifdefed SetFont() in Statusbars destructor
  wxRadioBox setsize corrected (Still only simple layout)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 18:34:18 +00:00
Guilhem Lavaux
f4ada56822 * Added wxsocket lib and sample (I hope I don't forget some file)
* Updated some wx data and makefiles
* Updates on wxStream (reorganization)
 makefile for Windows will nearly follow
 wxSocket should work on wxGTK (I've tested it)

* IPC over Network is included


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 18:28:00 +00:00
Julian Smart
560b92f577 Commented out Robert's SetFont change for now; changed menu handling slightly
in Dialog Editor; use wxConfig now in Dialog Editor


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 16:55:57 +00:00
Vadim Zeitlin
acb62b847b GetItem() now works (it was completely broken)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 15:57:43 +00:00
Julian Smart
3bdd13763c Removed bitmap.cpp, bitmap.h from OGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 14:57:36 +00:00
Julian Smart
72212c2879 Various changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 14:52:16 +00:00
Julian Smart
3972fb4919 Added some more class docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 14:43:36 +00:00
Julian Smart
68278f98be Renamed bitmap.cpp to bmpshape.cpp to aid debugging
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 14:35:53 +00:00
Julian Smart
2e5ed787e9 OGL improvements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 14:32:25 +00:00
Robert Roebling
868a28262c Added SetFont to most controls and controls sample
(recompile)
  Added tiny bit of documentation to window.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-06 13:46:50 +00:00
Julian Smart
1573d8ed98 Removed some bugs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-05 22:36:13 +00:00
Robert Roebling
e1e955e14c Fixed two small things in wxListCtrl
Removed SetSizeHint from wxDialog (recompile)
  Removed dialog modal flag
  Code clean up here and there


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-05 18:26:06 +00:00
Julian Smart
42871d3819 Fixed Get...String functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-05 16:45:26 +00:00
Robert Roebling
11bc0805de Shared libs now get installed correctly on Linux.
Fixed a compile bug on bitmap.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-05 16:37:48 +00:00
Robert Roebling
f3cb6592e9 Makefile next attempt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-05 13:59:23 +00:00
Robert Roebling
5b011451bd Fixed a small wxDialog thing
Fixed transparency in wxNotebook
  Turned the controls sample in way the coolest of all smaples


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-05 08:37:40 +00:00
Guilhem Lavaux
25c70b07e6 * wxFileInputStream and wxFileOutputStream doesn't inherit anymore from wxFile.
* The destructor of wxFile isn't anymore virtual.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 17:32:11 +00:00
Vadim Zeitlin
f05df5a85a friends declarations removed, GetBitmap/Pixmap functions made public
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 12:45:34 +00:00
Robert Roebling
94a0f3ce22 Removed remaining file.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 12:45:00 +00:00
Robert Roebling
66c135f346 Corrected wxWindow::GetExtent
s econd attempt at accelerators (mdi sample works)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 12:43:41 +00:00
Vadim Zeitlin
741fd2033e image in the notebook is now at the left of the label (as in wxMSW), not at
its right


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 11:56:53 +00:00
Julian Smart
dd7f2a6c52 Added friend wxNotebook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 11:25:34 +00:00
Julian Smart
db5d183b03 Fixed compile error in gtk/dc.cpp (L.88); also menu problem in msw/mdi.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-04 11:24:30 +00:00
Robert Roebling
cf7a7e133b It's possible now to save to a PNG. OK, I still
have performance problems, but it's a start.
  Updated install.txt.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 21:46:47 +00:00
Vadim Zeitlin
24d20a8f73 wxNotebook now supports the item images (except for the mask problem!)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 16:59:51 +00:00
Vadim Zeitlin
2cb21a4540 the notebook now has the icons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 16:59:00 +00:00
Robert Roebling
c487af252d Some more Makefile stuff (someone else did that partially)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 16:26:04 +00:00
Unknown (AN)
a83ffecb67 fixed the install/unix references -Markus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 15:38:49 +00:00
Unknown (AN)
9dbd8eb8f1 fixed the install/unix references -Markus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 15:27:50 +00:00
Vadim Zeitlin
b3031762e8 wxFileConfig ctor now (again) uses the files in the correct locations if the
file names are not specified -- that's what Get{Local|Global}FileName() are
for, Julian!


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 15:23:04 +00:00
Robert Roebling
c98f04213e make install
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 13:58:56 +00:00
Vadim Zeitlin
e96ddf25ad replaced wxEmptyString with "" because it's defined in gdicmn.h (sic!) which,
of course, is not always included before confbase.h...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 12:03:22 +00:00
Karsten Ballüder
9a648dc916 Removed files as requested by Robert.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 11:46:15 +00:00
Julian Smart
7b46ecac64 Dang, can't remember what I changed now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-03 07:34:26 +00:00
Robert Roebling
bcf1fa6bb4 Added wxAccelerators (sort of)
Moved configure (once again)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-02 22:23:57 +00:00
Robert Roebling
8429bec1e8 New configure
wxRegionIterator
  New IsEposed functions  (-> recompile)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-02 17:53:48 +00:00
Robert Roebling
2f2aa6287b Fixed event handling for DialogEd
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-02 12:15:35 +00:00
Guilhem Lavaux
f4a8c29f7a * wxCreateDynamicObject() uses an hashtable now
* wxClassInfo::first = NULL after the hashtable is initialized
* dynlib has been simplified.
* Some fix in the serialization core and in wxObject::StoreObject()/LoadObject()
* Updates in utils/serialize/sermain.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-01 17:17:05 +00:00
Robert Roebling
2f6407b947 Small fixes to wxChoice, wxComboBox and wxListBox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-01 15:41:45 +00:00
Robert Roebling
edaa81ae5d Added Set/GetItemState, GetNextItem.. to wxTreeCtrl
Fixed functions name mismatch SetSizeHint in window and frame
  Added support for non-european fonts and X extension using
   gtk_set_locale()
  Added compile fixes for FreeBSD and folks


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-01 14:29:21 +00:00
Robert Roebling
30f82ea416 Fixed a few compile things
Fixed wxListCtrl::SetItemState bug
  Tried to hunt down a bug in menu, which
    disappeared after recompiling


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-09-01 10:26:14 +00:00
Julian Smart
34da0970a0 Fixed MSW printing, tidied up member variable names
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-28 11:00:50 +00:00
Robin Dunn
451871970b Added some typecasts that the compiler complained about not having
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 23:32:09 +00:00
Robin Dunn
0d6f9504ae Some chicken-and-egg problems solved for wxPython on wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 21:59:51 +00:00
Julian Smart
052ae0e568 Updated wxConfig documentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 21:10:49 +00:00
Julian Smart
3e0f922848 Added some files I forgot about
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 21:08:39 +00:00
Julian Smart
1824493628 wxConfig changes to be more logical.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 21:06:02 +00:00
Julian Smart
73fb82f3f3 wxUpdateUIEvent derives from wxCommandEvent now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 07:47:25 +00:00
Robin Dunn
21f4bf4568 - more tweaks
- have discovered some problems but not yet discovered solutions...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-27 00:01:17 +00:00
Unknown (RO)
5104949d8a Missing typecast from return.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-25 22:24:50 +00:00
Julian Smart
0d8d91a98f HKEY -> WXHKEY, wxScrolledWindow::SetScale added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-24 19:13:34 +00:00
Julian Smart
fd6c844b17 HKEY -> WXHKEY; wxScrolledWindow::SetScale added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-24 19:11:11 +00:00
Guilhem Lavaux
885ee23543 * wxStream fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-24 17:22:31 +00:00
Vadim Zeitlin
4128681253 minor fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 22:21:47 +00:00
Karsten Ballüder
c47711479e added (de)select all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 20:06:24 +00:00
Guilhem Lavaux
6f34921d93 * Fixed two memory leaks.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 14:06:39 +00:00
Julian Smart
d8260b2f57 defs.h corrected (syntax error in wxDELETEA). More unnecessary files removed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 10:30:17 +00:00
Guilhem Lavaux
1d44aaf824 * New function wxObjectInputStream::Recall()
* Fixes in object serializer,dynlib,LoadObject/StoreObject
* Updates for serialization.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 09:23:27 +00:00
Unknown (RO)
def172b2af Missing \ before _
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 04:50:00 +00:00
Unknown (RO)
c67daf8777 General tidy-up (mainly typecasts) to allow the use of the SGI native
compilers (tested on Irix 6.5 with -mips3 -n32).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-23 03:22:56 +00:00
Vadim Zeitlin
cb6780ff01 calling insert("") would provoke an assert - now it's just ignored
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 20:44:07 +00:00
Vadim Zeitlin
1880e45211 bug with checking the first character of possible empty string corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 20:34:00 +00:00
Robin Dunn
f57d793249 some tweaks for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 19:51:18 +00:00
Julian Smart
b6a158b04e Removed redundant makefiles and AIAI icons. Changed dynamic sample source name from
minimal.cpp to dynamic.cpp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 19:46:35 +00:00
Julian Smart
8fed68d816 Added config resource file and VC++ makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 19:07:11 +00:00
Julian Smart
26ac5fadea Removed child frame CreateStatusBar from MDI sample; renamed config.h to confbase.h;
config.h now includes appropriate files


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 16:41:51 +00:00
Julian Smart
42cfaf8cd4 OGL improvements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-22 16:31:11 +00:00
Vadim Zeitlin
32c66ea22e spurious error messages from wxRegKey::HasValue() suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-21 20:48:45 +00:00
Vadim Zeitlin
cd91632c36 radiobox had some strange ideas about vertical and horizontal directions
(in fact, wxRA_VERTICAL and HORIZONTAL were inverted). corrected.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-21 20:47:49 +00:00
Julian Smart
567da5c600 Accelerators now work for wxDialog; wxToolBarSimple fixed when dragging out of
the toolbar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-21 17:47:19 +00:00
Vadim Zeitlin
257f1d9b85 wxStaticBitmaps were created invisible - corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-20 22:47:39 +00:00
Guilhem Lavaux
8d43638db1 * Some new feature in wxObject*Stream (objects aren't duplicated)
* Added SetBackgroundBrush in wxGridCell
* New classes/fixes in wxSerial


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 18:33:19 +00:00
Julian Smart
4c444f19cf GDI double-deletion fix, wxBitmap depth bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 15:45:05 +00:00
Guilhem Lavaux
857f3be5f1 * Bug fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 07:42:27 +00:00
Robin Dunn
8f89cfc11e A few tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 00:38:23 +00:00
Robin Dunn
c8d07da7a6 Placeholder
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 00:35:04 +00:00
Robin Dunn
9d358552fc new build structure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 00:10:57 +00:00
Robin Dunn
70551f4702 GTK version of the SWIG-generated files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 00:10:03 +00:00
Robin Dunn
e181bb6f72 placeholder
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-19 00:05:43 +00:00
Robin Dunn
b62bdb487f New build directory structure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 21:55:10 +00:00
Robin Dunn
13dfc24333 ifdef out some wxGTK specific code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 21:54:12 +00:00
Robin Dunn
8ab979d738 MSW version of the SWIG-generated files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 21:52:31 +00:00
Robin Dunn
f42c777d79 moving the SWIG-generated files to toolkit specific subdirectories
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 21:50:11 +00:00
Vadim Zeitlin
3cda63537e uint -> size_t change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 20:15:51 +00:00
Robin Dunn
0cf2cb360f Added wxTheApp = this; to wxApp::wxApp for wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 19:57:02 +00:00
Denis Pershin
4540e33bb6 Second try
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 19:54:06 +00:00
Robin Dunn
fb5e0af035 more wxGTK compatibility things.
It builds now but there are serious runtime problems...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 19:48:20 +00:00
Robin Dunn
eaf3cf57ed a few tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 19:45:09 +00:00
Denis Pershin
befe54c6ca Seems it works reasonably stable...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 19:25:46 +00:00
Robert Roebling
314055fa8d Added TOOL_ENTER command. Now wxGTK and wxMSW misbehave
equally on that matter.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 17:41:55 +00:00
Guilhem Lavaux
c2dd8380ba * wxThread: new functions: wxThread::Pause/Resume, wxThread::GetThreadFromID
* Updates and new objects in utils/serialize
* wxLayout*_Serialize are friends of wxLayout* (so I can access to the
internal fields)
* wxMenu (GTK):  SetTitle/GetTitle (basic implementation)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 17:22:15 +00:00
Vadim Zeitlin
c86f1403c3 globally renamed uint to size_t. This has _not_ been checked under Windows,
although I changed msw files also, so please wait until this evening if you
want to be sure that it compiles. This change should fix 64 bit compilation
problems, but it would be nice to test it...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 15:36:12 +00:00
Robert Roebling
77ff2d2639 Next attempt at dynlib.cpp
Disabled ImLib's cashing
  Confirmed Vadim's changes to wxListCtrl :-)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 15:28:46 +00:00
Vadim Zeitlin
39570cd479 corrected wxListCtrl compilation problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 14:59:26 +00:00
Julian Smart
b8de493fbd Various .tex files updated. .bmp files were corrupted, recomitting.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 14:54:21 +00:00
Karsten Ballüder
cb38104ec7 reordered headers to compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 12:37:53 +00:00
Karsten Ballüder
406291e530 #ifdef'd out some parts for non-supported systems.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 12:30:40 +00:00
Karsten Ballüder
53e65b8a50 Added configure to cvs - there are systems without autoconf!
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 12:18:37 +00:00
Robert Roebling
94bd2eded1 Added the static text patch for multiline text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-18 07:09:00 +00:00
Vadim Zeitlin
c4afa2cbfd added wxConfigBase documentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 22:45:47 +00:00
Vadim Zeitlin
c2b1eaf8ca minor change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 22:22:29 +00:00
Vadim Zeitlin
72cb6ff3b3 a micro bug (but which was enough to break regtest sample) corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 22:19:17 +00:00
Vadim Zeitlin
af9e71a8b4 replaced another printf() with wxLogDebug()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 22:18:21 +00:00
Robin Dunn
f9d855de75 Added missing declaration of wxIcon::operator =(const wxIcon &)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 21:35:03 +00:00
Robert Roebling
77e7a1dc48 Added IRIX compile fixes
Added functions that must be handed down
   from wxListCtrl to the main window


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 20:07:50 +00:00
Robin Dunn
652e7bb422 Removed an extra method definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 18:29:40 +00:00
Robin Dunn
324511ce07 Corrected the signature for wxFrame::Maximize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 18:25:14 +00:00
Robin Dunn
cd0183ca31 Added wxWindow::Center
Corrected the signature for wxWindow::SetSizeHints


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 18:24:32 +00:00
Robert Roebling
ee7ee4698c Added in-place editiging in wxListCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 17:05:47 +00:00
Robert Roebling
b0d77f437c Added list ctrl sample. Looks better than what I thought...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 15:48:25 +00:00
Robert Roebling
52cbfcf009 Turned wxIcon inline constructors to real constructors
Removed warning from dcclient
  Added wxTheFontList->Add(this) somewhere in wxFont
  CleanUp() now printfs the number of members in
    wxTheBitmapList


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 14:29:53 +00:00
Julian Smart
e8c81745ea Got printing, toolbar samples compiling under Windows again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 11:11:13 +00:00
Julian Smart
7a11869dde Changed floats to doubles in wxexpr.h; added a flag in accel.h (wxACCEL_NONE for
'no ctrl/alt/shift key')


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 09:39:39 +00:00
Julian Smart
12ed6eb56f Changed floats to doubles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 09:38:28 +00:00
Robert Roebling
9d3221abf1 GTK's toolbar class has no OnPaint
Added missing bitmap in mdi sample
  Added OpenGL support (I Get segv on
   my Debian/Mesa system, don't know why).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-17 09:16:28 +00:00
Vadim Zeitlin
d553992a3c 1) corrected bug in log.cpp which only affected wxGTK: some messages could
appear twice
2) tried to use gtk_widget_set_usize in wxFrame::SetSizeHints(), but it
   still doesn't work...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 21:02:14 +00:00
Robert Roebling
ff7b1510ea Added mising AddBitmapList in wxBitmap
Added missing deletion of wxFrame's toolbar
  Removed a few superfluous ; (sorry)
  Mentioned dmalloc in INSTALL


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 19:39:29 +00:00
Robert Roebling
11026f7b59 New scrolling for GTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 17:07:17 +00:00
Karsten Ballüder
82dc15db08 added one extra check for emptyness
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 11:28:39 +00:00
Julian Smart
f7387de542 Changed wxMenu::GetTitle to return a wxString.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 08:03:13 +00:00
Robin Dunn
714e6a9e26 More wxGTK work.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 04:31:11 +00:00
Robin Dunn
2d6dfbb778 updated email address
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 04:30:03 +00:00
Vadim Zeitlin
12e7bc479e Karsten's correction undone - this code is (was) correct!
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-16 01:37:16 +00:00
Karsten Ballüder
76f53a0e39 Added configure option --with-dmalloc to use the dmalloc memory debugging library.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 23:52:16 +00:00
Vadim Zeitlin
1280032d6c '&' are removed from checkbox labels (all controls should call
wxControl::SetLabel and use m_label which contains the label without '&')


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 21:05:06 +00:00
Vadim Zeitlin
8f5f7c82d1 added default values for ax size arguments of SetSizeHints (for msw
compatibility)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 21:03:28 +00:00
Julian Smart
d0fff5cb11 Small changes after Robert's edits
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 20:10:16 +00:00
Robert Roebling
cd53f34118 Fixed my own Makefile bug
New INSTALL
  Fixed path in imrc


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 18:58:26 +00:00
Karsten Ballüder
2b5bd7fd87 fixed GetSelection() inversion bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 18:47:23 +00:00
Julian Smart
c2265822fe Added isosurf wxGLCanvas sample, cured OnPaint bug (missing wxPaintDC object)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 17:48:39 +00:00
Karsten Ballüder
6967fbf45b fixed a logical error (! isempty) instead of isempty
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 17:05:48 +00:00
Robert Roebling
a9c96bcce9 Added graying out of menus and buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@551 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 15:59:43 +00:00
Robert Roebling
d5c462fd20 DialogEd's missing icons.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 15:23:47 +00:00
Robert Roebling
b127f3011f DialogEd now compiles, links and runs under wxGTK
I didn't say it worked, eh.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 14:45:04 +00:00
Denis Pershin
8b21b87fe3 DP: Just came back from 3 days fishing and found that forget to commit some
changes.

GetBitmap added


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 14:42:09 +00:00
Robert Roebling
8656024d15 Added wxPropList library
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 13:20:52 +00:00
Julian Smart
6a1120ad4c Added GLCanvas library (Win only at present).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 12:43:34 +00:00
Julian Smart
c856c750c0 2 GnuWin32 compile bugs fixed, incl. printf bug in prntdlgg that sent GnuWin32
into an endless loop


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 12:30:42 +00:00
Robert Roebling
8d71b5552e Resource sample works now, apart from
wxRadioBox, which is #ifdef 0 in
   resource.cpp
  Fixed tiny thing in resource.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 12:06:45 +00:00
Robert Roebling
c33c405087 See last changelog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 10:52:09 +00:00
Robert Roebling
942be9a749 Makefile fixes
Added resource sample (segvs)
  Added functions to menu, mdi, frame, dialog, window
    that were missing e.g. in wxPython


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 10:47:47 +00:00
Robin Dunn
03e9bead8a - Moved the header in the .i files out of the code that gets put into
the .cpp files.  It caused CVS conflicts because of the RCS ID being
different each time.

- A few minor fixes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 07:36:54 +00:00
Julian Smart
34138703c3 Changes mostly as a result of __WXSTUBS__ compilation. The stubs code now
compiles under Windows with VC++. Also OGL enhancements espec. wxDrawnShape.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 00:23:28 +00:00
Robin Dunn
853b255a6b Beginings of wxGTK compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 23:36:49 +00:00
Robert Roebling
903f689bf7 Added validation support
Fixed a few minor things in wxGrid
  Fixed bug in SetClippingregion
  Disabled SetDefault again
  Fixed bug in AddChild, SetSize et al.
  Add PROCESS_ENTER and wxEVT_TEXT_CHANGE
  Renamed OnOk -> OnOK
  Added a few compatibilty functions
  Added code to make iinterception
    of events possible and work


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 22:53:21 +00:00
Vadim Zeitlin
470b7da353 wxLogWindoe changed again: now takes a parent frame in ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 21:49:27 +00:00
Vadim Zeitlin
1845330624 a small GUI glitch corrected (if a frame with child frames was resized, it
was lowered below it's children)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 21:47:49 +00:00
Vadim Zeitlin
568cb54317 WM_MOVE processing added (wxMoveEvent generated)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 21:41:53 +00:00
Unknown (AN)
0059a10283 -somewhat more elegant method, supporting the src subdir (-Markus)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 20:12:00 +00:00
Karsten Ballüder
64a1451536 added option to hide page controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 11:20:00 +00:00
Julian Smart
163f0dbef0 wxToolBarBase -> wxToolBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 11:15:17 +00:00
Karsten Ballüder
76810b8c97 printing works, page number controls are hidden
portrait/landscape doesn't work, pages are printed wrong


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 11:02:39 +00:00
Robert Roebling
6de97a3b94 Added wxRadioButton (not tested)
Added wxValidator to constructros
  Added resource.cpp
  Added parser stuff
  Added the coolest Makefile.in
  Added callbacks to Menu
  Changed parser.y to include lexer.c for wxGTK
    (Is that right?)
  Can't remeber havning changed the printing stuff.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 10:07:38 +00:00
Karsten Ballüder
3ebece2bda added printing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 08:33:33 +00:00
Robin Dunn
3b8b23873a made pre-compiling the python files optional
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 03:34:23 +00:00
Robin Dunn
2370fac3f6 removed some definitions that got removed from defs.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-14 03:16:39 +00:00
Unknown (AN)
e6886957b4 -Debian glibc2 system is 'linux-gnu', not 'Linux';updated .cvsignore's -Markus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-13 11:45:43 +00:00
Julian Smart
14b72bf5a6 Attempting to check in this wretched cursor again. Also added SetAcceleratorTable
to wxWindow, GnuWin32 fix in registry.h.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-13 10:19:16 +00:00
Julian Smart
088a95f5ff Fixed compile bug in dropsrc.cpp (constr. arg); GnuWin32 fix in registry.cpp;
combobox event fix; moved SetAcceleratorTable down to window.h/cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-13 10:16:03 +00:00
Karsten Ballüder
5e0394ae9b integrated my latest changes and Vadim's fixes on top of that
Compiles, but works?


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-13 10:03:26 +00:00
Robert Roebling
fc008f2592 Added ToogleTool from Markus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-13 09:11:23 +00:00
Vadim Zeitlin
564b260950 wxWindow::MSWOnHScroll changed to call the default handler if the message isn't
processed (earlier it wasn't called in some cases)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 22:44:51 +00:00
Vadim Zeitlin
93a19f178c stack overflow when clicking on the arrow in a notebook fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 22:42:01 +00:00
Vadim Zeitlin
42a91fcebc suppressed VC++ 5.0 bool to int conversion warning (when compiling with
USE_RESSOURCE_LOADING_IN_MSW only)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 22:41:02 +00:00
Vadim Zeitlin
338c2a71e9 one more minor wxLogWindow fix (I try to get it really right...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 22:38:30 +00:00
Vadim Zeitlin
4b13e6aeb2 added a "wxWindow *" (unused) argument for wxGTK compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 22:37:20 +00:00
Vadim Zeitlin
6d9669450d explicit SetSelection/SetOldSelection methods added to wxNotebookEvent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 22:36:21 +00:00
Robert Roebling
496080f0b0 Forgot this one.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 21:39:12 +00:00
Robert Roebling
86b29a6122 Added PushEventHandler, Pop...
Corrected spelling of SetEventhandler
  Fixed two bugs in wxGenericPrintDlg
  Tried in vain to make printing of icons work.
    It now prints black on black, mostly.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 21:24:51 +00:00
Vadim Zeitlin
16ced4a272 had to modify it (added one pixel...) to be able to commit: the file in the
repository was indeed corrupted (as noticed by Robin a couple of days ago)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 20:57:08 +00:00
Vadim Zeitlin
bb14db2d95 file d&d (re)enabled under Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 20:30:23 +00:00
Karsten Ballüder
23b75a2db4 Looks like I've fixed the editing
bugs. Delete/Insert/Home/End/Ctrl-Delete all work as expected.
Cursor gets redrawn properly.
Scroll-to-cursor still missing.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 16:14:15 +00:00
Robert Roebling
362c669367 Added wxFrame::OnCreateStatusBar and ToolBar
Added wxWindow::Raise and Lower

  There isn't going to be wxFrame::SetToolBar.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 11:44:33 +00:00
Karsten Ballüder
01b2eeec59 replaced by stubs files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 09:16:21 +00:00
Karsten Ballüder
0acb94947f fixed mysterious mistakes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 08:50:25 +00:00
Karsten Ballüder
3908d01eab Cursor and insert/delete work much better now, code streamlined, still
a minor problem left.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-12 08:33:34 +00:00
Vadim Zeitlin
3b9261289f more minor changes to wxLogWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 21:14:47 +00:00
Vadim Zeitlin
906373bf01 '\\' can be used to suppress special meaning in '%' and '$' in wxExpandEnvVars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 21:12:06 +00:00
Vadim Zeitlin
d1427b7053 static wxFile::Access() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 21:04:48 +00:00
Vadim Zeitlin
d4a00e065b static wxFile::Access() added (access() isn't ANSI neither...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 21:03:57 +00:00
Vadim Zeitlin
654c1d6b7b controls.cpp didn't compile - missing MyTextCtrl declaration added (and what
OnRightButton is supposed to do?)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 12:44:33 +00:00
Karsten Ballüder
cd063a90f5 deleted
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 11:53:55 +00:00
Karsten Ballüder
e149aaeb44 Added empty Raise() and Lower() methods for compatibilty.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-11 09:51:04 +00:00
Robin Dunn
d279310da9 Typo fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 23:23:05 +00:00
Robin Dunn
5796ed400c Since wxREADONLY has disappeared, I had to change to wxTE_READONLY
in order to compile.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 22:22:25 +00:00
Denis Pershin
e8cd8b1b12 Small modifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 19:57:59 +00:00
Denis Pershin
40413a5b70 DP: GetBitmap() added to wxImageList
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 18:09:07 +00:00
Denis Pershin
f4e325b3df DP: native wxTreeCtrl for GTK.
It *should* be buggy... Cause I do not know GTK...
But it works... I do not know why... Robert, please look at it...
I am not sure that it is ok...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 17:53:44 +00:00
Julian Smart
9c331ded69 Various Dialog Editor-related mods; Dlg Ed. getting usable now under MSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 13:48:12 +00:00
Julian Smart
983162bd54 Mod to allow hit-test on static to succeed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 13:41:22 +00:00
Karsten Ballüder
7b3a00878c added correct coordinate handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-10 09:21:28 +00:00
Denis Pershin
f6d5397840 DP: Robert's mistake with incorrect var name corrected.
It even does not compile.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 19:42:11 +00:00
Robin Dunn
376781f78e I didn't mean for this to be in the repository...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 17:26:41 +00:00
Julian Smart
b823f5a145 Miscellaneous, mostly cosmetic changes. wxPen/wxFont/wxBrush altered so Set...
functions don't change shared objects.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 16:46:37 +00:00
Julian Smart
5e25ba908f Stub header changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 16:31:10 +00:00
Julian Smart
93cf77c076 Added stubs .cpp files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 16:27:07 +00:00
Robert Roebling
30dea05497 Added Pop-up menus.
Hunted down bug in dnd
  Changed widget, that wxWin connects to in certain
  case (in controls, where m_widget is not the connect
  widget, such as list control and text control)
  Compile fixes all over


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 13:06:25 +00:00
Robin Dunn
7bf854050f Initial version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 08:31:08 +00:00
Robin Dunn
b6a69abc7d Made NOPCH overridable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-09 07:15:59 +00:00
Vadim Zeitlin
e17e4f282f wxWarning replaced with wxLogWarning (to solve the compilation problems due
to wxWarning's const incorrectness)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 22:14:17 +00:00
Vadim Zeitlin
b039c367cd WXFARPROC prototyped as `typedef int (__stdcall *WXFARPROC)()' (does Borland
understand __stdcall?) to make the program compile with VC++


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 22:08:04 +00:00
Vadim Zeitlin
f83528074b SetBackgroundColour() call is now done after the window is created, not before
(in which case ListCtrl_SetBkColor fails because it's called with HWND = 0)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 21:42:39 +00:00
Vadim Zeitlin
a781a38247 wxDeleteStockLists() used (instead of duplicating part of it's code)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 21:40:45 +00:00
Vadim Zeitlin
77ca46e7e3 extra memory amount allocated for string data reduced to the paragraph multiple:
so, in principle, it shouldn't waste any memory at all now (unless someone finds
a malloc implementation which is capable of allocation less than 16 bytes)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 21:39:43 +00:00
Vadim Zeitlin
fe7b115601 some minor changes in wxLogWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 21:38:22 +00:00
Robert Roebling
b593568eca Correct the wxButton::Setlabel nonsense
Added wxFrame::SetClientSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 13:44:36 +00:00
Robert Roebling
b6af8d80dc Added wxDC:DrawPolygone
Corrected wxBitmap::SetLabel
  Added wxASSERT here and there
  wxDropSource:DoDrop() now returns Cancel when supposed to


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 13:11:54 +00:00
Julian Smart
7c23a0b01b Added stub include files; also a couple more Dialog Editor files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 09:19:47 +00:00
Denis Pershin
843410bdd0 DP: framecmn.o & wincmn.o were duplicated...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 06:56:37 +00:00
Denis Pershin
fd4fec5bcf Another small modification... Sorry for CVS list overloading...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 06:38:16 +00:00
Denis Pershin
57c2c161e8 Small modification
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 06:36:33 +00:00
Denis Pershin
d8758bbc62 Looks like I did that...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 06:30:11 +00:00
Denis Pershin
e096c40c2b Third try to commit....
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 06:27:27 +00:00
Denis Pershin
1a5a836775 DP:
1. _() calls added where needed.
2. const added in params in postscrp.[h,cpp] in order to compile with
_().
3. Some .cvsignore added. (I did not found any .cvsignore in repository,
it is rather hard to compile something without them...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-08 05:20:46 +00:00
Julian Smart
bbcdf8bc7c Fixed various wxMSW compile problems that came down the telephone line...
plus wxTreeCtrl::EditLabel/EndEditLabel, dialog editor stuff, wxMSW header changes,
doc changes. Sorry about the quantity :-(


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 23:52:45 +00:00
Vadim Zeitlin
c2d8daeb4a stray #include "wincmn.cpp" removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:38:30 +00:00
Vadim Zeitlin
3197ed26f0 wxTREE_INSERT_XXX constants were incorrectly defined (and so inserting the
items at the end, for example, didn't work)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:30:12 +00:00
Vadim Zeitlin
dc1c4b6213 the modal dialogs restore the focus to the control which had it before the
dialog was displayed (earlier, the focus was lost all the time)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:27:33 +00:00
Vadim Zeitlin
a02eb1d2b6 ProcessEvent() now saves the m_lastXXX parameters in case the event handler will
send any other events (without this it can easily lead to crash because DefWndProc
is called with garbage instead of correct parameters)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:25:09 +00:00
Vadim Zeitlin
83626bfa72 code using ms_PaintDC changed a little (a couple of asserts added, the behaviour
did not change)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:22:30 +00:00
Vadim Zeitlin
d2aef3124b improved handling of frames with parent: now they have a NULL parent HWND (to
avoid Win32 bugs in handling this situation) but still are iconized/restored
with their parent frame


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:21:08 +00:00
Vadim Zeitlin
c1066cdf62 VZ: I removed (CASTWNDPROC) from ::CallWndProc - it doesn't compile here with it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:18:43 +00:00
Vadim Zeitlin
c59147ba27 WM_GETDLGCODE handling correctly implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:15:31 +00:00
Vadim Zeitlin
44a6c8e618 a couple of missing calls to UngetWriteBuf() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:10:33 +00:00
Vadim Zeitlin
aaab7c01dc now process UDN_DELTAPOS notification: up-down control (which appears if there
is not enough space for the pages) works correctly now


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:08:43 +00:00
Vadim Zeitlin
370382c71b added call to _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF) for
VC++: it gives at the end of the program report about memory leaks if any
similar to the one produced by the wxwin memory diagnostic classes (but it
works without problems with VC++ and costs nothing to add)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:07:03 +00:00
Vadim Zeitlin
d93f63db9d couple of minor bug fixes/enhancements (interface unchanged)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 22:03:16 +00:00
Robert Roebling
7c78e7c702 More configure fixes
/src/qt and /include/wx/qt now have stubs. Not everything
  compiles yet. But it's a start..


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 21:32:13 +00:00
Robert Roebling
b4e76e0d7e More work on wxQt integration, configure
I tried notr to break anything...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 20:23:17 +00:00
Robin Dunn
d50b2a58e9 Added missing call to wxInitializeStockLists() in CommonInit.
Come on people!  Before checking in changes that affect more than one
platform, please test more than one platform!


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 18:28:52 +00:00
Robin Dunn
35eca07ccd Removed a ">>>>>>> 1.5" (a CVS conflict indicator) that got left in
the code.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 17:32:54 +00:00
Robin Dunn
b5279053f6 Removed duplicate definitions of GetMenuCount and GetMenu so I could
compile.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 17:07:43 +00:00
Vadim Zeitlin
a3622daa90 (1) Denis Pershin's patch for wxGTK (memory leaks corrections)
(2) DELETEP/DELETEA globally renamed to wxDELETE/wxDELETEA and now also NULL
    their argument


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 15:09:04 +00:00
Guilhem Lavaux
0e072aac7a * Typo fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 20:12:56 +00:00
Julian Smart
b1670f9641 Fixed someone's compile error in regconf.cpp (needed a cast to non-const).
Added nplugin sample HTML files, even if the samples have broken :-(


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 19:49:54 +00:00
Julian Smart
5de76427c8 OGL fixes; documentation fixes; dialog editor updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 19:42:06 +00:00
Karsten Ballüder
c6cdf16c93 several fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 19:23:19 +00:00
Robert Roebling
09cf7c5853 Fixed compilation (add serbase.cpp)
Added ListBox::SetString
 Changed listbox message behaviour to match wxMSW (I hope)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 19:07:05 +00:00
Robert Roebling
496e3a4a03 Now configure actually finds Lesstif and Qt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 17:03:46 +00:00
Robert Roebling
a1a2adef07 New Unix configure system
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-06 16:18:34 +00:00
Vadim Zeitlin
df9067d85c compilation problem under Windows fixed (Karsten, you should use a cast when
calling a const function from a non-const one - gcc compiles it it, but it's
broken)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-05 21:51:47 +00:00
Guilhem Lavaux
123a7fddb8 * Added source file info in utils/serialize/*
* Added Windows support in dynlib.cpp (not tested)
* Added some operator in wxStream
* Added a mutex in thread sample (more later)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-05 17:12:43 +00:00
Julian Smart
e1a6fc11e2 Fixed popup menu processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-05 16:35:09 +00:00
Robert Roebling
54ff4a701f Removed /install/gtk/configure from cvs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-05 16:33:18 +00:00
Karsten Ballüder
baeed2892d added SetRecordDefaults() and IsRecordingDefaults() methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-05 14:15:13 +00:00
Julian Smart
2bb0cd285a Various bug fixes to OGL; wxStripExtension prototype added to filefn.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-05 07:13:08 +00:00
Guilhem Lavaux
7a4b9130e3 * Fixes and new features in wxObject*Stream
* Fixes: wxChoice (GTK), wxCheckBox (GTK)
* Fixes: wxStream
* wxObject calls wx*Serialize::LoadObject/StoreObject in StoreObject/LoadObject
* Added support for dynamic library (Linux only, Windows will follow)
* Added serbase.h (Serialization base defines and base object)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-04 17:49:26 +00:00
Guilhem Lavaux
9fdd83842f * Added serialization code to the repository
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-04 17:45:20 +00:00
Vadim Zeitlin
06db8ebd73 added wxLogWindow::GetFrame()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-04 16:42:34 +00:00
Vadim Zeitlin
3ed358cbfe size_t -> int conversion and the warnings about it corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-04 16:05:22 +00:00
Karsten Ballüder
ffbcbbb45a re-fixed wxFileConfig(wxString, wxString) constructor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-04 10:26:56 +00:00
Julian Smart
e8435fa381 Small fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-04 07:24:05 +00:00
Vadim Zeitlin
c5c16a3025 1) wxFileConfig now longer tries to delete system-wide config file in DeleteAll
(only the user's one)
2) wxLogStream "un#indef'ed" under wxGTK


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 23:23:56 +00:00
Vadim Zeitlin
a7489b367d check that wxTheApp != NULL in wxLog::GetActiveTarget
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 23:05:07 +00:00
Vadim Zeitlin
071cc2be5c crash in wxLog::GetActiveTarget() fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 23:03:59 +00:00
Vadim Zeitlin
f3e6e1b5d3 added framecmn.cpp and wincmn.cpp (hmm... how could it compile without them?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 22:59:50 +00:00
Vadim Zeitlin
c614ed58d8 SelectItem() always sends the notification messages
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 22:57:30 +00:00
Vadim Zeitlin
ad553268cb wxApp::Get/SetVendorName functions added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 22:55:59 +00:00
Vadim Zeitlin
23fcecf783 added wxLocale::Init() and ctor without arguments for convenience
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 22:54:15 +00:00
Vadim Zeitlin
275bf4c13a minor changes and bug corrections (interface unchanged)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 22:49:01 +00:00
Vadim Zeitlin
0be4095abb wxConfig sample + wxGTK makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@422 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 22:37:42 +00:00
Karsten Ballüder
574504ae85 grmbl, typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 15:11:47 +00:00
Karsten Ballüder
b925352b3a fixed GetGlobalFilename()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 13:59:41 +00:00
Karsten Ballüder
fe3229dfa4 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 13:59:11 +00:00
Karsten Ballüder
5a0f10a631 added another link
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 11:08:36 +00:00
Karsten Ballüder
dcbe388200 fixed wxFileConfig constructor bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-03 10:10:53 +00:00
Vadim Zeitlin
02569ba8eb wxIniConfig added (pre-alpha quality, many functions not implemented), some
bug fixes in wxRegConfig/wxRegKey


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 23:12:37 +00:00
Vadim Zeitlin
5fe256deb7 wxConfig -> wxConfigBase renaming plus some minor changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 23:11:03 +00:00
Vadim Zeitlin
88f2aa3720 trace mask made static variable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 23:09:13 +00:00
Vadim Zeitlin
46eaa42260 trace mask made static variable (and corresponding accessors static functions)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 23:07:41 +00:00
Vadim Zeitlin
3bd8df227c the base class is now called wxConfigBase, wxConfig is #define'd as
wx{Reg|Ini|File}Config depending on the platform


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 23:06:42 +00:00
Vadim Zeitlin
8f494e5d87 minor changes to registry classes and wxIniConfig added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 23:04:55 +00:00
Robert Roebling
66bd6b9300 Fixed Fontdialog
Fixed frame positions/centering
  Fixed inserting mdi windows
  Changed control callbacks


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 20:38:05 +00:00
Karsten Ballüder
5787c2b9c2 added slash to path
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-02 16:59:53 +00:00
Robert Roebling
47908e25f9 Added bitmaps and icons to samples
Fixed event handling in all controls
  Add some missing functions to wxRadioBox
  Fixed clientData stuff to Choice (Combo?)
  No more gtk warning in Combo
  Fixed toolbar sample and mdi sample
  Fixed bug in AddChild resulting from mdi changes
  Fixed wxFrame::GetPosition()
  Changed order of notification calls in wxListCtrl
  to prevent what I think is a reentry bug
  The usual compile fixes here and there


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-31 20:04:04 +00:00
Julian Smart
110f32055e Added wxAccelerationTable class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-31 13:22:58 +00:00
Julian Smart
57a7b7c148 Added wxAcceleratorTable, wxFrame::SetAcceleratorTable and additions to process it under wxMSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-31 13:01:34 +00:00
Julian Smart
bd0df01f3f Some manual updates; in MDI sample, child frames now have default size/position (hope
it's OK in wxGTK!)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-31 09:33:36 +00:00
Karsten Ballüder
db4365c912 added a comment and hopefully improved extent detectionn
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-31 08:41:17 +00:00
Karsten Ballüder
4f08af68b9 fixed stupid typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-31 08:38:06 +00:00
Julian Smart
4d0c0756e1 MSWOnMouseMove arg bug in toolbar; compile bug in regconf; fixed warning in odbc.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-30 09:37:26 +00:00
Robert Roebling
d4c99d6fa8 Pretty redical change concerning the underlying
X's windows' position. Even without having
  scrolled anywhere, the device origin of the
  top left corner is no longer certain to be
  zero,zero.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-30 09:16:21 +00:00
Karsten Ballüder
82ab121507 Setting of background colours is now correct.
Made virtual declarations depend on BROKEN_COMPILER define.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 13:57:51 +00:00
Robert Roebling
cf4219e77a wxMDIChildFrame inherits from wxFrame
toolbar work
  mini menubar change
  compile fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 13:21:22 +00:00
Vadim Zeitlin
da468d387d 1) APPCONF_ constants renamed to wxCONFIG_
2) wxConfig::Create() now chooses the best (native) implemenntation of
   wxConfig instead of calling wxApp::CreateConfig which was suppressed
3) wxFileConfig(const char *appname) ctor added which looks for the config
   file(s) in standard location(s)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 12:03:42 +00:00
Vadim Zeitlin
580c10e3ca wxApp::(S|G)etVendorName added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 12:00:17 +00:00
Julian Smart
f449ef69b4 Added missing OGL files; added defaults to wxDocMDIParentFrame; corrected
toolbar usage in Dialog Editor


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 10:43:51 +00:00
Karsten Ballüder
8dad2ab39e fixed compiler warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 10:43:11 +00:00
Karsten Ballüder
00e0d52a92 implemented correct setting of background colour for text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 10:34:11 +00:00
Robert Roebling
b204641ec9 wxListCtrl selection improved
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 08:07:45 +00:00
Julian Smart
f7bd26981f Update to docs incl. wxString first stab; added a couple of palette-related events (wxMSW)
needed for wxGLCanvas


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-29 06:51:33 +00:00
Robert Roebling
9746a2ba50 Fixed bug in wxListCtrl
Made wxMDIDocView work


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 22:08:36 +00:00
Guilhem Lavaux
32a4b1d57c * Added Peek() to wxMemoryInputStream.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 17:11:08 +00:00
Julian Smart
00c75bb689 Added ODBC classes manual (Word 97).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 15:15:47 +00:00
Unknown (MO)
99cc0288bd Fixed wxOVERWRITE_PROMPT bug in gtk file selector
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 15:01:09 +00:00
Julian Smart
2108f33a68 Added MDI support for Document/view, plus an example.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 13:33:23 +00:00
Karsten Ballüder
22c248be96 fixed compiler warning (newline at last line missing)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 10:38:46 +00:00
Julian Smart
108106cfe7 Added ODBC database classes and sample from RemStar (sample needs work for wxWin 2)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 09:43:44 +00:00
Julian Smart
b3324be240 Changed files to work with wxDataFormat
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 08:12:20 +00:00
Robert Roebling
7b5408ea7d Fixed bug in MDI
Changed FortyThieves to 2.0 dialog logic
  Did I modify dialog.cpp as well?


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-28 07:50:45 +00:00
Robert Roebling
d355d3fe69 wxFrame::SetIcon()
it's possible now to call Close() after ShowModal()
  dialog sample works
  changed wxString::First() etc to return -1


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 23:01:43 +00:00
Robert Roebling
e3e65dac0c warning msgs
toolbar updates
mdi fixes
dnd works now
Forty Thieves drawing optimization
wxDF_Text constants
ListCtrl bugs fixed
memory leak work
imrc now refers to home dir
dcclient/memory leak fixed


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 20:50:48 +00:00
Karsten Ballüder
bf79063cc8 more comments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 20:39:50 +00:00
Guilhem Lavaux
1eac776c03 * Bug fixes
* Changed wxObjectOutputStream::AddChildren() to AddChild()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 17:08:49 +00:00
Julian Smart
0757d27c1e Changed event type ids to constants instead of enum, for extensibility.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 16:17:59 +00:00
Karsten Ballüder
a97aaabf5c make wxS_DEFAULT consistend with standard Unix behaviour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 09:52:49 +00:00
Julian Smart
81d66cf39f wxToolBar API changes; now frames manage their toolbar & statusbar properly;
client area position is used in SetSize; changes for BC++ & VC++ 1.5;
wxWindow::GetUpdateRegion added; removed wxUpdateIterator; some missing functions
added to process.cpp; bad navigation key event cast fixed; MDI and toolbar samples
updated; new wxMSW wxRegion constructor (WXHRGN)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-27 09:47:57 +00:00
Vadim Zeitlin
e6688c3fd2 double wxMenuItem definition problem fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-26 00:10:52 +00:00
Guilhem Lavaux
7b124d5404 * Deleted #include "wx/bufstrm.h"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-25 10:19:18 +00:00
Robert Roebling
bd7d06f23d Removed warnings mesgs
Doesn't compile due to missing bufstream


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-25 08:31:39 +00:00
Julian Smart
f701d7abc1 Corrected some problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 22:04:21 +00:00
Julian Smart
527fc629c8 Added missing accessors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 20:48:49 +00:00
Julian Smart
37f0deedfa Added missing files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 20:48:25 +00:00
Julian Smart
b979f8772c Removed explicit #defines for wxToolBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 20:47:43 +00:00
Julian Smart
3d8bd7d6bf Removed duplicate code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 20:46:39 +00:00
Julian Smart
cc79e53c16 Small change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 20:45:26 +00:00
Julian Smart
03f68f123b Dialog Editor edits
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 20:44:36 +00:00
Julian Smart
63cafd2799 Added Forty Thieves
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 19:43:32 +00:00
Robert Roebling
46dc76ba35 wxFrame::CreateToolBar() stuff
wxDC::SetBackground from Chris Breeze
zillions of compile fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 19:05:25 +00:00
Guilhem Lavaux
d602f1d8b6 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:44:44 +00:00
Guilhem Lavaux
6d44bf31a6 * Ooops, I didn't copy the files in the right directory of my repository.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:21:06 +00:00
Guilhem Lavaux
1678ad7802 * New wxStream classes: wxStreamBuffer and wxObject*Stream.
* Changes: ofsInvalid => wxInvalidOffset in filefn.h
* Updates: all wxStream classes use wxStreamBuffer.
           wxObject basic declaration changes (added LoadObject, modified
           StoreObject)
* Some base of the serialization.
(I hope not to have forgotten any files)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:13:47 +00:00
Vadim Zeitlin
439b3bf1f5 some common code moved from wxWindow/wxFrame into files in common subdir
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:06:45 +00:00
Vadim Zeitlin
d37a02d0d5 SelectItem() now sends a wxEVT_SELECTED notification.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:04:48 +00:00
Vadim Zeitlin
246037e229 added "access" parameter to wxFile::Create and Open. The default value is
"rw-r--r--" mode.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:03:26 +00:00
Vadim Zeitlin
13289f04ae scrollbar support added (experimental)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 17:02:23 +00:00
Julian Smart
0f217db318 New toolbar event processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 15:47:22 +00:00
Julian Smart
6a23cbcede Removed compile bugs in regconf.cpp, added new toolbar event processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 15:46:52 +00:00
Julian Smart
a37e883612 Altered event.h to reflect new toolbar event handling; removed bugs in regconf.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 15:44:58 +00:00
Julian Smart
13437238cd Updated the toolbar sample to reflect updated event handling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 15:43:03 +00:00
Vadim Zeitlin
44216b3b2e added default value for "int type" (wxBITMAP_TYPE_XPM) in wxBitmap ctor
and Load() method


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 14:35:48 +00:00
Vadim Zeitlin
a7ca513e5a removed #define wxToolBarGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 13:17:04 +00:00
Karsten Ballüder
8ffec97a6e fixed appending of '/' to empty string
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 12:18:23 +00:00
Karsten Ballüder
6134811179 fixed private member access problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-24 10:31:25 +00:00
Vadim Zeitlin
fe3d8179fa oops... a typo in just checked in file corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 17:56:13 +00:00
Vadim Zeitlin
904f68c7e8 call to SetLabel in Create() added to strip "&" characters from the label
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 17:54:24 +00:00
Vadim Zeitlin
389cdc7ae4 wxTreeControl::Get/SetSelection implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 17:53:50 +00:00
Vadim Zeitlin
543e7dd22a now wxToolBarGTK is #define'd as wxToolBar under wxGTK and not vice versa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:10:48 +00:00
Vadim Zeitlin
43fa96a840 IsItemExpanded() function added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:09:55 +00:00
Vadim Zeitlin
aed8df383f wxUpdateUI events generation added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:08:49 +00:00
Vadim Zeitlin
9406d962cc IsModified() function now works correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:08:28 +00:00
Vadim Zeitlin
7c41ac7b42 SetModified() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:07:55 +00:00
Vadim Zeitlin
fd4bc7de65 OnSize removed (not needed any more after Robert's fix)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:07:27 +00:00
Vadim Zeitlin
83885a398b more accessors added, member variablesmade private
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:07:05 +00:00
Vadim Zeitlin
ab16f4a300 DoMenuUpdates()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:06:23 +00:00
Vadim Zeitlin
4632781333 added flag wxFILE_MUST_EXIST
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:05:39 +00:00
Vadim Zeitlin
2a4f4a2773 GetLabel() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:05:14 +00:00
Vadim Zeitlin
19717c50b9 common functions moved into ../common/framecmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:03:53 +00:00
Vadim Zeitlin
96fd301f0e made the code more wxMSW compatible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:02:54 +00:00
Vadim Zeitlin
caac51810b made the constraintsin notebook pages work (once again)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:02:23 +00:00
Vadim Zeitlin
5e0aa05a52 added wxUpdateUI generation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:01:52 +00:00
Vadim Zeitlin
7ec1983bfa common part of wxWindow class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 16:01:33 +00:00
Vadim Zeitlin
32c77a7133 removes "&" from wxControl's label (also for buttons and stattext)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 15:59:55 +00:00
Vadim Zeitlin
9ec05cc986 choosing "Cancel" in the message box which appears when an wxASSERT fails also
suppresses wxLogDebug() messages


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 15:57:47 +00:00
Vadim Zeitlin
63fec618dc common code of wxFrame class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 15:56:50 +00:00
Vadim Zeitlin
3bbb630a21 a warning in the release build suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 15:56:30 +00:00
Julian Smart
14d1ccd89d Created new, simplified toolbar sample; removed other toolbar samples.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 14:39:46 +00:00
Julian Smart
73e7daa02e Moved Get/SetToolBar down into frame.h/cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 14:25:44 +00:00
Vadim Zeitlin
30474825bb added #define wxToolBar wxToolBarGTK for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-23 12:33:08 +00:00
Robert Roebling
716b736420 mdi private menus
Chris's check menu additions
frame fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-22 22:13:31 +00:00
Julian Smart
47fa796902 Added wxString version of wxStripExtension; changed OnClose to return TRUE;
fixed some bad casts in resource.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-22 13:54:47 +00:00
Julian Smart
9123006f13 Added wxString version of wxStripExtension; changed OnClose to return TRUE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@321 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-22 13:53:47 +00:00
Vadim Zeitlin
7228ab483e warning under gcc removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-22 11:33:15 +00:00
Karsten Ballüder
240d850370 fixed duplicate definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-21 13:41:40 +00:00
Vadim Zeitlin
c3b0ff9c7a bug in wxFileConfig::DeleteEntry/Group corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 22:26:39 +00:00
Vadim Zeitlin
4d14b52449 corrected bug in wxArrayString::operator= and it's copy ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 22:23:51 +00:00
Robert Roebling
e2414cbe8c many fixes to wxTextCrtl, wxTreeCrtl, wxListBox,
wxDialog, wxFrame
two more samples work now, docview and treectrl


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 18:05:48 +00:00
Unknown (MO)
035b704a46 Added use of default file/dir and confirm on overwrite to file selection
dialog


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 14:59:54 +00:00
Karsten Ballüder
f40ccee99b fixed config incosistency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 12:20:06 +00:00
Karsten Ballüder
3d6a5e3c5b added -O0 to debug flags to disable optimisation - might break things for non-gcc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 11:25:50 +00:00
Karsten Ballüder
9480f5d151 printing added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-20 08:43:47 +00:00
Vadim Zeitlin
86bb7d4825 infinite loop in wxNavigationKeyEvent processing fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-19 20:46:35 +00:00
Vadim Zeitlin
ae29de8326 MSWGetDlgCode() behaviour changed to allow both TAB navigation in the
dialogs, pressing Enter to activate default button and processing Enter
by the text control itself.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-19 20:45:51 +00:00
Julian Smart
a93ca20183 Renamed a couple more samples/controls files; fixed wxSplitterWindow cursors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-19 20:09:44 +00:00
Karsten Ballüder
26cf69fe72 fixed the ps dialog but doesn't all work yet
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-19 17:39:07 +00:00
Julian Smart
637f467a06 wxDocManager gets the only view if none other specified as the current view;
added ProcessEvent so views get their events processed properly.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 22:04:25 +00:00
Julian Smart
0fc1a7137c Added revamped Object Graphics Library (for node/arc diagrams).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 21:57:52 +00:00
Vadim Zeitlin
0f7549d594 a couple of functions added (GetNumberOfGroups/Entries, ExpandEnvStrings),
some global functions renamed to start with "wx"


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 21:47:45 +00:00
Vadim Zeitlin
82cf4761e1 small bug fixes + a couple of new functions added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 21:44:54 +00:00
Vadim Zeitlin
9fbd8b8d61 several bugs fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 21:15:37 +00:00
Guilhem Lavaux
cf5f9c9c3e wxFrame: OnSize() has a SEGV if wxFrame has no child. Fixed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 10:44:31 +00:00
Robert Roebling
0d73e5a104 ODBC compile (and link) fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 10:15:35 +00:00
Robert Roebling
1a6944fd74 added ODBC support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-18 00:57:32 +00:00
Vadim Zeitlin
c83d505a20 compile without STRICT fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 22:34:15 +00:00
Vadim Zeitlin
c7f3b78bac corrected (after wxTString untimely death) and expanded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 21:21:02 +00:00
Vadim Zeitlin
3aadbb82d9 the very last traces of wxTString removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 21:13:13 +00:00
Julian Smart
11ed4f79aa Bug fix to scrolwin.cpp (position not set in SetScrollbars); redundant variable
in wxGrid removed


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 21:03:05 +00:00
Vadim Zeitlin
99d270120e don't set focus to [ok] in text entry dialog (leave the text zone have it)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 21:01:47 +00:00
Vadim Zeitlin
7502ba2975 last traces of wxTString removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 21:00:11 +00:00
Vadim Zeitlin
3168a13f90 correct (working) version of wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 20:58:33 +00:00
Vadim Zeitlin
a1530845c9 wxTString removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 20:52:40 +00:00
Vadim Zeitlin
6b95b20d03 correct (working) version of wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 20:51:36 +00:00
Vadim Zeitlin
36af0bc423 another "const" added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 13:07:33 +00:00
Vadim Zeitlin
85ccdcce1c some "const"s added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 12:44:13 +00:00
Karsten Ballüder
e14dccff1c fixed, latex now works for manual.tex and referenc.tex, but
referenc.tex fails with index


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 12:34:50 +00:00
Julian Smart
d6a1743b56 Some Borland/GnuWin32 fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 11:10:38 +00:00
Karsten Ballüder
18a2fa3715 fixed underline for drawing text, as suggested by Chris Breeze
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 10:06:26 +00:00
Julian Smart
c4e7c2aa58 Added STRICT corrections.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 09:32:24 +00:00
Vadim Zeitlin
e99c304810 fixed compilation problems under Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 08:18:57 +00:00
Robin Dunn
3848ffef9f fixed a missing backslash
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-17 03:35:20 +00:00
Vadim Zeitlin
f5ae044937 wxFileConfig uses sorted arrays (big performance improvement)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-16 17:30:39 +00:00
Vadim Zeitlin
3bfa440288 added sorted arrays: they automatically sort items on insertion (using user
provided compare function) and binary search in Index(). Using them in
situations where Index() performance is important brings 30%-40% performance
boost.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-16 17:29:46 +00:00
Julian Smart
400735a8fa Cured SetString/GetSelection interaction; incorporated Chris's changes to wxDC:Blit
for printer DCs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-16 08:34:29 +00:00
Robin Dunn
1eb20d4a08 Inserted an else that seemed to be missing. (My RadioBox crashed
without it...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-16 06:47:27 +00:00
Guilhem Lavaux
e49f47aa77 wxStream: wxInputStream and wxOutputStream don't inherit from wxObject anymore.
Removed DECLARE* and IMPLEMENT*
filefn.h: added #include "wx/list.h" to define wxStringList


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 18:40:37 +00:00
Vadim Zeitlin
ba7f9a90b4 speed optimizations: some functions now use wxString::Alloc, wxTextFile::Read
uses a buffer to read data (instead of reading it one char at a time)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 17:14:06 +00:00
Vadim Zeitlin
dd1eaa89dd optimizations: more functions made inline, added Alloc()/Shrink() function for
more precise control over string's memory


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 17:10:23 +00:00
Karsten Ballüder
2ab889ff7b added gauge.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 14:38:57 +00:00
Karsten Ballüder
5a8c6c9adb fixed SetRange/GetValue
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 14:37:42 +00:00
Karsten Ballüder
24e5e6fcb4 fixed wxGTK copyright
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 12:02:40 +00:00
Karsten Ballüder
b4c05cda99 On Robert's request I have added the html-version of my wxQt proposal.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-15 12:00:42 +00:00
Vadim Zeitlin
45ea509a21 common constants (wxSeekMode) and types (off_t) to wxFile and wxStream are
now defined in filefn.h included by both file.h and stream.h


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 22:15:29 +00:00
Vadim Zeitlin
eda3efe2f8 off_t #define'd as _off_t for VC++ (it's not a standard type)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 22:08:59 +00:00
Vadim Zeitlin
30a5be975d GetTempFileName used in wxTempFile now instead of tmpnam
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 21:59:27 +00:00
Vadim Zeitlin
0ce2baa5e6 ExpandEnvVars was eating backslashes - no more.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 21:57:24 +00:00
Vadim Zeitlin
3826db3ef5 added wxSplitFile() to decompose a file name into path + name + ext
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 21:55:47 +00:00
Vadim Zeitlin
92abb45d0a 1) added wxSplitFile() to decompose a file name into path + name + ext
2) added a macro wxARE_FILENAMES_CASE_SENSITIVE which is either 1 or 0
   (for usage with wxString::IsSameAs)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 21:55:17 +00:00
Guilhem Lavaux
0cd9bfe8da * wxMemory*Stream link problem fix.
* wxData*Stream update.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 16:35:50 +00:00
Guilhem Lavaux
79c3e0e1ae * wxStream: I've rewritten the inheritance
* added wxZlib*Stream
* updated makefiles and data.cpp
* modified a bit wxFile so I can use it in wxFile*Stream


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-14 12:06:50 +00:00
Robert Roebling
33d0b396b2 resize mdi and notebook client
bitmap resizing (used in imagelist)
draw spline bug


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 23:30:59 +00:00
Julian Smart
d29d303b1c In splitter sample, forwarded OnIdle events to wxFrame, else UI updates don't
work. Removed compatibility function from docview.h.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 20:11:21 +00:00
Robert Roebling
0180d5daae memdc and bitmap fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 17:00:29 +00:00
Vadim Zeitlin
5a8c929eb4 constraints for notebook pages work (again)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 16:57:43 +00:00
Karsten Ballüder
85504caca9 fixed DEBUG
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 15:46:01 +00:00
Karsten Ballüder
c6cdbc3d75 Changed #ifdef DEBUG to #ifdef __WXDEBUG__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 14:11:22 +00:00
Karsten Ballüder
70bb5dba34 Quick fix to avoid unnecessary compiler warnings from duplicate __WXDEBUG__ defines.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 12:47:02 +00:00
Karsten Ballüder
4acbf24597 Configure now adds -D__WXDEBUG__ to the compiler switches if run with
--with-debug_flag.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 12:45:47 +00:00
Karsten Ballüder
f0b078077d Fixed that stupid stream problem.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 10:01:29 +00:00
Julian Smart
db138a4c2a Removed streams from VC++ makefile for now; corrected typo in log.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 09:15:56 +00:00
Karsten Ballüder
ddfc206782 uses wxString again (std::string optional)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-13 08:48:38 +00:00
Vadim Zeitlin
7d7fb17e1d GetTextExtent checks that passed pointers are not NULL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 23:23:11 +00:00
Vadim Zeitlin
27c9fe7554 wxLogDebug/Trace in release mode now don't give compiler warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 23:07:22 +00:00
Vadim Zeitlin
b5c3b53817 constraints handling for notebook pages improved
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:59:00 +00:00
Vadim Zeitlin
e15e548b50 wxFILE_MUST_EXIST added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:57:42 +00:00
Vadim Zeitlin
db8b79634e wxWindow::OnSize() removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:52:14 +00:00
Vadim Zeitlin
092bddef5a 1) separate expand/collapse event
2) separate Expand/Collapse/ToggleItem() functions
3) IsItemExpanded() added


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:50:32 +00:00
Vadim Zeitlin
5475b96085 constraints handling for the notebook pages fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:47:09 +00:00
Vadim Zeitlin
a8e50c86a4 defined wxFILE_MUST_EXIST flag
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:46:10 +00:00
Vadim Zeitlin
f04f399187 wxGetEmptyString() function added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:40:00 +00:00
Vadim Zeitlin
02ce7b722e 1. expand/collapse (and -ing variants) events are now separated
2. ExpandItem(action) can now be also called as ExpandItem(), CollapseItem()
   and ToggleItem()
3. several other minor changes (IsExpanded function added)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:25:34 +00:00
Vadim Zeitlin
abc7998686 added missing UngetWriteBuf() in wxString::insert
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:06:28 +00:00
Vadim Zeitlin
128aec1da4 memory leak plugged
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 22:05:16 +00:00
Vadim Zeitlin
cd70477bbd wxFrame::OnSize() slightly optimized (the behaviour is the same as before)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 21:55:31 +00:00
Vadim Zeitlin
d8329927ee wxWindow::OnSize() removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 21:49:45 +00:00
Robert Roebling
219f895a27 stream compile fixes
bitmap, icon, imaglist work (broken)
notebook client resize fixed (ugly)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 20:06:59 +00:00
Guilhem Lavaux
3cacae09fa Added IMPLEMENT_CLASS, ... about wxStream classes (I hope I didn't make mistakes).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 15:36:53 +00:00
Guilhem Lavaux
32fc4afbb2 Ooops ! I've forgotten the include files.
mmstream.cpp => mstream.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 15:24:52 +00:00
Guilhem Lavaux
3d4c6a214a Added wxStream but I haven't tested them.
Modified wxDataStream.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 15:16:09 +00:00
Karsten Ballüder
23f641681f latest sources from M
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 15:02:44 +00:00
Julian Smart
4414cc1db8 Added wxTreeLayout for wxWindows 2.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 09:21:16 +00:00
Julian Smart
ad3ad68e15 Added gtk.rsp, a 'response' file (listing of all wxGTK-specific files)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 09:17:14 +00:00
Julian Smart
3e1a3a402d Removed #pragmas in utils.cpp, corrected USE_(WX)DEBUG_CONTEXT,
added wx200gtk.zip creation in zipdist.bat.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-12 09:16:20 +00:00
Guilhem Lavaux
0f460a1d4b Deleted "#include <sched.h>".
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-11 14:51:58 +00:00
Robert Roebling
401ec7b639 event/leave events
scrollbar fix
listctrl fix


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-11 09:53:58 +00:00
Robert Roebling
4c6819972f tree control and dc::drawlines bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 23:08:39 +00:00
Vadim Zeitlin
da7f8ac4dd wxWindow::OnSize() does _not_ call Layout() (it should only be done for
top-level windows)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 17:46:08 +00:00
Vadim Zeitlin
ed7a557b53 wxFrame::OnSize() calls Layout() if GetAutoLayout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 17:45:38 +00:00
Karsten Ballüder
2049ba38ad Changed __GTK__, __WINDOWS__ and __MOTIF__ to __WXGTK__, __WXMSW__ and __WXMOTIF__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 14:15:17 +00:00
Karsten Ballüder
7007fcfced Fixed implementation pragma to "utils.h"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 13:34:20 +00:00
Karsten Ballüder
8c43d1c898 DEBUG -> WXDEBUG
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 12:06:03 +00:00
Karsten Ballüder
2216f571bf still fixing DEBUG macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 12:01:16 +00:00
Karsten Ballüder
54fe0dcf9a fixed another @DEBUG@
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 11:55:19 +00:00
Karsten Ballüder
b2aef89b7a Cleared up DEBUG define mess, defines are now called __WXDEBUG__ and WXDEBUG.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 11:14:17 +00:00
2204 changed files with 349448 additions and 43820 deletions

11
.cvsignore Normal file
View File

@@ -0,0 +1,11 @@
system.list
bin
.gdb_history
Test
config.cache
config.status
system.list
linux.system.cache
wx-config
config.log
linux-gnu.system.cache

View File

@@ -53,12 +53,18 @@ user::
@echo "entering directory user building all"
@cd user; ${MAKE} all
install::
@echo "entering directory src for installing"
@cd src; ${MAKE} install
@echo "entering directory utils for installing"
@cd utils; ${MAKE} install
# the following ones recreate all Makefiles.
makefiles:: recreate
Makefiles:: recreate
recreate::
@src/gtk/setup/general/createall
@setup/general/createall
# the following ones define what needs to be done to distribute the
# library and its components

View File

@@ -1,52 +1,42 @@
********************* TODO list for wxWindows 2 ******************************
The items are grouped by platform (generic, MSW, GTK...) and inside by
subject. The first 2 columns containg the following codes:
Priority classification: Amount of work expected:
9 next point release q quick fix
8 next release s small change
7 as soon as possible l a little work
6 soon w some work
5 should be included b big change
4 nice to have m major change
3 consider including ? don't know how to fix
2 maybe not - unclassified
1 probably not
- unclassified
After the subject the name in brackets indicates the person who is going to do
it.
=============================== common ========================================
4w wxString optimization (VZ)
allocate more memory than needed to avoid reallocation each time when
operator+ or += is used.
wxSocket, wxTCP etc..
6b stream classes (VZ)
wxMultiMedia
=============================== generic ======================================
7s wxTreeCtrl root item (RR)
root item is not shown currently (unlike in MSW version)
wxTreeCtrl keyboard handling
wxTreeCtrl icon support
5w wxImageList
it's not implemented currently, to do (assuming that all images have the
same size - no resizing should be done to simplify the job)
wxListCtrl icon support in list mode
================================ MSW ==========================================
7w consistent keyboard interface and focus behaviour (VZ)
Consistent keyboard interface and focus behaviour
currently, the focus is lost all the time (after a MessageBox, for example)
and sometimes TABbing through controls doesn't work
================================ GTK ==========================================
9m keyboard interface (RR)
TAB traversal, Alt-letter accelerators for the controls and accelerators
for menu items - TODO.
Add support Set colour/baclgroundcolour in GTK widgets
Correct tab navigation (seems to be a GTK feature)
Finish DnD
Add Clipboard
Help system (not sure about this one)
Show accelerator in menus
More controls with bitmaps
Speed up bitmap saving
Add wxBitmapHandler
Fix printing of bitmaps
Implement wxRadioBox layout
Finish wxTextCtrl
Finish native wxTreeCtrl
Implement wxPalette
Implement wxDirDialog
Support cooperation between Qt and wxWindows
Fix toolbar tips
TrueType support (just kidding)
3b wxTreeCtrl native implementation?
GTK has a GtkCTree widget which seems to be quite close to the Windows
standard control - what about writing a native wxTreeCtrl based on it?

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
distrib/*.*
distrib/msw/*.rsp
distrib/msw/*.bat
docs/readme.txt
docs/install.txt
@@ -8,6 +9,10 @@ docs/upgrade.txt
docs/todo.txt
docs/licence.txt
docs/symbols.txt
docs/*.html
src/*.inc
src/mkdir
src/common/*.cpp
src/common/dosyacc.c
@@ -25,7 +30,7 @@ src/generic/*.inc
src/png/*.c
src/png/*.h
src/png/makefile.*
src/png/makefile*
src/png/INSTALL
src/png/CHANGES
src/png/README
@@ -42,12 +47,14 @@ src/zlib/README
src/zlib/ChangeLog
src/zlib/configure
src/zlib/*.txt
src/zlib/makefile.*
src/zlib/makefile*
src/zlib/*.com
src/zlib/*.3
src/zlib/*.mms
include/wx/*.h
include/wx/protocol/*.h
include/wx/*.cpp
include/wx/wx_setup.vms
include/wx/common/*.h
include/wx/generic/*.h
@@ -69,9 +76,9 @@ bitmaps/ico/32x32/*.*
afm/*.*
utils/*.txt
utils/make*.*
utils/make*
utils/xpmshow/src/makefile.*
utils/xpmshow/src/makefile*
utils/xpmshow/src/*.cpp
utils/xpmshow/src/*.h
utils/xpmshow/src/*.def
@@ -82,8 +89,9 @@ utils/xpmshow/src/*.ico
utils/wxhelp/src/*.cpp
utils/wxhelp/src/*.h
utils/wxhelp/src/makefile.*
utils/wxhelp/src/makefile*
utils/wxhelp/src/*.xbm
utils/wxhelp/src/*.xpm
utils/wxhelp/src/*.txt
utils/wxhelp/src/*.ico
utils/wxhelp/src/*.def
@@ -94,6 +102,7 @@ utils/tex2rtf/src/*.cpp
utils/tex2rtf/src/*.h
utils/tex2rtf/src/make*.*
utils/tex2rtf/src/*.xbm
utils/tex2rtf/src/*.xpm
utils/tex2rtf/src/*.sty
utils/tex2rtf/src/*.ini
utils/tex2rtf/src/*.inf
@@ -109,8 +118,9 @@ utils/tex2rtf/tools/tcheck/*.bat
utils/wxtree/src/*.cpp
utils/wxtree/src/*.h
utils/wxtree/src/makefile.*
utils/wxtree/src/makefile*
utils/wxtree/src/*.xbm
utils/wxtree/src/*.xpm
utils/wxtree/lib/dummy
utils/wxtree/src/*.ico
utils/wxtree/src/*.def
@@ -119,8 +129,9 @@ utils/wxtree/src/*.rc
utils/wxgraph/src/*.cpp
utils/wxgraph/src/*.c
utils/wxgraph/src/*.h
utils/wxgraph/src/makefile.*
utils/wxgraph/src/makefile*
utils/wxgraph/src/*.xbm
utils/wxgraph/src/*.xpm
utils/wxgraph/lib/dummy
utils/wxgraph/src/*.ico
utils/wxgraph/src/*.def
@@ -130,7 +141,7 @@ utils/mfutils/src/*.cpp
utils/mfutils/src/*.h
utils/mfutils/src/*.rc
utils/mfutils/src/*.def
utils/mfutils/src/makefile.*
utils/mfutils/src/makefile*
utils/mfutils/src/*.txt
utils/mfutils/lib/dummy
utils/mfutils/src/*.ico
@@ -141,8 +152,9 @@ utils/mfutils/src/*.ico
utils/rcparser/src/*.cpp
utils/rcparser/src/*.c
utils/rcparser/src/*.h
utils/rcparser/src/makefile.*
utils/rcparser/src/makefile*
utils/rcparser/src/*.xbm
utils/rcparser/src/*.xpm
utils/rcparser/lib/dummy
utils/rcparser/src/*.ico
utils/rcparser/src/*.def
@@ -153,28 +165,43 @@ utils/colours/*.h
utils/colours/*.cpp
utils/colours/*.def
utils/colours/*.rc
utils/colours/makefile.*
utils/colours/makefile*
utils/colours/*.xbm
utils/colours/*.xpm
utils/colours/*.txt
utils/serialize/*.h
utils/serialize/*.cpp
utils/serialize/*.def
utils/serialize/*.rc
utils/serialize/makefile*
utils/serialize/*.xbm
utils/serialize/*.xpm
utils/serialize/*.txt
utils/wxprop/Makefile
utils/wxprop/src/*.h
utils/wxprop/src/*.cpp
utils/wxprop/src/*.def
utils/wxprop/src/*.rc
utils/wxprop/src/makefile.*
utils/wxprop/src/makefile*
utils/wxprop/src/*.xbm
utils/wxprop/src/*.xpm
utils/wxprop/src/*.txt
utils/wxprop/src/*.ico
utils/wxprop/src/*.bmp
utils/wxprop/lib/dummy
utils/dialoged/Makefile
utils/dialoged/src/bitmaps/*.xbm
utils/dialoged/src/bitmaps/*.xpm
utils/dialoged/src/*.h
utils/dialoged/src/*.cpp
utils/dialoged/src/*.def
utils/dialoged/src/*.rc
utils/dialoged/src/makefile.*
utils/dialoged/src/makefile*
utils/dialoged/src/*.xbm
utils/dialoged/src/*.xpm
utils/dialoged/src/*.txt
utils/dialoged/src/*.inf
utils/dialoged/test/*.h
@@ -186,42 +213,117 @@ utils/dialoged/src/bitmaps/*.ico
utils/dialoged/test/*.cpp
utils/dialoged/test/*.def
utils/dialoged/test/*.rc
utils/dialoged/test/makefile.*
utils/dialoged/test/makefile*
utils/dialoged/lib/dummy
utils/dialoged/test/*.ico
utils/dialoged/test/*.prj
utils/dialoged/test/*.bmp
samples/*.txt
samples/makefile.*
utils/glcanvas/Makefile
utils/glcanvas/win/*.h
utils/glcanvas/win/*.cpp
utils/glcanvas/win/*.def
utils/glcanvas/win/*.rc
utils/glcanvas/win/makefile*
utils/glcanvas/win/*.xbm
utils/glcanvas/win/*.xpm
utils/glcanvas/win/*.txt
utils/glcanvas/win/*.ico
utils/glcanvas/win/*.bmp
utils/glcanvas/src/*.h
utils/glcanvas/src/*.cpp
utils/glcanvas/src/*.def
utils/glcanvas/src/*.rc
utils/glcanvas/src/makefile*
utils/glcanvas/src/*.xbm
utils/glcanvas/src/*.xpm
utils/glcanvas/src/*.txt
utils/glcanvas/src/*.ico
utils/glcanvas/src/*.bmp
utils/glcanvas/samples/cube/*.h
utils/glcanvas/samples/cube/*.cpp
utils/glcanvas/samples/cube/*.def
utils/glcanvas/samples/cube/*.rc
utils/glcanvas/samples/cube/makefile*
utils/glcanvas/samples/cube/*.xbm
utils/glcanvas/samples/cube/*.xpm
utils/glcanvas/samples/cube/*.txt
utils/glcanvas/samples/cube/*.ico
utils/glcanvas/samples/cube/*.bmp
utils/glcanvas/samples/isosurf/*.h
utils/glcanvas/samples/isosurf/*.cpp
utils/glcanvas/samples/isosurf/*.def
utils/glcanvas/samples/isosurf/*.rc
utils/glcanvas/samples/isosurf/makefile*
utils/glcanvas/samples/isosurf/*.xbm
utils/glcanvas/samples/isosurf/*.xpm
utils/glcanvas/samples/isosurf/*.txt
utils/glcanvas/samples/isosurf/*.ico
utils/glcanvas/samples/isosurf/*.bmp
utils/glcanvas/samples/isosurf/*.gz
utils/glcanvas/docs/*.tex
utils/glcanvas/docs/*.txt
utils/glcanvas/docs/*.bmp
utils/glcanvas/docs/*.gif
samples/hello/*.cpp
samples/hello/*.h
samples/hello/*.def
samples/hello/makefile.*
samples/hello/*.xbm
samples/hello/*.txt
samples/hello/*.ico
samples/hello/*.bmp
samples/hello/*.rc
samples/hello/*.wav
samples/*.txt
samples/makefile*
samples/config/*.cpp
samples/config/*.h
samples/config/*.def
samples/config/makefile*
samples/config/*.xbm
samples/config/*.xpm
samples/config/*.txt
samples/config/*.ico
samples/config/*.bmp
samples/config/*.rc
samples/config/*.wav
samples/dynamic/*.cpp
samples/dynamic/*.h
samples/dynamic/*.def
samples/dynamic/makefile.*
samples/dynamic/makefile*
samples/dynamic/*.xbm
samples/dynamic/*.xpm
samples/dynamic/*.txt
samples/dynamic/*.ico
samples/dynamic/*.bmp
samples/dynamic/*.rc
samples/dynamic/*.wav
samples/wxsocket/*.cpp
samples/wxsocket/*.h
samples/wxsocket/*.def
samples/wxsocket/makefile*
samples/wxsocket/*.xbm
samples/wxsocket/*.xpm
samples/wxsocket/*.ico
samples/wxsocket/*.rc
samples/help/*.cpp
samples/help/*.h
samples/help/*.def
samples/help/makefile*
samples/help/*.xbm
samples/help/*.xpm
samples/help/*.ico
samples/help/*.rc
samples/help/doc/*.html
samples/help/doc/*.htm
samples/help/doc/*.class
samples/help/doc/*.db
samples/help/doc/*.tex
samples/help/doc/*.gif
samples/help/doc/*.map
samples/bombs/*.cpp
samples/bombs/*.h
samples/bombs/*.def
samples/bombs/makefile.*
samples/bombs/makefile*
samples/bombs/*.xbm
samples/bombs/*.xpm
samples/bombs/*.txt
samples/bombs/*.ico
samples/bombs/*.bmp
@@ -230,19 +332,31 @@ samples/bombs/*.rc
samples/ipc/*.cpp
samples/ipc/*.h
samples/ipc/*.def
samples/ipc/makefile.*
samples/ipc/makefile*
samples/ipc/*.xbm
samples/ipc/*.xpm
samples/ipc/*.ico
samples/ipc/*.rc
samples/types/*.cpp
samples/types/*.h
samples/types/*.def
samples/types/*.rc
samples/types/*.txt
samples/types/makefile.*
samples/types/*.xbm
samples/types/*.ico
samples/typetest/*.cpp
samples/typetest/*.h
samples/typetest/*.def
samples/typetest/*.rc
samples/typetest/*.txt
samples/typetest/makefile*
samples/typetest/*.xbm
samples/typetest/*.xpm
samples/typetest/*.ico
samples/sashtest/*.cpp
samples/sashtest/*.h
samples/sashtest/*.def
samples/sashtest/*.rc
samples/sashtest/*.txt
samples/sashtest/makefile*
samples/sashtest/*.xbm
samples/sashtest/*.xpm
samples/sashtest/*.ico
samples/resource/*.cpp
samples/resource/*.h
@@ -250,115 +364,105 @@ samples/resource/*.def
samples/resource/*.rc
samples/resource/*.txt
samples/resource/*.wxr
samples/resource/makefile.*
samples/resource/makefile*
samples/resource/*.xbm
samples/resource/*.xpm
samples/resource/*.ico
samples/animate/*.cpp
samples/animate/*.h
samples/animate/*.def
samples/animate/makefile.*
samples/animate/makefile*
samples/animate/*.xbm
samples/animate/*.xpm
samples/animate/*.ico
samples/animate/*.rc
samples/mdi/*.cpp
samples/mdi/*.h
samples/mdi/*.def
samples/mdi/makefile.*
samples/mdi/makefile*
samples/mdi/*.xbm
samples/mdi/*.xpm
samples/mdi/*.ico
samples/mdi/*.rc
samples/mdi/bitmaps/*.bmp
samples/mdi/bitmaps/*.ico
samples/mdi/bitmaps/*.xpm
samples/mdi/bitmaps/*.xbm
samples/minimal/*.cpp
samples/minimal/*.h
samples/minimal/*.def
samples/minimal/makefile.*
samples/minimal/makefile*
samples/minimal/*.xbm
samples/minimal/*.xpm
samples/minimal/*.ico
samples/minimal/*.rc
samples/controls/*.cpp
samples/controls/*.h
samples/controls/*.def
samples/controls/makefile.*
samples/controls/makefile*
samples/controls/*.xbm
samples/controls/*.xpm
samples/controls/*.ico
samples/controls/*.bmp
samples/controls/*.rc
samples/controls/icons/*
samples/fractal/*.cpp
samples/fractal/*.h
samples/fractal/*.def
samples/fractal/makefile.*
samples/fractal/makefile*
samples/fractal/*.xbm
samples/fractal/*.xpm
samples/fractal/*.ico
samples/fractal/*.rc
samples/layout/*.cpp
samples/layout/*.h
samples/layout/*.def
samples/layout/makefile.*
samples/layout/makefile*
samples/layout/*.xbm
samples/layout/*.xpm
samples/layout/*.ico
samples/layout/*.rc
samples/layout/*.bmp
samples/layout/*.xpm
samples/printing/*.cpp
samples/printing/*.h
samples/printing/*.def
samples/printing/makefile.*
samples/printing/makefile*
samples/printing/*.xbm
samples/printing/*.xpm
samples/printing/*.txt
samples/printing/*.ico
samples/printing/*.bmp
samples/printing/*.rc
samples/printing/*.afm
samples/tbarsmpl/*.cpp
samples/tbarsmpl/*.h
samples/tbarsmpl/*.def
samples/tbarsmpl/makefile.*
samples/tbarsmpl/*.txt
samples/tbarsmpl/*.xbm
samples/tbarsmpl/bitmaps/*.xbm
samples/tbarsmpl/*.ico
samples/tbarsmpl/*.bmp
samples/tbarsmpl/*.rc
samples/tbarsmpl/bitmaps/*.bmp
samples/tbar95/*.cpp
samples/tbar95/*.h
samples/tbar95/*.def
samples/tbar95/makefile.*
samples/tbar95/*.txt
samples/tbar95/*.xbm
samples/tbar95/bitmaps/*.xbm
samples/tbar95/*.ico
samples/tbar95/*.bmp
samples/tbar95/*.rc
samples/tbar95/bitmaps/*.bmp
samples/tbarmsw/*.cpp
samples/tbarmsw/*.h
samples/tbarmsw/*.def
samples/tbarmsw/makefile.*
samples/tbarmsw/*.txt
samples/tbarmsw/*.xbm
samples/tbarmsw/bitmaps/*.xbm
samples/tbarmsw/*.ico
samples/tbarmsw/*.bmp
samples/tbarmsw/*.rc
samples/tbarmsw/bitmaps/*.bmp
samples/toolbar/*.cpp
samples/toolbar/*.h
samples/toolbar/*.def
samples/toolbar/makefile*
samples/toolbar/*.txt
samples/toolbar/*.xbm
samples/toolbar/*.xpm
samples/toolbar/bitmaps/*.xbm
samples/toolbar/bitmaps/*.xpm
samples/toolbar/*.ico
samples/toolbar/*.bmp
samples/toolbar/*.rc
samples/toolbar/bitmaps/*.bmp
samples/docview/*.h
samples/docview/*.cpp
samples/docview/*.def
samples/docview/*.rc
samples/docview/makefile.*
samples/docview/makefile*
samples/docview/*.xbm
samples/docview/*.xpm
samples/docview/*.txt
samples/docview/*.ico
samples/docview/*.bmp
@@ -367,8 +471,9 @@ samples/memcheck/*.h
samples/memcheck/*.cpp
samples/memcheck/*.def
samples/memcheck/*.rc
samples/memcheck/makefile.*
samples/memcheck/makefile*
samples/memcheck/*.xbm
samples/memcheck/*.xpm
samples/memcheck/*.txt
samples/memcheck/*.ico
samples/memcheck/*.bmp
@@ -377,21 +482,22 @@ samples/odbc/*.h
samples/odbc/*.cpp
samples/odbc/*.def
samples/odbc/*.rc
samples/odbc/makefile.*
samples/odbc/makefile*
samples/odbc/*.inf
samples/odbc/*.xbm
samples/odbc/*.xpm
samples/odbc/*.ico
samples/odbc/*.bmp
samples/odbc/*.dbf
samples/odbc/*.cdx
samples/odbc/odbc32.lib
samples/dialogs/*.h
samples/dialogs/*.cpp
samples/dialogs/*.def
samples/dialogs/*.rc
samples/dialogs/makefile.*
samples/dialogs/makefile*
samples/dialogs/*.xbm
samples/dialogs/*.xpm
samples/dialogs/*.txt
samples/dialogs/*.bmp
samples/dialogs/*.ico
@@ -402,8 +508,9 @@ samples/wxpoem/*.def
samples/wxpoem/*.rc
samples/wxpoem/*.inf
samples/wxpoem/*.txt
samples/wxpoem/makefile.*
samples/wxpoem/makefile*
samples/wxpoem/*.xbm
samples/wxpoem/*.xpm
samples/wxpoem/*.ico
samples/wxpoem/*.bmp
samples/wxpoem/*.dat
@@ -415,8 +522,9 @@ samples/pressup/*.def
samples/pressup/*.rc
samples/pressup/*.inf
samples/pressup/*.txt
samples/pressup/makefile.*
samples/pressup/makefile*
samples/pressup/*.xbm
samples/pressup/*.xpm
samples/pressup/*.ico
samples/pressup/*.bmp
@@ -426,8 +534,9 @@ samples/validate/*.def
samples/validate/*.rc
samples/validate/*.inf
samples/validate/*.txt
samples/validate/makefile.*
samples/validate/makefile*
samples/validate/*.xbm
samples/validate/*.xpm
samples/validate/*.ico
samples/validate/*.bmp
@@ -437,8 +546,9 @@ samples/events/*.def
samples/events/*.rc
samples/events/*.inf
samples/events/*.txt
samples/events/makefile.*
samples/events/makefile*
samples/events/*.xbm
samples/events/*.xpm
samples/events/*.ico
samples/events/*.bmp
@@ -447,9 +557,11 @@ samples/treectrl/*.h
samples/treectrl/*.def
samples/treectrl/*.rc
samples/treectrl/*.txt
samples/treectrl/makefile.*
samples/treectrl/makefile*
samples/treectrl/*.xbm
samples/treectrl/*.xpm
samples/treectrl/bitmaps/*.xbm
samples/treectrl/bitmaps/*.xpm
samples/treectrl/*.ico
samples/treectrl/*.bmp
samples/treectrl/bitmaps/*.bmp
@@ -460,9 +572,11 @@ samples/listctrl/*.h
samples/listctrl/*.def
samples/listctrl/*.rc
samples/listctrl/*.txt
samples/listctrl/makefile.*
samples/listctrl/makefile*
samples/listctrl/*.xbm
samples/listctrl/*.xpm
samples/listctrl/bitmaps/*.xbm
samples/listctrl/bitmaps/*.xpm
samples/listctrl/*.ico
samples/listctrl/*.bmp
samples/listctrl/bitmaps/*.bmp
@@ -473,8 +587,9 @@ samples/splitter/*.h
samples/splitter/*.def
samples/splitter/*.rc
samples/splitter/*.txt
samples/splitter/makefile.*
samples/splitter/makefile*
samples/splitter/*.xbm
samples/splitter/*.xpm
samples/splitter/*.ico
samples/splitter/*.bmp
@@ -483,8 +598,9 @@ samples/grid/*.h
samples/grid/*.def
samples/grid/*.rc
samples/grid/*.txt
samples/grid/makefile.*
samples/grid/makefile*
samples/grid/*.xbm
samples/grid/*.xpm
samples/grid/*.ico
samples/grid/*.bmp
@@ -493,8 +609,9 @@ samples/internat/*.h
samples/internat/*.def
samples/internat/*.rc
samples/internat/*.txt
samples/internat/makefile.*
samples/internat/makefile*
samples/internat/*.xbm
samples/internat/*.xpm
samples/internat/*.po
samples/internat/*.ico
samples/internat/*.bmp
@@ -505,36 +622,78 @@ samples/checklst/*.h
samples/checklst/*.def
samples/checklst/*.rc
samples/checklst/*.txt
samples/checklst/makefile.*
samples/checklst/makefile*
samples/checklst/*.xbm
samples/checklst/*.xpm
samples/checklst/*.ico
samples/checklst/*.bmp
samples/dnd/*.cpp
samples/dnd/*.h
samples/dnd/makefile.*
samples/dnd/makefile*
samples/dnd/*.rc
samples/dnd/*.def
samples/dnd/*.bmp
samples/dnd/*.xbm
samples/dnd/*.xpm
samples/dnd/*.ico
samples/dnd/*.txt
samples/tab/*.cpp
samples/tab/*.h
samples/tab/makefile.*
samples/tab/makefile*
samples/tab/*.rc
samples/tab/*.def
samples/tab/*.bmp
samples/tab/*.xbm
samples/tab/*.xpm
samples/tab/*.ico
samples/tab/*.txt
samples/notebook/*.cpp
samples/notebook/*.h
samples/notebook/makefile*
samples/notebook/*.rc
samples/notebook/*.def
samples/notebook/*.bmp
samples/notebook/*.xbm
samples/notebook/*.xpm
samples/notebook/*.ico
samples/notebook/*.txt
samples/png/*.cpp
samples/png/*.h
samples/png/makefile.*
samples/png/makefile*
samples/png/*.rc
samples/png/*.def
samples/png/*.bmp
samples/png/*.xpm
samples/png/*.xbm
samples/png/*.ico
samples/png/*.txt
samples/png/*.png
samples/image/*.cpp
samples/image/*.h
samples/image/makefile*
samples/image/*.rc
samples/image/*.def
samples/image/*.bmp
samples/image/*.xpm
samples/image/*.xbm
samples/image/*.png
samples/image/*.ico
samples/image/*.txt
samples/thread/*.cpp
samples/thread/*.h
samples/thread/makefile*
samples/thread/*.rc
samples/thread/*.def
samples/thread/*.bmp
samples/thread/*.xpm
samples/thread/*.xbm
samples/thread/*.png
samples/thread/*.ico
samples/thread/*.txt

123
distrib/msw/gtk.rsp Normal file
View File

@@ -0,0 +1,123 @@
install-sh
Makefile
template.mak
TODO.txt
configure.in
config.guess
config.sub
wx-config.in
mkinstalldirs
docs/gtk/*.html
docs/gtk/*.txt
include/wx/gtk/*.h
src/Makefile
src/Makefile.in
src/*.inc
src/gtk/*.cpp
src/gtk/*.c
src/gtk/*.inc
src/gtk/*.xbm
src/gdk_imlib/*.c
src/gdk_imlib/*.h
src/gdk_imlib/AUTHORS
src/gdk_imlib/AUDIT
src/gdk_imlib/COPYING.LIB
src/gdk_imlib/README
src/gdk_imlib/ChangeLog
src/iodbc/*.c
src/iodbc/*.ci
src/iodbc/*.h
src/iodbc/IAFA-PACKAGE
src/iodbc/README
src/iodbc/*.exp
src/iodbc/*.mk
src/iodbc/autoconfig
src/iodbc/build
src/iodbc/Changes.log
src/iodbc/postgres/*.h
setup/*.in
setup/*.hin
setup/general/createall
setup/general/jointar
setup/general/makeapp
setup/general/makedirs
setup/general/makedoc
setup/general/mygrep
setup/general/needed
setup/rules/bin
setup/rules/bin2
setup/rules/doc
setup/rules/gbin
setup/rules/gbin2
setup/rules/glib
setup/rules/glibbin
setup/rules/glibgbin
setup/rules/gslib
setup/rules/lib
setup/rules/libbin
setup/rules/libgbin
setup/rules/generic/bin1
setup/rules/generic/bin1gen
setup/rules/generic/bin2
setup/rules/generic/bin2gen
setup/rules/generic/depend
setup/rules/generic/globals
setup/rules/generic/lib
setup/rules/generic/needed
setup/rules/generic/obj
setup/rules/generic/slib
setup/rules/generic/sobj
setup/shared/sharedAIX
setup/shared/sharedBsd
setup/shared/sharedDgux
setup/shared/sharedHpux
setup/shared/sharedIrix
setup/shared/sharedLinux
setup/shared/sharedOSF
setup/shared/sharedSolaris2
setup/shared/sharedSunos4
setup/shared/sharedSysV
misc/afm/*.afm
misc/gs_afm/*.afm
misc/imlib/imrc
misc/imlib/*.pal
user/Makefile
user/wxConvert/*.cpp
user/wxConvert/*.h
user/wxConvert/Makefile
user/wxConvert/Makefile.in
user/wxFile/*.cpp
user/wxFile/*.h
user/wxFile/Makefile
user/wxFile/Makefile.in
user/wxFile/*.xpm
user/wxTest/*.cpp
user/wxTest/*.h
user/wxTest/Makefile
user/wxTest/Makefile.in
user/wxTest/*.xpm
user/wxTest/*.png
user/wxLayout/*.cpp
user/wxLayout/*.h
user/wxLayout/Makefile
user/wxLayout/Makefile.in
user/wxLayout/*.xpm
user/wxLayout/*.png

96
distrib/msw/motif.rsp Normal file
View File

@@ -0,0 +1,96 @@
install-sh
Makefile
template.mak
configure.in
config.guess
config.sub
wx-config.in
mkinstalldirs
src/Makefile
src/Makefile.in
src/*.inc
setup/*.in
setup/*.hin
setup/general/createall
setup/general/jointar
setup/general/makeapp
setup/general/makedirs
setup/general/makedoc
setup/general/mygrep
setup/general/needed
setup/rules/bin
setup/rules/bin2
setup/rules/doc
setup/rules/gbin
setup/rules/gbin2
setup/rules/glib
setup/rules/glibbin
setup/rules/glibgbin
setup/rules/gslib
setup/rules/lib
setup/rules/libbin
setup/rules/libgbin
setup/rules/generic/bin1
setup/rules/generic/bin1gen
setup/rules/generic/bin2
setup/rules/generic/bin2gen
setup/rules/generic/depend
setup/rules/generic/globals
setup/rules/generic/lib
setup/rules/generic/needed
setup/rules/generic/obj
setup/rules/generic/slib
setup/rules/generic/sobj
setup/shared/sharedAIX
setup/shared/sharedBsd
setup/shared/sharedDgux
setup/shared/sharedHpux
setup/shared/sharedIrix
setup/shared/sharedLinux
setup/shared/sharedOSF
setup/shared/sharedSolaris2
setup/shared/sharedSunos4
setup/shared/sharedSysV
misc/afm/*.afm
src/motif/*.cpp
src/motif/*.c
src/motif/*.h
src/motif/makefile*
src/motif/*.inc
src/motif/*.xbm
src/motif/xmcombo/*.c
src/motif/xmcombo/*.h
src/motif/xmcombo/*.doc
src/motif/xmcombo/*.man
src/motif/xmcombo/*.txt
src/motif/mdi/COPYRIGHT
src/motif/mdi/Imakefile
src/motif/mdi/Readme
src/motif/mdi/config/C++.rules
src/motif/mdi/config/MDI.tmpl
src/motif/mdi/doc/*.html
src/motif/mdi/doc/pics/*.gif
src/motif/mdi/lib/*.C
src/motif/mdi/lib/*.h
src/motif/mdi/lib/*.xbm
src/motif/mdi/lib/Imakefile
src/motif/mdi/test/*.C
src/motif/mdi/test/Imakefile
src/make.env
src/makeprog.env
include/wx/motif/*.h
docs/motif/*.*
lib/dummy

View File

@@ -1,4 +1,8 @@
docs/msw/*.txt
docs/licence.txt
distrib/msw/*.rsp
distrib/msw/*.bat
src/makeb32.env
src/makebcc.env

14
distrib/msw/stubs.rsp Normal file
View File

@@ -0,0 +1,14 @@
src/stubs/*.cpp
src/stubs/*.h
src/stubs/makefile*
src/stubs/*.inc
src/make.env
src/makeprog.env
include/wx/stubs/*.h
include/wx/stubs/*.rc
lib/dummy

View File

@@ -1,27 +1,33 @@
@echo off
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
if "%1" == "" goto usage
if "%2" == "" goto usage
set src=d:\wx2\wxWindows
set dest=%src\deliver
if "%src" == "" goto usage
if "%dest" == "" goto usage
echo About to archive an external wxWindows distribution:
echo From %1
echo To %2\wx200gen.zip, %2\wx200doc.zip, %2\wx200msw.zip, %2\wx200ps.zip, %2\wx200hlp.zip, %2\wx200htm.zip, %2\wx200pdf.zip
echo From %src
echo To %dest
echo CTRL-C if this is not correct.
pause
erase %2\wx200*.zip
erase %dest\wx200*.zip
cd %1
cd %src
echo Zipping...
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
zip32 -@ %2\wx200htm.zip < %1\distrib\msw\wx_html.rsp
zip32 -@ %2\wx200pdf.zip < %1\distrib\msw\wx_pdf.rsp
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
cd %2
zip32 -@ %dest\ogl3.zip < %src\utils\ogl\distrib\ogl.rsp
cd %dest
echo wxWindows archived.
goto end

481
docs/gtk/COPYING.LIB Normal file
View File

@@ -0,0 +1,481 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -1,11 +1,87 @@
* General
----------
* The most simple case
-----------------------
wxGTK uses GNU configure. If you have problems with your make use GNU
make instead.
If you compile wxWindows on Unix for the first time and don't like
to read install instructions just do (in the base dir):
./configure --without-threads
make
and drink 10 coffees. Then you may log in as root and type
make install
You can leave out the --without-threads option if you have a NEW
Linux distribution based on glibc (e.g. RedHat 5.1 or Debian 2.0)
or any other Unix that comes with Posix threads or SGI threads.
Now create your super-application myfoo.app and compile anywhere with
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
* General
-----------------------
The Unix variants of wxWindows use GNU configure. If you have problems
with your make use GNU make instead.
Read my homepage at
http://wesley.informatik.uni-freiburg.de/~wxxt
for newest information.
* GUI libraries
-----------------------
wxWindows/GTK requires the GTK+ library to be installed on your system.
It has to be a stable version, preferebly version 1.0.6. When using
a version previous to 1.0.6 you'll get crashes here and there. This
is certain to happen with colors in native widgets.
You can get the newest version of the GTK+ from the GTK homepage
at
http://www.gtk.org
We also mirror GTK+ 1.0.6 at our ftp site. You'll find information
about downloading at my homepage.
* Additional libraries
-----------------------
wxWindows/Gtk requires a thread library and X libraries
known to work with threads. This is the case on all
commercial Unix-Variants and all Linux-Versions that
are based on glibc 2 except RedHat 5.0 which is broken
in many aspects. As of writing this, these Linux
distributions have correct glibc 2 support:
- RedHat 5.1
- Debian 2.0
- Stampede
The next major version of SuSE will also support glibc 2,
but version 5.X does not. Also Caldera and Slackware
don't yet support glibc 2.
On IRIX you can also use SGI threads if Posix-Threads
are not present. The SGI threads will be detected by
configure automatically.
You can always disable thread support by running
./configure "--without-threads"
make clean
make
NB: I included thread support in wxWindows/Gtk, as this
problem will disappear in the near future when all major
Linux Variants have moved to glibc 2. Also, the Linux
Base Standard will include glibc 2.
* Create your configuration
-----------------------------
Usage:
./configure options
@@ -16,6 +92,21 @@ set environment variables CC and CCC as
% setenv CCC CC
% ./configure options
Using the SGI native compilers, it is recommended that you
also set CFLAGS and CXXFLAGS before running configure. These
should be set to :
CFLAGS="-mips3 -n32"
CXXFLAGS="-mips3 -n32"
This is essential if you want to use the resultant binaries
on any other machine than the one it was compiled on. If you
have a 64bit machine (Octane) you should also do this to ensure
you don't accidently build the libraries as 64bit (which is
untested).
The SGI native compiler support has only been tested on Irix 6.5.
to see all the options please use:
./configure --help
@@ -33,93 +124,83 @@ configure for.
Configure will complain if the system variable OSTYPE has
not been defined. And Make in some circumstances as well...
* General options
-------------------
Normally, you won't have to choose a toolkit, because when
you download wxGTK, it will default to --with-gtk etc. But
if you use all of our CVS repository you have to choose a
toolkit. You must do this by running configure with either of:
--with-gtk Use the GIMP ToolKit (GTK)
--with-qt Use Qt from TrollTec
--with-motif Use either Motif or Lesstif
Configure will look for both.
The following options handle the kind of library you want to build.
--with-shared Create shared libraries.
--without-threads Compile without thread support.
--without-shared Do not create shared libraries.
--without-optimise Do not optimise the code.
--with-profile Add profiling info to the
object files. Currently
broken.
--with-profile Add profiling info to the object
files. Currently broken, I think.
--with-mem_tracing Add built-in memory tracing.
Not yet.
--with-mem_tracing Add built-in memory tracing.
This doesn't work well with gcc.
--with-debug Add debug info to object
files.
--with-dmalloc Use the dmalloc memory debugger.
Read more at www.letters.com/dmalloc/
--with-debug_info Add debug info to object files and
executables.
--with-debug_flag Define __DEBUG__ and __WXDEBUG__ when
compiling.
* Feature Options
-------------------
When using the Windows version of wxWindows, it is possible
to edit the file /include/wx/msw/setup.h in order to enable
or disable some features of wxWindows so that the resulting
binaries get smaller.
As I don't yet care for binary size and target mainly at
producing a shared library, wxGTK's configure system auto-
producing a shared library, wxWindows's configure system auto-
matically enables all features, as long as they are already
implemented.
implemented. It is currently NOT possible to disable these
options (in contrast to what configure tells you).
* Additional libraries
-----------------------
[Note: Currently wxGTK will compile out-of-the-box
with no extra libraries required. Support for
OpenGl, threads, Python and hopefully ODBC
support will soon be added.]
wxGTK requires the GTK (The Gimp Toolkit) to be installed,
which probably makes sense.
There will be a few more features of wxGTK, which will
require further libraries (on some platforms). These
features will be optional. I hope to teach configure
to check that out automatically.
Thread support:
Requires pthreads under Linux without glibc or glibc 2.
OpenGl:
Requires OpenGl or MesaGl.
Python scripting language support:
Requires Python.
* Compiling
-------------
First you have to create all makefiles in all subdirectories:
The following must be done in the base directory (e.g. ~/wxGTK
or ~/wxWin or whatever)
make makefiles
Dependencies are generated automatically using
make depend
Now the makefiles are created you can compile everything is as simple
as typing:
Now the makefiles are created and you can compile everything
by typing:
make
make yourself some coffee, as it will try to compile
ALL the files in this distribution.
make yourself some coffee, as it will try to compile ALL the
files in this distribution. During compilation, you'll get
a few warning messages.
if you want to be more selective:
make src will build only the base libraries
make utils will build the utils
make samples will build the samples
make other will build the other samples
make user will build the files in the directory other
make other will build everything in other
make user will build everything in user
Then you may install the library and it's header files under
/usr/local/include/wx and /usr/local/lib respectively. You
have to log in as root (i.e. run "su" and enter the root
password) and type
make install
Depending on the configuration of some files, the libraries
and binaries will be placed in different directories.
The "global" binaries and libraries will be placed in:
@@ -143,8 +224,34 @@ will do the work for you.
* Creating a new Project
--------------------------
I propose to put all contributed programs in the directory
"user", with a directory of its own.
There are two ways to create your own project:
1) The first way uses the installed libraries and header files
automatically using wx-config
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
Using this way, a make file for the minimal sample would look
like this
CC = g++
minimal: minimal.o
$(CC) -o minimal minimal.o `wx-config --libs`
minimal.o: minimal.cpp mondrian.xpm
$(CC) `wx-config --cflags` -c minimal.cpp -o minimal.o
clean:
rm -f *.o minimal
This is certain to become the standard way unless we decide
to sitch to tmake.
2) The other way creates a project within the source code
directories of wxWindows: In this case I propose to put
all contributed programs in the directory "/user", with a
directory of its own.
This directory then should include the following files:
@@ -159,18 +266,19 @@ Makefile.in (This is the base application-Makefile template, from
put ALL your source code along with all the other stuff you need for
your application in this directory (subdirectories are welcome).
** Something about Makefiles
------------------------------
On general principle it should only contain ONE line, which is as follows:
include ../../src/gtk/setup/general/makeapp
include ../../setup/general/makeapp
this will include all the necessary definitions for creating the applications
the only case where you might want to add another line is the following:
this version of configure also supports creation of source archives of the
application for easy distribution and updates to newer version of wxxt.
application for easy distribution and updates to newer version of wxWindows.
For this purpose all files in the application-directory will be put into
a gziped tar-file in the full notation user/<your application>/*
if you want to include some other files that you want "more visible", like
@@ -183,15 +291,15 @@ to the Makefile.
So it would look like this:
DISTRIBUTE_ADDITIONAL=README.TheApp
include ../../src/gtk/setup/general/makeapp
include ../../setup/general/makeapp
As we have already talked about distribution the command to create a
distribution is:
make distrib
NOTE: If you are in the base directory of wxxt it will create
distribution packages for wxxt as well as for all packages in the
NOTE: If you are in the base directory of wxWindows it will create
distribution packages for wxWindows as well as for all packages in the
user directory.
So if you want to create only packages for the files in user,
then go to the directory other and type:
@@ -203,7 +311,7 @@ enter the specific directory and type there:
make distrib
All the distribution files will be put in the directory
distrib at the base of the wxxt-tree (where also configure
distrib at the base of the wxWindows-tree (where also configure
and template.mak can be found).
** Something about Makefile.in
@@ -219,7 +327,7 @@ These rules should go AFTER the include statement!!!
so the general header looks like this:
# wxGTK base directory
# wxWindows base directory
WXBASEDIR=@WXBASEDIR@
# set the OS type for compilation
OS=@OS@

56
docs/gtk/licence.txt Normal file
View File

@@ -0,0 +1,56 @@
wxWindows Library License, Version 3
====================================
Copyright (C) 1998 Julian Smart, Robert Roebling et al.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
WXWINDOWS LIBRARY LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this software, usually in a file named COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA.
EXCEPTION NOTICE
1. As a special exception, the copyright holders of this library give
permission for additional uses of the text contained in this release of
the library as licensed under the wxWindows Library License, applying
either version 3 of the License, or (at your option) any later version of
the License as published by the copyright holders of version 3 of the
License document.
2. The exception is that you may create binary object code versions of any
works using this library or based on this library, and use, copy, modify,
link and distribute such binary object code files unrestricted under terms
of your choice.
3. If you copy code from files distributed under the terms of the GNU
General Public License or the GNU Library General Public License into a
copy of this library, as this license permits, the exception does not
apply to the code that you add in this way. To avoid misleading anyone as
to the status of such modified files, you must delete this exception
notice from such code and/or adjust the licensing conditions notice
accordingly.
4. If you write modifications of your own for this library, it is your
choice whether to permit this exception to apply to your modifications.
If you do not wish that, you must delete the exception notice from such
code and/or adjust the licensing conditions notice accordingly.

36
docs/gtk/readme.txt Normal file
View File

@@ -0,0 +1,36 @@
Welcome to wxWindows/Gtk,
you have downloaded version 1.96 of the GTK+ port of C++ library
wxWindows. Information on how to install can be found in the
file install.txt, but if you cannot wait, this should work on
all systems
configure --without-threads
make
su (PASSWORD)
make install
wxWindows/Gtk is still in development and you can have a look
at the todo.txt to see what's missing before an official beta
and - more important - before we can aim at binary compatibility.
More information is available from my homepage at
http://wesley.informatik.uni-freiburg.de/~wxxt
Please send problems concerning installation, feature requests,
bug reports or comments to either the wxGTK mailing list or to
the wxWindows developers list. Information on how to subscribe
is available from my homepage.
wxWindows/Gtk comes with no guarantee whatsoever. It might crash
your harddisk or destroy your monitor. It doesn't claim to be
suitable for any special purpose.
Regards,
Robert Roebling

38
docs/gtk/todo.txt Normal file
View File

@@ -0,0 +1,38 @@
-------------------- High priority ---------------------
wxTreeCtrl
-> Keyboard handling.
wxClipboard
-> On the way, but not functional yet.
Fix printing of bitmaps
-> No idea.
OwnerDraw for wxListCtrl and others
-> That is a big one.
DnD
-> Must be rewritten for GTK+ 1.1.3
-------------------- Low priority ---------------------
wxDebugContext <-> wxLogXXX functions
-> Remove either
Implement wxPalette
-> I never understood that. Postponed.
Implement wxDirDialog
-> Not heard of. Postponed.
Show accelerator in menus
-> Changed in GTK 1.1.X. Postponed.
Correct tab navigation
-> seems to be broken in GTK. Postponed.
Cooperation with Qt
-> Would be nice.

View File

@@ -1,5 +1,4 @@
[OPTIONS]
BMROOT=d:\wx2\wxwind~1\docs\latex\porting ; Assume that bitmaps are where the source is
TITLE=wxWindows Porting Guide
CONTENTS=Contents
COMPRESS=HIGH

View File

@@ -11,7 +11,7 @@ headerRule = yes
footerRule = yes
useHeadingStyles = yes
listItemIndent=40
generateHPJ = yes
generateHPJ = no
htmlBrowseButtons = bitmap
winHelpContents = yes
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95

190
docs/latex/wx/accel.tex Normal file
View File

@@ -0,0 +1,190 @@
\section{\class{wxAcceleratorEntry}}\label{wxacceleratorentry}
An object used by an application wishing to create an \helpref{accelerator table}{wxacceleratortable}.
\wxheading{Derived from}
None
\wxheading{See also}
\helpref{wxAcceleratorTable}{wxacceleratortable}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxAcceleratorEntry::wxAcceleratorEntry}\label{wxacceleratorentryconstr}
\func{}{wxAcceleratorEntry}{\void}
Default constructor.
\func{}{wxAcceleratorEntry}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
Constructor.
\wxheading{Parameters}
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
which modifier key is held down.}
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
\docparam{cmd}{The menu or control command identifier.}
\membersection{wxAcceleratorEntry::GetCommand}\label{wxacceleratorentrygetcommand}
\constfunc{int}{GetCommand}{\void}
Returns the command identifier for the accelerator table entry.
\membersection{wxAcceleratorEntry::GetFlags}\label{wxacceleratorentrygetflags}
\constfunc{int}{GetFlags}{\void}
Returns the flags for the accelerator table entry.
\membersection{wxAcceleratorEntry::GetKeyCode}\label{wxacceleratorentrygetkeycode}
\constfunc{int}{GetKeyCode}{\void}
Returns the keycode for the accelerator table entry.
\membersection{wxAcceleratorEntry::Set}\label{wxacceleratorentryset}
\func{void}{Set}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
Sets the accelerator entry parameters.
\wxheading{Parameters}
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
which modifier key is held down.}
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
\docparam{cmd}{The menu or control command identifier.}
\section{\class{wxAcceleratorTable}}\label{wxacceleratortable}
An accelerator table allows the application to specify a table of keyboard shortcuts for
menus or other commands. On Windows, menu or button commands are supported; on GTK,
only menu commands are supported.
The object {\bf wxNullAcceleratorTable} is defined to be a table with no data, and is the
initial accelerator table for a window.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Example}
{\small%
\begin{verbatim}
wxAcceleratorEntry entries[4];
entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
entries[3].Set(wxACCEL_NONE, WXK_DELETE, wxID_CUT);
wxAcceleratorTable accel(4, entries);
frame->SetAcceleratorTable(accel);
\end{verbatim}
}
\wxheading{Remarks}
An accelerator takes precedence over normal processing and can be a convenient way to program some event handling.
For example, you can use an accelerator table to enable a dialog with a multi-line text control to
accept CTRL-Enter as meaning 'OK' (but not in GTK at present).
\wxheading{See also}
\helpref{wxAcceleratorEntry}{wxacceleratorentry}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxAcceleratorTable::wxAcceleratorTable}\label{wxacceleratortableconstr}
\func{}{wxAcceleratorTable}{\void}
Default constructor.
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
Copy constructor.
\func{}{wxAcceleratorTable}{\param{int}{ n}, \param{wxAcceleratorEntry}{ entries[]}}
Creates from an array of \helpref{wxAcceleratorEntry}{wxacceleratorentry} objects.
\func{}{wxAcceleratorTable}{\param{const wxString\&}{ resource}}
Loads the accelerator table from a Windows resource (Windows only).
\wxheading{Parameters}
\docparam{n}{Number of accelerator entries.}
\docparam{entries}{The array of entries.}
\docparam{resource}{Name of a Windows accelerator.}
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
\func{}{\destruct{wxAcceleratorTable}}{\void}
Destroys the wxAcceleratorTable object.
\membersection{wxAcceleratorTable::Ok}\label{wxacceleratortableok}
\constfunc{bool}{Ok}{\void}
Returns TRUE if the accelerator table is valid.
\membersection{wxAcceleratorTable::operator $=$}
\func{wxAcceleratorTable\& }{operator $=$}{\param{const wxAcceleratorTable\& }{accel}}
Assignment operator. This operator does not copy any data, but instead
passes a pointer to the data in {\it accel} and increments a reference
counter. It is a fast operation.
\wxheading{Parameters}
\docparam{accel}{Accelerator table to assign.}
\wxheading{Return value}
Returns 'this' object.
\membersection{wxAcceleratorTable::operator $==$}
\func{bool}{operator $==$}{\param{const wxAcceleratorTable\& }{accel}}
Equality operator. This operator tests whether the internal data pointers are
equal (a fast test).
\wxheading{Parameters}
\docparam{accel}{Accelerator table to compare with 'this'}
\wxheading{Return value}
Returns TRUE if the accelerator tables were effectively equal, FALSE otherwise.
\membersection{wxAcceleratorTable::operator $!=$}
\func{bool}{operator $!=$}{\param{const wxAcceleratorTable\& }{accel}}
Inequality operator. This operator tests whether the internal data pointers are
unequal (a fast test).
\wxheading{Parameters}
\docparam{accel}{Accelerator table to compare with 'this'}
\wxheading{Return value}
Returns TRUE if the accelerator tables were unequal, FALSE otherwise.

View File

@@ -38,7 +38,7 @@ or a frame becomes inactivate resulting in all application frames being inactive
\membersection{wxActivateEvent::wxActivateEvent}
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{int }{id = 0}}
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{bool}{ active = TRUE}, \param{int }{id = 0}}
Constructor.

View File

@@ -238,6 +238,32 @@ goes idle again, when OnIdle is called, and so on.
\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
\membersection{wxApp::OnEndSession}\label{wxapponendsession}
\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
This is an event handler function called when the operating system or GUI session is
about to close down. The application has a chance to silently save information,
and can optionally close itself.
Use the EVT\_END\_SESSION event table macro to handle query end session events.
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
(forcing the application to close itself silently).
\wxheading{Remarks}
Under X, OnEndSession is called in response to the 'die' event.
Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
\wxheading{See also}
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
\membersection{wxApp::OnInit}\label{wxapponinit}
\func{bool}{OnInit}{\void}
@@ -247,16 +273,43 @@ application's main window, calling \helpref{wxApp::SetTopWindow}{wxappsettopwind
Return TRUE to continue processing, FALSE to exit the application.
\membersection{wxApp::Pending}\label{wxapppending}
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
\func{bool}{Pending}{\void}
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
Returns TRUE if unprocessed events are in the window system event queue
(MS Windows and Motif).
This is an event handler function called when the operating system or GUI session is
about to close down. Typically, an application will try to save unsaved documents
at this point.
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
The application might veto the shutdown after prompting for documents to be saved, and the
user has cancelled the save.
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
You should check whether the application is forcing the deletion of the window
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
If not, it is up to you whether you respond by destroying the window.
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
\wxheading{Remarks}
Under X, OnQueryEndSession is called in response to the 'save session' event.
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
\wxheading{See also}
\helpref{wxApp::Dispatch}{wxappdispatch}
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
\helpref{wxApp::OnEndSession}{wxapponendsession}
\membersection{wxWindow::OnScroll}\label{wxwindowonscroll}
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
@@ -282,6 +335,17 @@ BOOL CTheApp::PreTranslateMessage(MSG *msg)
}
\end{verbatim}
\membersection{wxApp::Pending}\label{wxapppending}
\func{bool}{Pending}{\void}
Returns TRUE if unprocessed events are in the window system event queue
(MS Windows and Motif).
\wxheading{See also}
\helpref{wxApp::Dispatch}{wxappdispatch}
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
\func{bool}{SendIdleEvents}{\void}

View File

@@ -30,6 +30,14 @@ provided bitmaps.}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
when the button is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{wxButton}{wxbutton}

View File

@@ -6,14 +6,14 @@
\section{What is wxWindows?}
wxWindows is a C++ framework providing GUI (Graphical User
Interface) and other facilities on more than one platform. It currently
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
Interface) and other facilities on more than one platform. Version 2.0 currently
supports subsets MS Windows (16-bit, Windows 95 and Windows NT) and GTK.
wxWindows was originally developed at the Artificial Intelligence
Applications Institute, University of Edinburgh, for internal use.
wxWindows has been released into the public domain in the hope
that others will also find it useful. Version 2.0 is written and
maintained by Julian Smart and Markus Holzem, with support from users.
maintained by Julian Smart, Robert Roebling and others.
This manual discusses wxWindows in the context of multi-platform
development.\helpignore{For more detail on the wxWindows version 2.0 API
@@ -55,8 +55,8 @@ that are often indistinguishable from those produced using single-platform
toolkits
such as Motif and MFC.
wxWindows 2.0 currently maps to two native APIs: Motif and
MS Windows. An Xt port is also in preparation.
wxWindows 2.0 currently maps to two native APIs: GTK and
MS Windows. Motif, Xt and Mac ports are also in preparation.
The importance of using a platform-independent class library cannot be
overstated, since GUI application development is very time-consuming,
@@ -79,17 +79,17 @@ here are some of the benefits:
\item Low cost (free, in fact!)
\item You get the source.
\item Several example programs.
\item Over 200 pages of printable and on-line documentation.
\item Over 700 pages of printable and on-line documentation.
\item Simple-to-use, object-oriented API.
\item Graphics calls include splines, polylines, rounded rectangles, etc.
\item Constraint-based layout option.
\item Print/preview and document/view architectures.
\item Status line facility, toolbar
\item Easy, object-oriented interprocess comms (DDE subset) under UNIX and
\item Easy, object-oriented interprocess comms (DDE subset) under Unix and
MS Windows.
\item Encapsulated PostScript generation under UNIX, normal MS Windows printing on the
\item Encapsulated PostScript generation under Unix, normal MS Windows printing on the
PC.
\item MDI support under Windows.
\item MDI support under Windows and GTK.
\item Can be used to create DLLs under Windows, dynamic libraries on the Sun.
\item Common dialogs for file browsing, printing, colour selection, etc.
\item Under MS Windows, support for creating metafiles and copying
@@ -171,18 +171,16 @@ following setups.
\begin{enumerate}\itemsep=0pt
\item A 486 or higher PC running MS Windows.
\item One of Microsoft Visual C++, Borland C++, Watcom C++, MetroWerks C++,
Symantec C++, GNU-WIN32.
\item At least 30 MB of disk space.
\item One of Microsoft Visual C++ 4.0 or higher, Borland C++, Gnu-Win32.
\item At least 60 MB of disk space.
\end{enumerate}
(b) UNIX:
(b) Unix:
\begin{enumerate}\itemsep=0pt
\item Almost any C++ compiler, including GNU C++.
\item Almost any UNIX workstation (VMS is supported too) and Motif 1.2 or higher (not necessary
for the Xt version)
\item At least 30 MB of disk space.
\item Almost any Unix workstation, and GTK 1.0 or higher.
\item At least 60 MB of disk space.
\end{enumerate}
\section{Availability and location of wxWindows}
@@ -197,35 +195,26 @@ Applications Institute by anonymous FTP and World Wide Web:
\section{Acknowledgments}
Thanks are due to the AIAI for being willing to release wxWindows into
the public domain, and to our patient wives Harriet and Tanja.
Thanks are due to AIAI for being willing to release the original version of
wxWindows into the public domain, and to our patient wives Harriet, Tanja and others.
The Internet has been an essential prop when coming up against tricky
problems. Thanks to those who answered our
queries or submitted bug fixes and enhancements; wxWindows is very
much a team effort.
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
wxExtend library.
Markus Holzem write the Xt port. Jonathan Tonberg, Bill Hale,
Cecil Coupe, Thomaso Paoletti, Thomas Fettig, and others slaved away
writing the Mac port. Keith Gary Boyce ported wxWindows to the free
GNU-WIN32 compiler, refusing to give up when shortcuts were suggested.
Many thanks also to: Timothy Peters, Jamshid Afshar, Patrick Albert, C. Buckley,
Robin Corbet, Harco de Hilster, Josep Fortiana, Torsten Liermann, Tatu
M\"{a}nnist\"{o}, Ian Perrigo, Giordano Pezzoli, Petr Smilauer, Neil Smith,
Kari Syst\"{a}, Jyrki Tuomi, Edward Zimmermann, Ian Brown, and many
others.
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
the project over the years. Apologies for any unintentional omissions from this list.
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
been used in wxGraphLayout with his permission.
We also acknowledge the author of XFIG, the excellent UNIX drawing tool,
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
from the source of which we have borrowed some spline drawing code.
His copyright is included below.
@@ -250,7 +239,7 @@ changes.txt for differences between versions.
\section{Include files}
The main include file is {\tt "wx.h"}; this includes the most commonly
The main include file is {\tt "wx/wx.h"}; this includes the most commonly
used modules of wxWindows.
To save on compilation time, include only those header files relevant to the
@@ -259,25 +248,26 @@ the following section before any other includes:
\begin{verbatim}
// For compilers that support precompilation, includes "wx.h".
#include "wx_prec.h"
#include <wx/wxprec.h>
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
... include minimum set of files necessary here ...
// Include your minimal set of headers here, or wx.h
#include <wx/wx.h>
#endif
... now your other include files ...
\end{verbatim}
The file {\tt "wx\_prec.h"} includes {\tt "wx.h"}. Although this incantation
The file {\tt "wx/wxprec.h"} includes {\tt "wx/wx.h"}. Although this incantation
may seem quirky, it is in fact the end result of a lot of experimentation,
and several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
and Watcom C++).
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx\_prec.h"} as
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx/wxprec.h"} as
the file to use for precompilation. Watcom C++ is automatic apart from the specification of
the .pch file. Watcom C++ is strange in requiring the precompiled header to be used only for
object files compiled in the same directory as that in which the precompiled header was created.
@@ -287,14 +277,14 @@ multi-megabyte .pch files.
\section{Libraries}
Under UNIX, use the library libwx\_motif.a
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
Please the wxGTK documentation for use of the Unix version of wxWindows.
Under Windows, use the library wx.lib for stand-alone Windows
applications, or wxdll.lib for creating DLLs.
\section{Configuration}
The following lists the options configurable in the file
\rtfsp{\tt include/base/wx\_setup.h.} Some settings are a matter
\rtfsp{\tt "wx/msw/setup.h"} and {\tt "wx/gtk/setup.h"} Some settings are a matter
of taste, some help with platform-specific problems, and
others can be set to minimize the size of the library.
@@ -306,27 +296,15 @@ others can be set to minimize the size of the library.
\twocolitem{USE\_DOC\_VIEW\_ARCHITECTURE}{If 1, wxDocument, wxView and related classes are compiled.}
\twocolitem{USE\_DYNAMIC\_CLASSES}{If 1, the run-time class macros and classes are compiled. Recommended,
and necessary for the document/view framework.}
\twocolitem{USE\_EXTENDED\_STATICS}{If 1, wxStaticItem code is compiled for enhanced panel decorative items.
Not rigorously tested, and not documented.}
\twocolitem{USE\_HELP}{If 1, interface to help system is compiled.}
\twocolitem{USE\_GAUGE}{If 1, the wxGauge class compiled.}
\twocolitem{USE\_GLOBAL\_MEMORY\_OPERATORS}{If 1, redefines global new and delete operators to be compatible
with the extended arguments of the debugging wxObject new and delete operators. If this causes problems
for your compiler, set to 0.}
\twocolitem{USE\_GNU\_WXSTRING}{If 1, the enhanced GNU wxString and regular expression class are compiled
in place of the normal wxString class. See contrib/wxstring for details.}
\twocolitem{USE\_IMAGE\_LOADING\_IN\_MSW}{Use code to allow dynamic .BMP loading
under MS Windows.}
\twocolitem{USE\_IMAGE\_LOADING\_IN\_X}{Use code in utils/image to allow dynamic .BMP/.GIF loading
under X.}
\twocolitem{USE\_RESOURCE\_LOADING\_IN\_MSW}{Use code to allow dynamic .ICO/.CUR loading
under MS Windows.}
\twocolitem{USE\_IPC}{If 1, interprocess communication code is compiled.}
\twocolitem{USE\_MEMORY\_TRACING}{If 1, enables debugging versions of wxObject::new and wxObject::delete
if the value of DEBUG is defined to more than 0.}
\twocolitem{USE\_METAFILE}{If 1, Windows Metafile code is compiled.}
\twocolitem{USE\_PANEL\_IN\_PANEL}{If 1, experimental panel-in-panel code is used
for common dialog boxes. Not recommended, since tab traversal can suffer.}
\twocolitem{USE\_POSTSCRIPT}{If 1, PostScript code is compiled.}
\twocolitem{USE\_POSTSCRIPT\_ARCHITECTURE\_IN\_MSW}{Set to 1 to enable the printing architecture
to make use of either native Windows printing facilities, or the wxPostScriptDC class depending
@@ -334,32 +312,7 @@ on the wxApp::SetPrintMode setting.}
\twocolitem{USE\_PRINTING\_ARCHITECTURE}{If 1, wxPrinter, wxPrintout and related classes are compiled
for the print/preview framework.}
\twocolitem{USE\_RESOURCES}{If 1, win.ini or .Xdefaults-style resource read/write code is compiled.}
\twocolitem{USE\_SCROLLBAR}{If 1, wxScrollBar class is compiled. Not rigorously tested, and not documented.}
\twocolitem{USE\_SPLINES}{If 1, spline code is compiled.}
\twocolitem{USE\_TOOLBAR}{If 1, the wxToolBar class is compiled.}
\twocolitem{USE\_TYPEDEFS}{If 1, a typedef will be used for wxPoint instead of
a class declaration, to reduce overhead and avoid a Microsoft C++ memory bug.}
\twocolitem{USE\_VLBOX}{If 1, wxVirtListBox code is compiled for a virtual listbox item.
Not rigorously tested, and not documented.}
\twocolitem{USE\_WX\_RESOURCES}{If 1, wxWindows resource file (.WXR) code is compiled.}
\twocolitem{USE\_XFIG\_SPLINE\_CODE}{If 1, XFig-derived code is used for spline
drawing. If 0, AIAI code is used, which is slower.}
\twocolitem{USE\_XPM\_IN\_X}{If 1, XPM (colour pixmap) facilities will be compiled and used
in wxBitmap under X.}
\twocolitem{USE\_XPM\_IN\_MSW}{If 1, XPM (colour pixmap) facilities will be compiled and used
in wxBitmap under MS Windows.}
\end{twocollist}
\subsection{X features}
\begin{twocollist}
\twocolitem{DEFAULT\_FILE\_SELECTOR\_SIZE}{Let Motif choose the size of
XmFileSelectionBox. Otherwise, size is 500x600.}
\twocolitem{PIXEL0\_DISABLE}{Define to disallow allocation of pixel 0 (wxXOR problem).}
\twocolitem{USE\_GADGETS}{Use gadgets where possible rather than Widgets for items.
Default is to use Gadgets.}
\twocolitem{USE\_BUTTON\_GADGET}{Use gadgets for buttons. This can intefere with
default button selection, so the default is zero.}
\end{twocollist}
\subsection{Windows and NT features}
@@ -373,18 +326,17 @@ directory, ctl3d.h into an include directory, and ctl3dv2.dll into
windows/system). You may need to find a compiler-specific version of ctl3dv2.lib
or ctl3d32.lib. Define CTL3D to be 1 in wx\_setup.h and link your executables with ctl3dv2.lib
or ctl3d32.lib.}
\twocolitem{USE\_ITSY\_BITSY}{If 1, compiles in code to support tiny window titlebars.}
\twocolitem{USE\_ODBC}{If 1, compiles wxDatabase and wxRecordSet classes for ODBC
access. Requires sql.h, sqlext.h files if set to 1 (see topic on database support).}
\end{twocollist}
\section{Makefiles}
At the moment there is no attempt to make UNIX makefiles and
At the moment there is no attempt to make Unix makefiles and
PC makefiles compatible, i.e. one makefile is required for
each environment.
Sample makefiles for UNIX (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
Sample makefiles for Unix (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
C++ (.BCC) and Symantec C++ (.SC) are included for the library, demos
and utilities. The NT, Borland and Symantec makefiles cannot be
guaranteed to be up-to-date since the author does not have
@@ -403,12 +355,12 @@ FINAL=1 on the command line to remove debugging information (this only
really necessary at the link stage), and DLL=1 to make a DLL version of
the library, if building a library.
\subsection{UNIX makefiles}
\subsection{Unix makefiles}
TODO.
Debugging information is included by default; you may add DEBUG= as an
argument to make to compile without it, or use the UNIX {\bf strip}
argument to make to compile without it, or use the Unix {\bf strip}
command to remove debugging information from an executable.
\normalbox{{\it Important note:} Most compiler flags are kept centrally in
@@ -426,7 +378,7 @@ The least that must be defined in the Windows resource file (extension RC)
is the following statement:
\begin{verbatim}
rcinclude wx.rc
rcinclude "wx/msw/wx.rc"
\end{verbatim}
which includes essential internal wxWindows definitions. The resource script
@@ -445,7 +397,8 @@ as the Program Manager) find your application icon first.}
\subsection{Module definition file}
A module definition file (extension DEF) looks like the following:
A module definition file (extension DEF) is required for 16-bit applications, and
looks like the following:
\begin{verbatim}
NAME Hello
@@ -461,46 +414,6 @@ STACKSIZE 8192
The only lines which will usually have to be changed per application are
NAME and DESCRIPTION.
\section{Memory models and memory allocation}\label{memorymodels}
Under UNIX, memory allocation isn't a problem. Under Windows, the only
really viable way to go is to use the large model, which uses the global
heap instead of the local heap for memory allocation. Unless more than
one read-write data segment is used,% (see \helpref{large data}{largedata}
large model programs may still have multiple instances under MS
C/C++ 7. Microsoft give the following guidelines for producing
multiple-instance large model programs:
\begin{itemize}\itemsep=0pt
\item Do not use {\tt /ND} to name extra data segments unless the segment is READONLY.
\item Use the .DEF file to mark extra data segments READONLY.
\item Do not use \_\_far or FAR to mark data items.
\item Use {\tt /PACKDATA} to combine data segments.
\item Use {\tt /Gt65500 /Gx} to force all data into the default data segment.
\end{itemize}
Even with the single-instance limitation, the productivity benefit is
worth it in the majority of cases. Note that some other multi-platform
class libraries also have this restriction. (If more than one instance
really is required, create several copies of the program with different
names.)
Having chosen the large model, just use C++ `new', `delete' (and if
necessary `malloc' and `free') in the normal way. The only restrictions
now encountered are a maximum of 64 KB for a single program segment and
for a single data item, unless huge model is selected.
For Borland users, use the data threshold switch, and the following is
also recommended:
\begin{itemize}\itemsep=0pt
\item Check ``Automatic Far Data Segments"
\item Check ``Put Constant Strings into Code Segment"
\end{itemize}
See also the Frequently Asked Questions document for further details
on using Borland with wxWindows.
\subsection{Allocating and deleting wxWindows objects}
In general, classes derived from wxWindow must dynamically allocated
@@ -508,17 +421,13 @@ with {\it new} and deleted with {\it delete}. If you delete a window,
all of its children and descendants will be automatically deleted,
so you don't need to delete these descendants explicitly.
Don't statically create a window unless you know that the window
cannot be deleted dynamically. Modal dialogs, such as those used
in the {\tt dialogs} sample, can usually be created statically,
if you know that the OK or Cancel button does not destroy the dialog.
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
that the wxWindows delayed deletion can take effect. This waits until idle time
(when all messages have been processed) to actually delete the window, to avoid
problems associated with the GUI sending events to deleted windows.
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
created dynamically. They are cleaned up automatically on program exit.
wxColourMap is an exception to this rule (currently). In particular,
do not attempt to create these objects globally before OnInit() has a chance
to be called, because wxWindows might not have done essential internal initialisation
(including creation of lists containing all instances of wxPen, wxBrush etc.)
Don't create a window on the stack, because this will interfere
with delayed deletion.
If you decide to allocate a C++ array of objects (such as wxBitmap) that may
be cleaned up by wxWindows, make sure you delete the array explicitly
@@ -531,24 +440,10 @@ enough for copies to be made.
Beware of deleting objects such as a wxPen or wxBitmap if they are still in use.
Windows is particularly sensitive to this: so make sure you
make calls like wxDC::SetPen(NULL) or wxDC::SelectObject(NULL) before deleting
make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before deleting
a drawing object that may be in use. Code that doesn't do this will probably work
fine on some platforms, and then fail under Windows.
\section{Dynamic Link Libraries}
wxWindows may be used to produce DLLs which run under MS Windows. Note that
this is not the same thing as having wxWindows as a DLL, which is not
currently possible. For Microsoft C++, use the makefile with the argument DLL=1 to produce
a version of the wxWindows library which may be used in a DLL application.
There is a bug in Microsoft C++ which makes the compiler complain about returned floats,
which goes away when the {\tt /Os} option is used, which is why that flag is
set in the makefile.
For making wxWindows as a Sun dynamic library, there are comments in the
UNIX makefile for the appropriate flags for AT\&T C++. Sorry, I haven't
investigated the flags needed for other compilers.
\section{Conditional compilation}
One of the purposes of wxWindows is to reduce the need for conditional
@@ -557,63 +452,69 @@ However, sometimes it is necessary to incorporate platform-specific
features (such as metafile use under MS Windows). The following identifiers
may be used for this purpose, along with any user-supplied ones:
\begin{itemize}
\item {\tt wx\_x} - for code which should work under any X toolkit
\item {\tt wx\_motif} - for code which should work under Motif only
\item {\tt wx\_msw} - for code which should work under Microsoft Windows only
\item {\tt wx\_xt} - for code which should work under Xt only
\end{itemize}
For example:
{\bf GUIs:}
\begin{verbatim}
...
#ifdef wx_x
(void)wxMessageBox("Sorry, metafiles not available under X.");
#endif
#ifdef wx_msw
wxMetaFileDC dc;
DrawIt(dc);
wxMetaFile *mf = dc.Close();
mf->SetClipboard();
delete mf;
#endif
...
__X__ any X, but not GTK
__WXMOTIF__ Motif
__WXGTK__ GTK
__WXMSW__ Any Windows
__MAC__ MacOS
__UNIX__ any Unix
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
__WIN32__ WIN32 API
__NT__ Windows NT
__CURSES__ CURSES
\end{verbatim}
\section{Building on-line help}
{\bf OSes:}
wxWindows has its own help system from version 1.30: wxHelp. It can be
used to view the wxWindows class library reference, and also to provide
on-line help for your wxWindows applications. The API, made accessible
by including {\tt wx\_help.h}, allows you to load files and display
specific sections, using DDE to communicate between the application and
wxHelp.
\begin{verbatim}
__HPUX__
__SVR4__
__SYSV__
__LINUX__
__SGI__
__ULTRIX__
__BSD__
__VMS__
__SUN__ Any Sun
__SUNOS__
__SOLARIS__
__ALPHA__
__AIX__
__DATA_GENERAL__
__OSF__
__FREEBSD__
\end{verbatim}
wxHelp files can be marked up by hand from ASCII files within wxHelp,
or may be generated from other files, as is the case with the wxWindows
documentation.
{\bf Compilers:}
It is possible to use the platform-specific help
system (e.g. WinHelp) instead of wxHelp.
\begin{verbatim}
__GNUWIN32__ Gnu-Win32 compiler
__DJGPP__ DJGPP
__GNUG__ Gnu C++ on any platform
__BORLANDC__ Borland C++
__WATCOMC__ Watcom C++
__SYMANTECC__ Symantec C++
__VISUALC__ VC++
__SUNCC__
\end{verbatim}
{\bf wxWindows modes:}
\begin{verbatim}
__WXDEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
\end{verbatim}
See {\tt install.txt}, the wxHelp documentation (in {\tt
utils/wxhelp/docs}) and \helpref{wxHelp}{wxhelp} for further details.
\section{C++ issues}
There are cases where a C++ program will compile and run fine under one
environment, and then fail to compile using a different compiler. Some
caveats are given below, from experience with the GNU C++ compiler (GCC)
and MS C/C++ compiler version 7.
The following documents some miscellaneous C++ issues.
\subsection{Templates}
wxWindows does not use templates for two main reasons: one, it is a
notoriously unportable feature, and two, the author is irrationally
suspicious of them and prefers to use casts. More compilers are
now implementing templates, and so it will probably be safe to use
them soon without fear of portability problems.
wxWindows does not use templates since it is a notoriously unportable feature.
\subsection{Precompiled headers}
@@ -636,7 +537,7 @@ A related problem is that for compilers that don't have precompiled
headers, including a lot of header files slows down compilation
considerably. For this reason, you will find (in the common
X and Windows parts of the library) conditional
compilation that under UNIX, includes a minimal set of headers;
compilation that under Unix, includes a minimal set of headers;
and when using Visual C++, includes {\tt wx.h}. This should help provide
the optimal compilation for each compiler, although it is
biassed towards the precompiled headers facility available
@@ -658,14 +559,14 @@ This has undesirable ramifications for people who have documents of the
same name in different directories.
As regards the limitations of DOS 8+3 single-case filenames versus
unrestricted UNIX filenames, the best solution is to use DOS filenames
unrestricted Unix filenames, the best solution is to use DOS filenames
for your application, and also for document filenames {\it if} the user
is likely to be switching platforms regularly. Obviously this latter
choice is up to the application user to decide. Some programs (such as
YACC and LEX) generate filenames incompatible with DOS; the best
solution here is to have your UNIX makefile rename the generated files
solution here is to have your Unix makefile rename the generated files
to something more compatible before transferring the source to DOS.
Transferring DOS files to UNIX is no problem, of course, apart from EOL
Transferring DOS files to Unix is no problem, of course, apart from EOL
conversion for which there should be a utility available (such as
dos2unix).
@@ -693,7 +594,8 @@ text to suit the size of window, as WinHelp does, and its input files
are uncompressed ASCII with some embedded font commands and an .xlp
extension. Most wxWindows documentation (user manuals and class
references) is supplied in wxHelp format, and also in Windows Help
format.
format. The wxWindows 2.0 project will presently use an HTML widget
in a new and improved wxHelp implementation, under X.
Note that an application can be programmed to use Windows Help under
MS Windows, and wxHelp under X. An alternative help viewer under X is
@@ -764,18 +666,6 @@ first attempt.
See the separate manual and the directory utils/wxgraph.
\section{wxImage}\label{wximage}
This is a collection of GIF/BMP/XBM bitmap loading and displaying
routines for X.
\section{MFUTILS}\label{mfutils}
A very modest step towards reading Windows metafiles on the
any platform. Julian Smart's ClockWorks program demonstrates
how extremely simple metafiles may be read and displayed (in this
case, to be used as clock hands).
\section{Colours}\label{coloursampler}
A colour sampler for viewing colours and their names on each
@@ -838,7 +728,7 @@ Use .wrc (wxWindows resource files) where possible, because they can be easily c
independently of source code. Bitmap resources can be set up to load different
kinds of bitmap depending on platform (see the section on resource files).
\section{Strategies for debugging}
\section{Strategies for debugging}\label{debugstrategies}
\subsection{Positive thinking}
@@ -867,49 +757,35 @@ to go from functioning to non-functioning state. This should give a clue
to the problem. In some cases though, such as memory leaks or wrong
deallocation, this can still give totally spurious results!
\subsection{Genetic mutation}
If we had sophisticated genetic algorithm tools that could be applied
to programming, we could use them. Until then, a common -- if rather irrational --
technique is to just make arbitrary changes to the code until something
different happens. You may have an intuition why a change will make a difference;
otherwise, just try altering the order of code, comment lines out, anything
to get over an impasse. Obviously, this is usually a last resort.
\subsection{Use a debugger}
This sounds like facetious advice, but it's surprising how often people
don't use a debugger. Often it's an overhead to install or learn how to
use a debugger, but it really is essential for anything but the most
trivial programs. Some platforms don't allow for debugging, such
as WIN32s under Windows 3.x. In this case, you might be advised to
debug under 16-bit Windows and when you're confident, compile for
WIN32s. In fact WIN32s can be very strict about bad memory handling,
so testing out under WIN32s is a good thing to do even if you're
not going to distribute this version. (Unless you've got a good memory checking,
utility, of course!) Tracking bugs under WIN32s can involve a lot of debug message
insertion and relinking, so make sure your compiler has a fast linker
(e.g. Watcom, Symantec).
trivial programs.
\subsection{Use tracing code}
\subsection{Use logging functions}
You can use wxDebugMsg statements (or the wxDebugStreamBuf class) to
output to a debugging window such as DBWIN under Windows, or standard
error under X. If compiling in DEBUG mode, you can use TRACE statements
that will be compiled out of the final build of your application.
There is a variety of logging functions that you can use in your program:
see \helpref{Logging functions}{logfunctions}.
Using tracing statements may be more convenient than using the debugger
in some circumstances (such as when your debugger doesn't support a lot
of debugging code, or you wish to print a bunch of variables).
\subsection{Use wxObject::Dump and the wxDebugContext class}
\subsection{Use the wxWindows debugging facilities}
It's good practice to implement the Dump member function for all
classes derived from wxObject. You can then make use of wxDebugContext
to dump out information on all objects in the program, if DEBUG is
defined to be more than zero. You can use wxDebugContext to check for
memory leaks and corrupt memory. See the debugging topic in the
reference manual for more information.
You can use wxDebugContext to check for
memory leaks and corrupt memory: in fact in debugging mode, wxWindows will
automatically check for memory leaks at the end of the program if wxWindows is suitably
configured. Depending on the operating system and compiler, more or less
specific information about the problem will be logged.
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
will save a surprising amount of time in the long run.
See the \helpref{debugging overview}{debuggingoverview} for further information.
\subsection{Check Windows debug messages}
@@ -922,3 +798,14 @@ more problems. However, I doubt it's worth the hassle for most
applications. wxWindows is designed to minimize the possibility of such
errors, but they can still happen occasionally, slipping through unnoticed
because they are not severe enough to cause a crash.
\subsection{Genetic mutation}
If we had sophisticated genetic algorithm tools that could be applied
to programming, we could use them. Until then, a common -- if rather irrational --
technique is to just make arbitrary changes to the code until something
different happens. You may have an intuition why a change will make a difference;
otherwise, just try altering the order of code, comment lines out, anything
to get over an impasse. Obviously, this is usually a last resort.

View File

@@ -18,6 +18,14 @@ There are no special styles for wxButton.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
when the button is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{wxBitmapButton}{wxbitmapbutton}
@@ -99,7 +107,7 @@ box.
Under Windows, only dialog box buttons respond to this function. As
normal under Windows and Motif, pressing return causes the default button to
be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
which sets the keyboard focus for windows and text panel items, \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
which sets the keyboard focus for windows and text panel items,\rtfsp
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
Note that under Motif, calling this function immediately after

View File

@@ -0,0 +1,60 @@
\section{\class{wxCalculateLayoutEvent}}\label{wxcalculatelayoutevent}
This event is sent by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} to
calculate the amount of the remaining client area that the window should
occupy.
\wxheading{Derived from}
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}
\wxheading{Event table macros}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.}
\end{twocollist}
\wxheading{See also}
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCalculateLayoutEvent::wxCalculateLayoutEvent}
\func{}{wxCalculateLayoutEvent}{\param{wxWindowID }{id = 0}}
Constructor.
\membersection{wxCalculateLayoutEvent::GetFlags}\label{wxcalculatelayouteventgetflags}
\constfunc{int}{GetFlags}{\void}
Returns the flags associated with this event. Not currently used.
\membersection{wxCalculateLayoutEvent::GetRect}\label{wxcalculatelayouteventgetrect}
\constfunc{wxRect}{GetRect}{\void}
Before the event handler is entered, returns the remaining parent client area that the window
could occupy. When the event handler returns, this should contain the remaining parent client rectangle,
after the event handler has subtracted the area that its window occupies.
\membersection{wxCalculateLayoutEvent::SetFlags}\label{wxcalculatelayouteventsetflags}
\func{void}{SetFlags}{\param{int }{flags}}
Sets the flags associated with this event. Not currently used.
\membersection{wxCalculateLayoutEvent::SetRect}\label{wxcalculatelayouteventsetrect}
\func{void}{SetRect}{\param{const wxRect\& }{rect}}
Call this to specify the new remaining parent client area, after the space occupied by the
window has been subtracted.

View File

@@ -29,24 +29,14 @@ The following are a variety of windows that are derived from wxWindow.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
\twocolitem{\helpref{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
\end{twocollist}
{\large {\bf Toolbar classes}}
\overview{Overview}{wxtoolbaroverview}
These are the toolbar classes.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxToolBarBase}{wxtoolbarbase}}{Toolbar base class}
\twocolitem{\helpref{wxToolBarSimple}{wxtoolbarsimple}}{A simple, cross-platform toolbar class}
\twocolitem{\helpref{wxToolBarMSW}{wxtoolbarmsw}}{A Windows-only toolbar class}
\twocolitem{\helpref{wxToolBar95}{wxtoolbar95}}{A Windows 95-only toolbar class}
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
\end{twocollist}
{\large {\bf Common dialogs}}
@@ -170,6 +160,7 @@ An event object contains information about a specific event. Event handlers
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
@@ -184,9 +175,12 @@ An event object contains information about a specific event. Event handlers
\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
%\twocolitem{\helpref{wxSessionEvent}{wxsessionevent}}{A session ending event}
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
\twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event}
\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
@@ -195,6 +189,8 @@ An event object contains information about a specific event. Event handlers
{\large {\bf Validators}}
\overview{Overview}{validatoroverview}
These are the window validators, used for filtering and validating
user input.
@@ -247,14 +243,16 @@ wxWindows supports some aspects of debugging an application through
classes, functions and macros.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides various debugging facilities}
\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
\twocolitem{\helpref{wxObject}{wxobject}}{Provides optional debugging versions of {\bf new} and {\bf delete}}
\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
%\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
\twocolitem{\helpref{wxLog}{wxlog}}{Logging facility}
\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
%\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
%\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
%\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
%\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
\end{twocollist}
{\large {\bf Interprocess communication}}
@@ -268,6 +266,9 @@ based on DDE.
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
\twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
\twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server}
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
\end{twocollist}
{\large {\bf Document/view framework}}
@@ -277,9 +278,6 @@ based on DDE.
wxWindows supports a document/view framework which provides
housekeeping for a document-centric application.
TODO: MDI frame classes for documents; make it unnecessary to convert
between streams and files (overridable method that uses filenames instead of streams).
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
@@ -287,6 +285,8 @@ between streams and files (overridable method that uses filenames instead of str
\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
\end{twocollist}
{\large {\bf Printing framework}}
@@ -326,11 +326,14 @@ product.
{\large {\bf Miscellaneous}}
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
\twocolitem{\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}}{Base class for help controllers}
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
\end{twocollist}

View File

@@ -16,9 +16,17 @@ There are no special styles for wxCheckBox.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_CHECKBOX(id, func)}}{Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED event,
when the checkbox is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{wxRadioButton}{wxradiobutton}
\helpref{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
\latexignore{\rtfignore{\wxheading{Members}}}

View File

@@ -0,0 +1,95 @@
\section{\class{wxCheckListBox}}\label{wxchecklistbox}
A checklistbox is like a listbox, but allows items to be checked or unchecked.
This class is currently only implemented under Windows, and wxWindows must be
compiled with USE\_OWNER\_DRAWN set to 1.
Only the new functions for this class are documented; see also \helpref{wxListBox}{wxlistbox}.
\wxheading{Derived from}
\helpref{wxListBox}{wxlistbox}\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
See \helpref{wxListBox}{wxlistbox}.
\wxheading{Event handling}
See \helpref{wxListBox}{wxlistbox}.
\wxheading{See also}
\helpref{wxListBox}{wxlistbox}, \helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCheckListBox::wxCheckListBox}\label{wxchecklistboxconstr}
\func{}{wxCheckListBox}{\void}
Default constructor.
\func{}{wxCheckListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
Constructor, creating and showing a list box.
\wxheading{Parameters}
\docparam{parent}{Parent window. Must not be NULL.}
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
\docparam{pos}{Window position.}
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
appropriately.}
\docparam{n}{Number of strings with which to initialise the control.}
\docparam{choices}{An array of strings with which to initialise the control.}
\docparam{style}{Window style. See \helpref{wxCheckListBox}{wxchecklistbox}.}
\docparam{validator}{Window validator.}
\docparam{name}{Window name.}
\membersection{wxCheckListBox::\destruct{wxCheckListBox}}
\func{void}{\destruct{wxCheckListBox}}{\void}
Destructor, destroying the list box.
\membersection{wxCheckListBox::Check}\label{wxchecklistboxcheck}
\func{void}{Check}{\param{int }{item}, \param{bool}{ check = TRUE}}
Checks the given item.
\wxheading{Parameters}
\docparam{item}{Index of item to check.}
\docparam{check}{TRUE if the item is to be checked, FALSE otherwise.}
\membersection{wxCheckListBox::IsChecked}\label{wxchecklistboxischecked}
\constfunc{bool}{IsChecked}{\param{int}{ item}}
Returns TRUE if the given item is checked, FALSE otherwise.
\wxheading{Parameters}
\docparam{item}{Index of item whose check status is to be returned.}

View File

@@ -17,9 +17,18 @@ There are no special styles for wxChoice.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_CHOICE(id, func)}}{Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
when an item on the list is selected.}
\end{twocollist}
\wxheading{See also}
\helpref{wxListBox}{wxlistbox}
\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
\latexignore{\rtfignore{\wxheading{Members}}}

View File

@@ -10,8 +10,7 @@ No parent class.
\wxheading{See also}
\overview{Overview}{wxclassinfooverview}\\
\helpref{wxObject}{wxobject}
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
\latexignore{\rtfignore{\wxheading{Members}}}

View File

@@ -27,13 +27,16 @@ $$\image{14cm;0cm}{wxclass.ps}$$
}}
\end{comment}
\input accel.tex
\input activevt.tex
\input app.tex
\input button.tex
\input bitmap.tex
\input bbutton.tex
\input brush.tex
\input calclevt.tex
\input checkbox.tex
\input checklst.tex
\input choice.tex
\input clasinfo.tex
\input clientdc.tex
@@ -46,11 +49,12 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input cmdevent.tex
\input cmdproc.tex
\input conditn.tex
\input config.tex
\input control.tex
\input cursor.tex
\input database.tex
\input date.tex
\input datstream.tex
\input datstrm.tex
\input dc.tex
\input ddeclint.tex
\input ddeconn.tex
@@ -61,6 +65,8 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input document.tex
\input docchfrm.tex
\input docmanag.tex
\input docmdich.tex
\input docmdipr.tex
\input docprfrm.tex
\input doctempl.tex
\input dropevt.tex
@@ -89,11 +95,13 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input joystick.tex
\input joyevent.tex
\input keyevent.tex
\input layalgor.tex
\input layout.tex
\input list.tex
\input listbox.tex
\input listctrl.tex
\input listevt.tex
\input log.tex
\input mask.tex
\input mdi.tex
\input menu.tex
@@ -109,6 +117,8 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input mltchdlg.tex
\input mutex.tex
\input node.tex
\input notebook.tex
\input noteevt.tex
\input object.tex
\input pagedlg.tex
\input paintdc.tex
@@ -119,17 +129,22 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input pathlist.tex
\input pen.tex
\input point.tex
\input postscpt.tex
\input prevwin.tex
\input print.tex
\input process.tex
\input postscpt.tex
\input procevt.tex
\input query.tex
\input qylayevt.tex
\input radiobox.tex
\input radiobut.tex
\input realpoin.tex
\input rect.tex
\input recrdset.tex
\input region.tex
\input sashevt.tex
\input sashlayw.tex
\input sashwin.tex
\input screendc.tex
\input scrolbar.tex
\input scrolevt.tex
@@ -138,13 +153,15 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input size.tex
\input sizeevt.tex
\input slider.tex
\input sckaddr.tex
\input socket.tex
\input spinbutt.tex
\input splitter.tex
\input statbmp.tex
\input statbox.tex
\input stattext.tex
\input statusbr.tex
%\input wxstring.tex
\input wxstring.tex
\input strlist.tex
\input sysclevt.tex
\input settings.tex
@@ -161,14 +178,19 @@ $$\image{14cm;0cm}{wxclass.ps}$$
\input toolbar.tex
\input treectrl.tex
\input treeevt.tex
\input upditer.tex
\input upduievt.tex
\input url.tex
\input validatr.tex
\input view.tex
\input wave.tex
\input window.tex
\input windowdc.tex
\input winhelp.tex
\input function.tex
\input keycode.tex
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "referenc"
%%% End:

View File

@@ -13,13 +13,20 @@ functions that take a wxCloseEvent argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function.}
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function. This
event applies to wxFrame and wxDialog classes.}
\twocolitem{{\bf EVT\_QUERY\_END\_SESSION(func)}}{Process a query end session event, supplying the member function.
This event applies to wxApp only.}
\twocolitem{{\bf EVT\__END\_SESSION(func)}}{Process an end session event, supplying the member function.
This event applies to wxApp only.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
\helpref{wxApp::OnEndSession}{wxapponendsession},\rtfsp
\helpref{Window deletion overview}{windowdeletionoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -30,6 +37,14 @@ functions that take a wxCloseEvent argument.
Constructor.
\membersection{wxCloseEvent::CanVeto}\label{wxcloseeventcanveto}
\func{bool}{CanVeto}{\void}
Returns TRUE if you can veto a system shutdown or a window close event.
Vetoing a window close event is not possible if the calling code wishes to
force the application to exit, and so this function must be called to check this.
\membersection{wxCloseEvent::GetLoggingOff}\label{wxcloseeventgetloggingoff}
\constfunc{bool}{GetLoggingOff}{\void}
@@ -44,14 +59,37 @@ Returns TRUE if the session is ending.
\membersection{wxCloseEvent::GetForce}\label{wxcloseeventgetforce}
\constfunc{void}{GetForce}{\void}
\constfunc{bool}{GetForce}{\void}
Returns TRUE if the application wishes to force the window to close.
This will shortly be obsolete, replaced by CanVeto.
\membersection{wxCloseEvent::SetCanVeto}\label{wxcloseeventsetcanveto}
\func{void}{SetCanVeto}{\param{bool}{ canVeto}}
Sets the 'can veto' flag.
\membersection{wxCloseEvent::SetForce}\label{wxcloseeventsetforce}
\constfunc{void}{SetForce}{\param{bool}{ force}}
Sets the 'force' flag.
\membersection{wxCloseEvent::SetLoggingOff}\label{wxcloseeventsetloggingoff}
\constfunc{void}{SetLoggingOff}{\param{bool}{ loggingOff}}
Sets the 'logging off' flag.
\membersection{wxCloseEvent::Veto}\label{wxcloseeventveto}
\func{void}{Veto}{\void}
\func{void}{Veto}{\param{bool}{ veto = TRUE}}
Call this from your event handler to veto a system shutdown.
Call this from your event handler to veto a system shutdown or to signal
to the calling application that a window close did not happen.
You can only veto a shutdown if \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns
TRUE.

View File

@@ -27,7 +27,7 @@ which is generated by a wxCheckBox control.}
which is generated by a wxChoice control.}
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
which is generated by a wxListBox control.}
\twocolitem{{\bf EVT\_LISTBOX_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
which is generated by a wxListBox control.}
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
which is generated by a wxTextCtrl control.}
@@ -48,12 +48,16 @@ which is generated by a wxScrollBar control. This is provided for compatibility
more specific scrollbar event macros should be used instead (see \helpref{wxScrollEvent}{wxscrollevent}).}
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED command,
which is generated by a wxComboBox control.}
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED command,
which is generated by a toobar button.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED command,
which is generated by a toobar button.}
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER command,
which is generated by a toobar button.}
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
for a range id identifiers. Pass the ids of the tools.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
Pass the id of the tool.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
for a range of ids. Pass the ids of the tools.}
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_CLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_CLICK command,
which is generated by a control (Windows 95 and NT only).}
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_DCLICK command,
@@ -177,3 +181,8 @@ Sets the {\bf m\_commandInt} member.
Sets the {\bf m\_commandString} member.
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "referenc"
%%% End:

View File

@@ -26,9 +26,20 @@ displaying the current selection.}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
when an item on the list is selected.}
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
when the combobox text changes.}
\end{twocollist}
\wxheading{See also}
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice}
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice},
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
\latexignore{\rtfignore{\wxheading{Members}}}

621
docs/latex/wx/config.tex Normal file
View File

@@ -0,0 +1,621 @@
\section{\class{wxConfigBase}}\label{wxconfigbase}
wxConfigBase class defines the basic interface of all config classes. It can
not be used by itself (it's an abstract base class) and you'll always use one
of its derivations: wxIniConfig, wxFileConfig, wxRegConfig or any other.
However, usually you don't even need to know the precise nature of the class
you're working with but you would just use the wxConfigBase methods. This
allows you to write the same code regardless of whether you're working with
the registry under Win32 or text-based config files under Unix (or even
Windows 3.1 .INI files if you're really unlucky). To make writing the portable
code even easier, wxWindows provides a typedef wxConfig
which is mapped onto the native wxConfigBase implementation on the given
platform: i.e. wxRegConfig under Win32, wxIniConfig under Win16 and
wxFileConfig otherwise.
See \helpref{config overview}{wxconfigoverview} for the descriptions of all
features of this class.
\wxheading{Derived from}
No base class
\wxheading{Example}
Here is how you would typically use this class:
\begin{verbatim}
// using wxConfig instead of writing wxFileConfig or wxRegConfig enhances
// portability of the code
wxConfig *config = new wxConfig("MyAppName");
wxString str;
if ( config->Read("LastPrompt", &str) ) {
// last prompt was found in the config file/registry and its value is now
// in str
...
}
else {
// no last prompt...
}
// another example: using default values and the full path instead of just
// key name: if the key is not found , the value 17 is returned
long value = config->Read("/LastRun/CalculatedValues/MaxValue", -1);
...
...
...
// at the end of the program we would save everything back
config->Write("LastPrompt", str);
config->Write("/LastRun/CalculatedValues/MaxValue", value);
// the changes will be written back automatically
delete config;
\end{verbatim}
This basic example, of course, doesn't show all wxConfig features, such as
enumerating, testing for existence and deleting the entries and groups of
entries in the config file, its abilities to automatically store the default
values or expand the environment variables on the fly. However, the main idea
is that using this class is easy and that it should normally do what you
expect it to.
NB: in the documentation of this class, the words "config file" also mean
"registry hive" for wxRegConfig and, generally speaking, might mean any
physical storage where a wxConfigBase-derived class stores its data.
\latexignore{\rtfignore{\wxheading{Function groups}}}
\membersection{Static functions}
These functions deal with the "default" config object. Although its usage is
not at all mandatory it may be convenient to use a global config object
instead of creating and deleting the local config objects each time you need
one (especially because creating a wxFileConfig object might be a time
consuming operation). In this case, you may create this global config object
in the very start of the program and {\it Set()} it as the default. Then, from
anywhere in your program, you may access it using the {\it Get()} function. Of
course, you should delete it on the program termination (otherwise, not only a
memory leak will result, but even more importantly the changes won't be
written back!).
As it happens, you may even further simplify the procedure described above:
you may forget about calling {\it Set()}. When {\it Get()} is called and there
is no current object, it will create one using {\it Create()} function. To
disable this behaviour {\it DontCreateOnDemand()} is provided.
\helpref{Set}{wxconfigbaseset}\\
\helpref{Get}{wxconfigbaseget}\\
\helpref{Create}{wxconfigbasecreate}\\
\helpref{DontCreateOnDemand}{wxconfigbasedontcreateondemand}
\membersection{Constructor and destructor}
\helpref{wxConfigBase}{wxconfigbasector}\\
\helpref{\destruct{wxConfigBase}}{wxconfigbasedtor}
\membersection{Path management}
As explained in \helpref{config overview}{wxconfigoverview}, the config classes
support a file system-like hierarchy of keys (files) and groups (directories).
As in the file system case, to specify a key in the config class you must use
a path to it. Config classes also support the notion of the current group,
which makes it possible to use the relative paths. To clarify all this, here
is an example (it's only for the sake of demonstration, it doesn't do anything
sensible!):
\begin{verbatim}
wxConfig *config = new wxConfig("FooBarApp");
// right now the current path is '/'
conf->Write("RootEntry", 1);
// go to some other place: if the group(s) don't exist, they will be created
conf->SetPath("/Group/Subgroup");
// create an entry in subgroup
conf->Write("SubgroupEntry", 3);
// '..' is understood
conf->Write("../GroupEntry", 2);
conf->SetPath("..");
wxASSERT( conf->Read("Subgroup/SubgroupEntry", 0l) == 3 );
// use absolute path: it's allowed, too
wxASSERT( conf->Read("/RootEntry", 0l) == 1 );
\end{verbatim}
{\it Warning}: it's probably a good idea to always restore the path to its
old value on function exit:
\begin{verbatim}
void foo(wxConfigBase *config)
{
wxString strOldPath = config->GetPath();
config->SetPath("/Foo/Data");
...
config->SetPath(strOldPath);
}
\end{verbatim}
because otherwise the assert in the following example will surely fail
(we suppose here that {\it foo()} function is the same as above except that it
doesn't save and restore the path):
\begin{verbatim}
void bar(wxConfigBase *config)
{
config->Write("Test", 17);
foo(config);
// we're reading "/Foo/Data/Test" here! -1 will probably be returned...
wxASSERT( config->Read("Test", -1) == 17 );
}
\end{verbatim}
Finally, the path separator in wxConfigBase and derived classes is always '/',
regardless of the platform (i.e. it's {\bf not} '$\backslash\backslash$' under Windows).
\helpref{SetPath}{wxconfigbasesetpath}\\
\helpref{GetPath}{wxconfigbasegetpath}
\membersection{Enumeration}
The functions in this section allow to enumerate all entries and groups in the
config file. All functions here return FALSE when there are no more items.
You must pass the same index to GetNext and GetFirst (don't modify it).
Please note that it's {\bf not} the index of the current item (you will have
some great surprizes with wxRegConfig if you assume this) and you shouldn't
even look at it: it's just a "cookie" which stores the state of the
enumeration. It can't be stored inside the class because it would prevent you
from running several enumerations simultaneously, that's why you must pass it
explicitly.
Having said all this, enumerating the config entries/groups is very simple:
\begin{verbatim}
wxArrayString aNames;
// enumeration variables
wxString str;
long dummy;
// first enum all entries
bool bCont = config->GetFirstEntry(str, dummy);
while ( bCont ) {
aNames.Add(str);
bCont = GetConfig()->GetNextEntry(str, dummy);
}
... we have all entry names in aNames...
// now all groups...
bCont = GetConfig()->GetFirstGroup(str, dummy);
while ( bCont ) {
aNames.Add(str);
bCont = GetConfig()->GetNextGroup(str, dummy);
}
... we have all group (and entry) names in aNames...
\end{verbatim}
There are also functions to get the number of entries/subgroups without
actually enumerating them, but you will probably never need them.
\helpref{GetFirstGroup}{wxconfigbasegetfirstgroup}\\
\helpref{GetNextGroup}{wxconfigbasegetnextgroup}\\
\helpref{GetFirstEntry}{wxconfigbasegetfirstentry}\\
\helpref{GetNextEntry}{wxconfigbasegetnextentry}\\
\helpref{GetNumberOfEntries}{wxconfigbasegetnumberofentries}\\
\helpref{GetNumberOfGroups}{wxconfigbasegetnumberofgroups}
\membersection{Tests of existence}
\helpref{HasGroup}{wxconfigbasehasgroup}\\
\helpref{HasEntry}{wxconfigbasehasentry}\\
\helpref{Exists}{wxconfigbaseexists}
\membersection{Miscellaneous accessors}
\helpref{SetAppName}{wxconfigbasesetappname}\\
\helpref{GetAppName}{wxconfigbasegetappname}\\
\helpref{SetVendorName}{wxconfigbasesetvendorname}\\
\helpref{GetVendorName}{wxconfigbasegetvendorname}
\membersection{Key access}
These function are the core of wxConfigBase class: they allow you to read and
write config file data. All {\it Read} function take a default value which
will be returned if the specified key is not found in the config file.
Currently, only two types of data are supported: string and long (but it might
change in the near future). To work with other types: for {\it int} or {\it
bool} you can work with function taking/returning {\it long} and just use the
casts. Better yet, just use {\it long} for all variables which you're going to
save in the config file: chances are that \verb$sizeof(bool) == sizeof(int) == sizeof(long)$ anyhow on your system. For {\it float}, {\it double} and, in
general, any other type you'd have to translate them to/from string
representation and use string functions.
Try not to read long values into string variables and vice versa: although it
just might work with wxFileConfig, you will get a system error with
wxRegConfig because in the Windows registry the different types of entries are
indeed used.
Final remark: the {\it szKey} parameter for all these functions can contain an
arbitrary path (either relative or absolute), not just the key name.
\helpref{Read}{wxconfigbaseread}\\
\helpref{Write}{wxconfigbasewrite}\\
\helpref{Flush}{wxconfigbaseflush}
\membersection{Delete entries/groups}
The functions in this section delete entries and/or groups of entries from the
config file. {\it DeleteAll()} is especially useful if you want to erase all
traces of your program presence: for example, when you uninstall it.
\helpref{DeleteEntry}{wxconfigbasedeleteentry}\\
\helpref{DeleteGroup}{wxconfigbasedeletegroup}\\
\helpref{DeleteAll}{wxconfigbasedeleteall}
\membersection{Options}
Some aspects of wxConfigBase behaviour can be changed during run-time. The
first of them is the expansion of environment variables in the string values
read from the config file: for example, if you have the following in your
config file:
\begin{verbatim}
# config file for my program
UserData = $HOME/data
# the following syntax is valud only under Windows
UserData = %windir%\\data.dat
\end{verbatim}
the call to \verb$config->Read("UserData")$ will return something like
\verb$"/home/zeitlin/data"$ if you're lucky enough to run a Linux system ;-)
Although this feature is very useful, it may be annoying if you read a value
which containts '\$' or '\%' symbols (\% is used for environment variables
expansion under Windows) which are not used for environment variable
expansion. In this situation you may call SetExpandEnvVars(FALSE) just before
reading this value and SetExpandEnvVars(TRUE) just after. Another solution
would be to prefix the offending symbols with a backslash.
The following functions control this option:
\helpref{IsExpandingEnvVars}{wxconfigbaseisexpandingenvvars}\\
\helpref{SetExpandingEnvVars}{wxconfigbasesetexpandingenvvars}\\
\helpref{SetRecordDefaults}{wxconfigbasesetrecorddefaults}\\
\helpref{IsRecordingDefaults}{wxconfigbaseisrecordingdefaults}
%%%%% MEMBERS HERE %%%%%
\helponly{\insertatlevel{2}{
\wxheading{Members}
}}
\membersection{wxConfigBase::wxConfigBase}\label{wxconfigbasector}
\func{}{wxConfigBase}{\param{const wxString\& }{appName = wxEmptyString},
\param{const wxString\& }{vendorName = wxEmptyString},
\param{const wxString\& }{localFilename = wxEmptyString},
\param{const wxString\& }{globalFilename = wxEmptyString},
\param{long}{ style = 0}}
This is the default and only constructor of the wxConfigBase class, and
derived classes.
\wxheading{Parameters}
\docparam{appName}{The application name. If this is empty, the class will
normally use \helpref{wxApp::GetAppName}{wxappgetappname} to set it. The
application name is used in the registry key on Windows, and can be used to
deduce the local filename parameter if that is missing.}
\docparam{vendorName}{The vendor name. If this is empty, it is assumed that
no vendor name is wanted, if this is optional for the current config class.
The vendor name is appended to the application name for wxRegConfig.}
\docparam{localFilename}{Some config classes require a local filename. If this
is not present, but required, the application name will be used instead.}
\docparam{globalFilename}{Some config classes require a global filename. If
this is not present, but required, the application name will be used instead.}
\docparam{style}{Can be one of wxCONFIG\_USE\_LOCAL\_FILE and
wxCONFIG\_USE\_GLOBAL\_FILE. The style interpretation depends on the config
class and is ignored by some. For wxFileConfig, these styles determine whether
a local or global config file is created or used. If the flag is present but
the parameter is empty, the parameter will be set to a default. If the
parameter is present but the style flag not, the relevant flag will be added
to the style.}
\wxheading{Remarks}
By default, environment variable expansion is on and recording defaults is
off.
\membersection{wxConfigBase::\destruct{wxConfigBase}}\label{wxconfigbasedtor}
\func{}{\destruct{wxConfigBase}}{\void}
Empty but ensures that dtor of all derived classes is virtual.
\membersection{wxConfigBase::Create}\label{wxconfigbasecreate}
\func{static wxConfigBase *}{Create}{\void}
Create a new config object: this function will create the "best"
implementation of wxConfig available for the current platform, see comments
near the definition of wxCONFIG\_WIN32\_NATIVE for details. It returns the
created object and also sets it as the current one.
\membersection{wxConfigBase::DontCreateOnDemand}\label{wxconfigbasedontcreateondemand}
\func{void}{DontCreateOnDemand}{\void}
Calling this function will prevent {\it Get()} from automatically creating a
new config object if the current one is NULL. It might be useful to call it
near the program end to prevent new config object "accidental" creation.
\membersection{wxConfigBase::DeleteAll}\label{wxconfigbasedeleteall}
\func{bool}{DeleteAll}{\void}
Delete the whole underlying object (disk file, registry key, ...). Primarly
for use by desinstallation routine.
\membersection{wxConfigBase::DeleteEntry}\label{wxconfigbasedeleteentry}
\func{bool}{DeleteEntry}{\param{const wxString\& }{ key}, \param{bool}{
bDeleteGroupIfEmpty = TRUE}}
Deletes the specified entry and the group it belongs to if it was the last key
in it and the second parameter is true.
\membersection{wxConfigBase::DeleteGroup}\label{wxconfigbasedeletegroup}
\func{bool}{DeleteGroup}{\param{const wxString\& }{ key}}
Delete the group (with all subgroups)
\membersection{wxConfigBase::Exists}\label{wxconfigbaseexists}
\constfunc{bool}{Exists}{\param{wxString\& }{strName}}
returns TRUE if either a group or an entry with a given name exists
\membersection{wxConfigBase::Flush}\label{wxconfigbaseflush}
\func{bool}{Flush}{\param{bool }{bCurrentOnly = FALSE}}
permanently writes all changes (otherwise, they're only written from object's
destructor)
\membersection{wxConfigBase::Get}\label{wxconfigbaseget}
\func{wxConfigBase *}{Get}{\void}
Get the current config object. If there is no current object, creates one
(using {\it Create}) unless DontCreateOnDemand was called previously.
\membersection{wxConfigBase::GetAppName}\label{wxconfigbasegetappname}
\constfunc{wxString}{GetAppName}{\void}
Returns the application name.
\membersection{wxConfigBase::GetFirstGroup}\label{wxconfigbasegetfirstgroup}
\constfunc{bool}{GetFirstGroup}{\param{wxString\& }{str}, \param{long\&}{
index}}
Gets the first group.
\membersection{wxConfigBase::GetFirstEntry}\label{wxconfigbasegetfirstentry}
\constfunc{bool}{GetFirstEntry}{\param{wxString\& }{str}, \param{long\&}{
index}}
Gets the first entry.
\membersection{wxConfigBase::GetNextGroup}\label{wxconfigbasegetnextgroup}
\constfunc{bool}{GetNextGroup}{\param{wxString\& }{str}, \param{long\&}{
index}}
Gets the next group.
\membersection{wxConfigBase::GetNextEntry}\label{wxconfigbasegetnextentry}
\constfunc{bool}{GetNextEntry}{\param{wxString\& }{str}, \param{long\&}{
index}}
Gets the next entry.
\membersection{wxConfigBase::GetNumberOfEntries}\label{wxconfigbasegetnumberofentries}
\constfunc{uint }{GetNumberOfEntries}{\param{bool }{bRecursive = FALSE}}
\membersection{wxConfigBase::GetNumberOfGroups}\label{wxconfigbasegetnumberofgroups}
\constfunc{uint}{GetNumberOfGroups}{\param{bool }{bRecursive = FALSE}}
Get number of entries/subgroups in the current group, with or without its
subgroups.
\membersection{wxConfigBase::GetPath}\label{wxconfigbasegetpath}
\constfunc{const wxString\&}{GetPath}{\void}
Retrieve the current path (always as absolute path).
\membersection{wxConfigBase::GetVendorName}\label{wxconfigbasegetvendorname}
\constfunc{wxString}{GetVendorName}{\void}
Returns the vendor name.
\membersection{wxConfigBase::HasEntry}\label{wxconfigbasehasentry}
\constfunc{bool}{HasEntry}{\param{wxString\& }{strName}}
returns TRUE if the entry by this name exists
\membersection{wxConfigBase::HasGroup}\label{wxconfigbasehasgroup}
\constfunc{bool}{HasGroup}{\param{const wxString\& }{strName}}
returns TRUE if the group by this name exists
\membersection{wxConfigBase::IsExpandingEnvVars}\label{wxconfigbaseisexpandingenvvars}
\constfunc{bool}{IsExpandingEnvVars}{\void}
Returns TRUE if we are expanding environment variables in key values.
\membersection{wxConfigBase::IsRecordingDefaults}\label{wxconfigbaseisrecordingdefaults}
\func{bool}{IsRecordingDefaults}{\void} const
Returns TRUE if we are writing defaults back to the config file.
\membersection{wxConfigBase::Read}\label{wxconfigbaseread}
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
str}}
Read a string from the key, returning TRUE if the value was read. If the key
was not found, {\it str} is not changed.
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
str}, \param{const wxString\& }{defaultVal}}
Read a string from the key. The default value is returned if the key was not
found.
Returns TRUE if value was really read, FALSE if the default was used.
\constfunc{wxString}{Read}{\param{const wxString\& }{key}, \param{const
wxString\& }{defaultVal}}
Another version of {\it Read()}, returning the string value directly.
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l}}
Reads a long value, returning TRUE if the value was found. If the value was
not found, {\it l} is not changed.
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l},
\param{long}{ defaultVal}}
Reads a long value, returning TRUE if the value was found. If the value was
not found, {\it defaultVal} is used instead.
\constfunc{long }{Read}{\param{const wxString\& }{key}, \param{long}{
defaultVal}}
Reads a long value from the key and returns it. {\it defaultVal} is returned
if the key is not found.
NB: writing
{\small \begin{verbatim} conf->Read("key", 0); \end{verbatim} }
won't work because the call is ambiguous: compiler can not choose between two
{\it Read} functions. Instead, write:
{\small \begin{verbatim} conf->Read("key", 0l); \end{verbatim} }
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d}}
Reads a double value, returning TRUE if the value was found. If the value was
not found, {\it d} is not changed.
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d},
\param{double}{ defaultVal}}
Reads a double value, returning TRUE if the value was found. If the value was
not found, {\it defaultVal} is used instead.
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ b}}
Reads a bool value, returning TRUE if the value was found. If the value was
not found, {\it b} is not changed.
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ d},
\param{bool}{ defaultVal}}
Reads a bool value, returning TRUE if the value was found. If the value was
not found, {\it defaultVal} is used instead.
\membersection{wxConfigBase::Set}\label{wxconfigbaseset}
\func{wxConfigBase *}{Set}{\param{wxConfigBase *}{pConfig}}
Sets the config object as the current one, returns the pointer to the previous
current object (both the parameter and returned value may be NULL)
\membersection{wxConfigBase::SetAppName}\label{wxconfigbasesetappname}
\func{void }{SetAppName}{\param{const wxString\&}{ appName}}
Sets the application name.
\membersection{wxConfigBase::SetExpandingEnvVars}\label{wxconfigbasesetexpandingenvvars}
\func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = TRUE}}
Determine whether we wish to expand environment variables in key values.
\membersection{wxConfigBase::SetPath}\label{wxconfigbasesetpath}
\func{void}{SetPath}{\param{const wxString\& }{strPath}}
Set current path: if the first character is '/', it's the absolute path,
otherwise it's a relative path. '..' is supported. If the strPath doesn't
exist it is created.
\membersection{wxConfigBase::SetRecordDefaults}\label{wxconfigbasesetrecorddefaults}
\func{void}{SetRecordDefaults}{\param{bool }{bDoIt = TRUE}}
Sets whether defaults are written back to the config file.
If on (default is off) all default values are written back to the config file.
This allows the user to see what config options may be changed and is probably
useful only for wxFileConfig.
\membersection{wxConfigBase::SetVendorName}\label{wxconfigbasesetvendorname}
\func{void}{SetVendorName}{\param{const wxString\&}{ vendorName}}
Sets the vendor name.
\membersection{wxConfigBase::Write}\label{wxconfigbasewrite}
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{const wxString\& }{
value}}
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{long}{ value}}
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{double}{ value}}
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{bool}{ value}}
These functions write the specified value to the config file and return TRUE
on success.

View File

@@ -91,7 +91,7 @@ Returns the name of the database associated with the current connection.
\func{wxString}{GetDataSource}{\void}
Returns the name of the connected data source.
\membersection{wxDatabase::GetErrorClass}
\func{wxString}{GetErrorClass}{\void}
@@ -141,7 +141,7 @@ Returns the current ODBC database handle.
\func{HENV}{GetHENV}{\void}
Returns the ODBC environment handle.
\membersection{wxDatabase::GetInfo}
\func{bool}{GetInfo}{\param{long}{ infoType}, \param{long *}{buf}}
@@ -219,7 +219,7 @@ source. The parameters exclusive and readOnly are not used.
\func{void}{OnSetOptions}{\param{wxRecordSet *}{recordSet}}
Not implemented.
\membersection{wxDatabase::OnWaitForDataSource}
\func{void}{OnWaitForDataSource}{\param{bool}{ stillExecuting}}
@@ -237,13 +237,13 @@ Sends a rollback to the ODBC driver. Not implemented.
\func{void}{SetDataSource}{\param{const wxString\& }{s}}
Sets the name of the data source. Not implemented.
\membersection{wxDatabase::SetLoginTimeout}
\func{void}{SetLoginTimeout}{\param{long}{ seconds}}
Sets the time to wait for an user login. Not implemented.
\membersection{wxDatabase::SetPassword}
\func{void}{SetPassword}{\param{const wxString\& }{s}}
@@ -262,7 +262,7 @@ mode is supported, so this function has no effect.
\func{void}{SetQueryTimeout}{\param{long}{ seconds}}
Sets the time to wait for a response to a query. Not implemented.
\membersection{wxDatabase::SetUsername}
\func{void}{SetUsername}{\param{const wxString\& }{s}}

View File

@@ -6,7 +6,7 @@ Sparc or anything else.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDataStream::wxDataStream}\label{wxwaveconstr}
\membersection{wxDataStream::wxDataStream}\label{wxdatastreamconstr}
\func{}{wxDataStream}{\param{istream\&}{ stream}}
@@ -96,14 +96,19 @@ Writes the double {\it f} to the stream using the IEEE format.
\membersection{wxDataStream::WriteString}
\func{void}{wxDataStream::WriteString}{{\param const wxString& }{string}}
\func{void}{wxDataStream::WriteString}{{\param const wxString\& }{string}}
Writes {\it string} to the stream. Actually, this method writes the size of
the string before writing {\it string} itself.
\membersection{wxDataStream::WriteLine}
\func{void}{wxDataStream::WriteLine}{{\param const wxString& }{string}}
\func{void}{wxDataStream::WriteLine}{{\param const wxString\& }{string}}
Writes {\it string} as a line. Depending on the operating system, it adds
\\n or \\r\\n.
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "referenc"
%%% End:

View File

@@ -157,10 +157,12 @@ mapping mode. Use this function for converting a height, for example.
\func{void}{DrawArc}{\param{long}{ x1}, \param{long}{ y1}, \param{long}{ x2}, \param{long}{ y2}, \param{double}{ xc}, \param{double}{ yc}}
Draws an arc, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
Draws an arc of a circle, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
and ending at ({\it x2, y2}). The current pen is used for the outline
and the current brush for filling the shape.
The arc is drawn in an anticlockwise direction from the start point to the end point.
\membersection{wxDC::DrawEllipse}\label{wxdcdrawellipse}
\func{void}{DrawEllipse}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}

View File

@@ -74,6 +74,8 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
a different level will only have an effect if trace statements in the application
specify a value other than one.
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\wxheading{See also}
\helpref{wxDebugContext::SetLevel}{wxdebugcontextsetlevel}
@@ -84,6 +86,8 @@ specify a value other than one.
Returns the output stream associated with the debug context.
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\wxheading{See also}
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}
@@ -96,6 +100,8 @@ Returns a pointer to the output stream buffer associated with the debug context.
There may not necessarily be a stream buffer if the stream has been set
by the user.
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\membersection{wxDebugContext::HasStream}\label{wxdebugcontexthasstream}
\func{bool}{HasStream}{\void}
@@ -103,6 +109,8 @@ by the user.
Returns TRUE if there is a stream currently associated
with the debug context.
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\wxheading{See also}
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}, \helpref{wxDebugContext::GetStream}{wxdebugcontextgetstream}
@@ -195,6 +203,8 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
a different level will only have an effect if trace statements in the application
specify a value other than one.
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\wxheading{See also}
\helpref{wxDebugContext::GetLevel}{wxdebugcontextgetlevel}
@@ -206,6 +216,8 @@ specify a value other than one.
Sets the debugging stream to be the debugger (Windows) or standard error (other platforms).
This is the default setting. The existing stream will be flushed and deleted.
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\membersection{wxDebugContext::SetStream}\label{wxdebugcontextsetstream}
\func{void}{SetStream}{\param{ostream* }{stream}, \param{streambuf* }{streamBuf = NULL}}
@@ -213,6 +225,8 @@ This is the default setting. The existing stream will be flushed and deleted.
Sets the stream and optionally, stream buffer associated with the debug context.
This operation flushes and deletes the existing stream (and stream buffer if any).
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\wxheading{Parameters}
\docparam{stream}{Stream to associate with the debug context. Do not set this to NULL.}
@@ -231,6 +245,8 @@ Windows, an ostream constructed with this buffer outputs
to the debugger, or other program that intercepts debugging
output. On other platforms, the output goes to standard error (cerr).
This is soon to be obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
\wxheading{Derived from}
streambuf

View File

@@ -30,8 +30,9 @@ dialog to respond to system close events.
\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box (Motif only).}
\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxSYSTEM\_MENU and wxTHICK\_FRAME}
\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window (Motif only).}
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu (Motif only).}
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window (Motif only).}
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
\twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls
should not have 3D borders unless specified in the control.}
\end{twocollist}

View File

@@ -35,7 +35,7 @@ The view associated with the frame.
\membersection{wxDocChildFrame::wxDocChildFrame}
\func{}{wxDocChildFrame}{\param{wxDocument* }{doc}, \param{wxView* }{view}, \param{wxFrame* }{parent},
\param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
\param{wxWindowID}{ id}, \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
\param{const wxSize\&}{ size = wxDefaultSize},
\param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = ``frame"}}

View File

@@ -12,7 +12,7 @@ and \helpref{wxDocTemplate}{wxdoctemplate} classes.
\wxheading{See also}
\helpref{wxDocManager overview}{wxdocmanageroverview}, \helpref{wxDocument}{wxdocument},\rtfsp
\helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate}
\helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate}, \helpref{wxFileHistory}{wxfilehistory}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -139,28 +139,54 @@ of view is presented to the user.
Removes the template from the list of templates.
\membersection{wxDocManager::FileHistoryLoad}
\membersection{wxDocManager::FileHistoryAddFilesToMenu}\label{wxdocmanagerfilehistoryaddfilestomenu}
\func{void}{FileHistoryLoad}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
\func{void}{FileHistoryAddFilesToMenu}{\void}
Loads the file history from a resource file, using the given section. This must be called
Appends the files in the history list, to all menus managed by the file history object.
\func{void}{FileHistoryAddFilesToMenu}{\param{wxMenu*}{ menu}}
Appends the files in the history list, to the given menu only.
\membersection{wxDocManager::FileHistoryLoad}\label{wxdocmanagerfilehistoryload}
\func{void}{FileHistoryLoad}{\param{wxConfigBase\& }{config}}
Loads the file history from a config object.
\wxheading{See also}
\helpref{wxConfig}{wxconfigbase}
\membersection{wxDocManager::FileHistoryRemoveMenu}\label{wxdocmanagerfilehistoryremovemenu}
\func{void}{FileHistoryRemoveMenu}{\param{wxMenu*}{ menu}}
Removes the given menu from the list of menus managed by the file history object.
\membersection{wxDocManager::FileHistorySave}\label{wxdocmanagerfilehistorysave}
\func{void}{FileHistorySave}{\param{wxConfigBase\& }{resourceFile}}
Saves the file history into a config object. This must be called
explicitly by the application.
\membersection{wxDocManager::FileHistorySave}
\wxheading{See also}
\func{void}{FileHistorySave}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
\helpref{wxConfig}{wxconfigbase}
Saves the file history into a resource file, using the given section. This must be called
explicitly by the application.
\membersection{wxDocManager::FileHistoryUseMenu}\label{wxdocmanagerfilehistoryusemenu}
\membersection{wxDocManager::FileHistoryUseMenu}
\func{void}{FileHistoryUseMenu}{\param{wxMenu *}{menu}}
\func{void}{FileHistoryUseMenu}{\param{wxMenu*}{ menu}}
Use this menu for appending recently-visited document filenames, for convenient
access. Calling this function with a valid menu pointer enables the history
list functionality.
Note that you can add multiple menus using this function, to be managed by the
file history object.
\membersection{wxDocManager::FindTemplateForPath}
\func{wxDocTemplate *}{FindTemplateForPath}{\param{const wxString\& }{path}}

View File

@@ -0,0 +1,89 @@
\section{\class{wxDocMDIChildFrame}}\label{wxdocmdichildframe}
The wxDocMDIChildFrame class provides a default frame for displaying documents
on separate windows. This class can only be used for MDI child frames.
The class is part of the document/view framework supported by wxWindows,
and cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument},
\rtfsp\helpref{wxDocManager}{wxdocmanager} and \helpref{wxDocTemplate}{wxdoctemplate} classes.
See the example application in {\tt samples/docview}.
\wxheading{Derived from}
\helpref{wxMDIChildFrame}{wxmdichildframe}\\
\helpref{wxFrame}{wxframe}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{See also}
\helpref{Document/view overview}{docviewoverview}, \helpref{wxMDIChildFrame}{wxmdichildframe}
\membersection{wxDocMDIChildFrame::m\_childDocument}
\member{wxDocument*}{m\_childDocument}
The document associated with the frame.
\membersection{wxDocMDIChildFrame::m\_childView}
\member{wxView*}{m\_childView}
The view associated with the frame.
\membersection{wxDocMDIChildFrame::wxDocMDIChildFrame}
\func{}{wxDocMDIChildFrame}{\param{wxDocument* }{doc}, \param{wxView* }{view}, \param{wxFrame* }{parent},
\param{wxWindowID}{ id}, \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
\param{const wxSize\&}{ size = wxDefaultSize},
\param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = ``frame"}}
Constructor.
\membersection{wxDocMDIChildFrame::\destruct{wxDocMDIChildFrame}}
\func{}{\destruct{wxDocMDIChildFrame}}{\void}
Destructor.
\membersection{wxDocMDIChildFrame::GetDocument}
\constfunc{wxDocument*}{GetDocument}{\void}
Returns the document associated with this frame.
\membersection{wxDocMDIChildFrame::GetView}
\constfunc{wxView*}{GetView}{\void}
Returns the view associated with this frame.
\membersection{wxDocMDIChildFrame::OnActivate}
\func{void}{OnActivate}{\param{bool}{ active}}
Sets the currently active view to be the frame's view. You may need
to override (but still call) this function in order to set the keyboard
focus for your subwindow.
\membersection{wxDocMDIChildFrame::OnClose}
\func{virtual bool}{OnClose}{\void}
Closes and deletes the current view and document.
\membersection{wxDocMDIChildFrame::SetDocument}
\func{void}{SetDocument}{\param{wxDocument *}{doc}}
Sets the document for this frame.
\membersection{wxDocMDIChildFrame::SetView}
\func{void}{SetView}{\param{wxView *}{view}}
Sets the view for this frame.

View File

@@ -0,0 +1,79 @@
\section{\class{wxDocMDIParentFrame}}\label{wxdocmdiparentframe}
The wxDocMDIParentFrame class provides a default top-level frame for
applications using the document/view framework. This class can only be used for MDI parent frames.
It cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument},
\rtfsp\helpref{wxDocManager}{wxdocmanager} and \helpref{wxDocTemplates}{wxdoctemplate} classes.
See the example application in {\tt samples/docview}.
\wxheading{Derived from}
\helpref{wxMDIParentFrame}{wxmdiparentframe}\\
\helpref{wxFrame}{wxframe}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{See also}
\helpref{Document/view overview}{docviewoverview}, \helpref{wxMDIParentFrame}{wxmdiparentframe}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDocMDIParentFrame::wxDocMDIParentFrame}
\func{}{wxDocMDIParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
\param{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
\param{long}{ style}, \param{const wxString\& }{name}}
Constructor.
\membersection{wxDocMDIParentFrame::\destruct{wxDocMDIParentFrame}}
\func{}{\destruct{wxDocMDIParentFrame}}{\void}
Destructor.
\membersection{wxDocMDIParentFrame::OnClose}
\func{bool}{OnClose}{\void}
Deletes all views and documents. If no user input cancelled the
operation, the function returns TRUE and the application will exit.
Since understanding how document/view clean-up takes place can be difficult,
the implementation of this function is shown below.
\begin{verbatim}
bool wxDocMDIParentFrame::OnClose(void)
{
// Delete all views and documents
wxNode *node = docManager->GetDocuments().First();
while (node)
{
wxDocument *doc = (wxDocument *)node->Data();
wxNode *next = node->Next();
if (!doc->Close())
return FALSE;
// Implicitly deletes the document when the last
// view is removed (deleted)
doc->DeleteAllViews();
// Check document is deleted
if (docManager->GetDocuments().Member(doc))
delete doc;
// This assumes that documents are not connected in
// any way, i.e. deleting one document does NOT
// delete another.
node = next;
}
return TRUE;
}
\end{verbatim}

View File

@@ -23,7 +23,7 @@ See the example application in {\tt samples/docview}.
\membersection{wxDocParentFrame::wxDocParentFrame}
\func{}{wxDocParentFrame}{\param{wxFrame *}{parent},
\func{}{wxDocParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
\param{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
\param{long}{ style}, \param{const wxString\& }{name}}

View File

@@ -324,4 +324,8 @@ Sets the title for this document. The document title is used for an associated
frame (if any), and is usually constructed by the framework from
the filename.
\membersection{wxDocument::UpdateAllViews}\label{wxdocumentupdateallviews}
\func{void}{UpdateAllViews}{\param{wxView* }{sender = NULL}}
Updates all views. If {\it sender} is non-NULL, does not update this view.

View File

@@ -3,13 +3,17 @@
The wxFileHistory encapsulates a user interface convenience, the
list of most recently visited files as shown on a menu (usually the File menu).
wxFileHistory can manage one or more file menus. More than one menu may be required
in an MDI application, where the file history should appear on each MDI child menu
as well as the MDI parent frame.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{See also}
\overview{wxFileHistory overview}{wxfilehistoryoverview}
\helpref{wxFileHistory overview}{wxfilehistoryoverview}, \helpref{wxDocManager}{wxdocmanager}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -56,38 +60,65 @@ Destructor.
Adds a file to the file history list, if the object has a pointer to an appropriate file menu.
\membersection{wxFileHistory::FileHistoryLoad}
\membersection{wxFileHistory::AddFilesToMenu}\label{wxfilehistoryaddfilestomenu}
\func{void}{FileHistoryLoad}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
\func{void}{AddFilesToMenu}{\void}
Loads the file history from a resource file, using the given section. This must be called
explicitly by the application.
Appends the files in the history list, to all menus managed by the file history object.
\membersection{wxFileHistory::FileHistorySave}
\func{void}{AddFilesToMenu}{\param{wxMenu*}{ menu}}
\func{void}{FileHistorySave}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
Appends the files in the history list, to the given menu only.
Saves the file history into a resource file, using the given section. This must be called
explicitly by the application.
\membersection{wxFileHistory::GetHistoryFile}\label{wxfilehistorygethistoryfile}
\membersection{wxFileHistory::FileHistoryUseMenu}
\constfunc{wxString}{GetHistoryFile}{\param{int}{ index}}
\func{void}{FileHistoryUseMenu}{\param{wxMenu* }{menu}}
Use this menu for appending recently-visited document filenames, for convenient
access. Calling this function with a valid menu pointer enables the history
list functionality.
Returns the file at this index (zero-based).
\membersection{wxFileHistory::GetMaxFiles}
\func{int}{GetMaxFiles}{\void}
\constfunc{int}{GetMaxFiles}{\void}
Returns the maximum number of files that can be stored.
\membersection{wxFileHistory::GetNoHistoryFiles}
\func{int}{GetNoHistoryFiles}{\void}
\constfunc{int}{GetNoHistoryFiles}{\void}
Returns the number of files currently stored in the file history.
\membersection{wxFileHistory::Load}
\func{void}{Load}{\param{wxConfigBase\& }{config}}
Loads the file history from the given config object. This function should be called explicitly by the application.
\wxheading{See also}
\helpref{wxConfig}{wxconfigbase}
\membersection{wxFileHistory::RemoveMenu}
\func{void}{RemoveMenu}{\param{wxMenu* }{menu}}
Removes this menu from the list of those managed by this object.
\membersection{wxFileHistory::Save}
\func{void}{Save}{\param{wxConfigBase\& }{config}}
Saves the file history into the given config object. This must be called
explicitly by the application.
\wxheading{See also}
\helpref{wxConfig}{wxconfigbase}
\membersection{wxFileHistory::UseMenu}
\func{void}{UseMenu}{\param{wxMenu* }{menu}}
Adds this menu to the list of those managed by this object.

View File

@@ -4,6 +4,10 @@ A frame is a window whose size and position can (usually) be changed by the user
thick borders and a title bar, and can optionally contain a menu bar, toolbar and
status bar. A frame can contain any window that is not a frame or dialog.
A frame that has a status bar and toolbar created via the CreateStatusBar/CreateToolBar functions
manages these windows, and adjusts the value returned by GetClientSize to reflect
the remaining size available to application windows.
\wxheading{Derived from}
\helpref{wxWindow}{wxwindow}\\
@@ -122,7 +126,9 @@ for further details.
\membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
\func{virtual bool}{CreateStatusBar}{\param{int}{ number = 1}}
\func{virtual wxStatusBar*}{CreateStatusBar}{\param{int}{ number = 1},
\param{long}{ style = 0},
\param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "statusBar"}}
Creates a status bar at the bottom of the frame.
@@ -131,9 +137,17 @@ Creates a status bar at the bottom of the frame.
\docparam{number}{The number of fields to create. Specify a
value greater than 1 to create a multi-field status bar.}
\docparam{style}{The status bar style. See \helpref{wxStatusBar}{wxstatusbar} for a list
of valid styles.}
\docparam{id}{The status bar window identifier. If -1, an identifier will be chosen by
wxWindows.}
\docparam{name}{The status bar window name.}
\wxheading{Return value}
TRUE if the status bar was created successfully.
A pointer to the the status bar if it was created successfully, NULL otherwise.
\wxheading{Remarks}
@@ -151,6 +165,45 @@ Note that you can put controls and other windows on the status bar if you wish.
\helpref{wxFrame::OnCreateStatusBar}{wxframeoncreatestatusbar},\rtfsp
\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
\membersection{wxFrame::CreateToolBar}\label{wxframecreatetoolbar}
\func{virtual wxToolBar*}{CreateToolBar}{\param{long}{ style = wxNO\_BORDER \pipe wxTB\_HORIZONTAL},
\param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "toolBar"}}
Creates a toolbar at the top or left of the frame.
\wxheading{Parameters}
\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
of valid styles.}
\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
wxWindows.}
\docparam{name}{The toolbar window name.}
\wxheading{Return value}
A pointer to the the toolbar if it was created successfully, NULL otherwise.
\wxheading{Remarks}
By default, the toolbar is an instance of wxToolBar (which is defined to be
a suitable toolbar class on each platform, such as wxToolBar95). To use a different class,
override \helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar}.
When a toolbar has been created with this function, or made known to the frame
with \helpref{wxFrame::SetToolBar}{wxframesettoolbar}, the frame will manage the toolbar
position and adjust the return value from \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} to
reflect the available space for application windows.
\wxheading{See also}
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar},\rtfsp
\helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar},\rtfsp
\helpref{wxFrame::SetToolBar}{wxframesettoolbar},\rtfsp
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
\membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
\constfunc{wxMenuBar*}{GetMenuBar}{\void}
@@ -178,6 +231,17 @@ Returns a pointer to the status bar currently associated with the frame (if any)
Gets a temporary pointer to the frame title. See
\helpref{wxFrame::SetTitle}{wxframesettitle}.
\membersection{wxFrame::GetToolBar}\label{wxframegettoolbar}
\func{wxToolBar*}{GetToolBar}{\void}
Returns a pointer to the toolbar currently associated with the frame (if any).
\wxheading{See also}
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
\helpref{wxFrame::SetToolBar}{wxframesettoolbar}
\membersection{wxFrame::Iconize}\label{wxframeiconize}
\func{void}{Iconize}{\param{const bool}{ iconize}}
@@ -269,7 +333,9 @@ If you call wxFrame::LoadAccelerators, you need to override this function e.g.
\membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}}
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}
\param{long}{ style},
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
Virtual function called when a status bar is requested by \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}.
@@ -277,6 +343,14 @@ Virtual function called when a status bar is requested by \helpref{wxFrame::Crea
\docparam{number}{The number of fields to create.}
\docparam{style}{The window style. See \helpref{wxStatusBar}{wxstatusbar} for a list
of valid styles.}
\docparam{id}{The window identifier. If -1, an identifier will be chosen by
wxWindows.}
\docparam{name}{The window name.}
\wxheading{Return value}
A status bar object.
@@ -290,6 +364,36 @@ implementation returns an instance of \helpref{wxStatusBar}{wxstatusbar}.
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar}.
\membersection{wxFrame::OnCreateToolBar}\label{wxframeoncreatetoolbar}
\func{virtual wxToolBar*}{OnCreateToolBar}{\param{long}{ style},
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
Virtual function called when a toolbar is requested by \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
\wxheading{Parameters}
\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
of valid styles.}
\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
wxWindows.}
\docparam{name}{The toolbar window name.}
\wxheading{Return value}
A toolbar object.
\wxheading{Remarks}
An application can override this function to return a different kind of toolbar. The default
implementation returns an instance of \helpref{wxToolBar}{wxtoolbar}.
\wxheading{See also}
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar}.
\membersection{wxFrame::OnMenuCommand}\label{wxframeonmenucommand}
\func{void}{OnMenuCommand}{\param{wxCommandEvent\&}{ event}}
@@ -388,6 +492,17 @@ Note that it is not possible to call this function twice for the same frame obje
\helpref{wxFrame::GetMenuBar}{wxframegetmenubar}, \helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}.
\membersection{wxFrame::SetStatusBar}\label{wxframesetstatusbar}
\func{void}{SetStatusBar}{\param{wxStatusBar*}{ statusBar}}
Associates a status bar with the frame.
\wxheading{See also}
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar},\rtfsp
\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
\membersection{wxFrame::SetStatusText}\label{wxframesetstatustext}
\func{virtual void}{SetStatusText}{\param{const wxString\& }{ text}, \param{int}{ number = 0}}
@@ -429,6 +544,17 @@ The widths of the variable fields are calculated from the total width of all fie
minus the sum of widths of the non-variable fields, divided by the number of
variable fields.
\membersection{wxFrame::SetToolBar}\label{wxframesettoolbar}
\func{void}{SetToolBar}{\param{wxToolBar*}{ toolBar}}
Associates a toolbar with the frame.
\wxheading{See also}
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
\membersection{wxFrame::SetTitle}\label{wxframesettitle}
\func{virtual void}{SetTitle}{\param{const wxString\& }{ title}}

View File

@@ -479,113 +479,6 @@ This function is only available under Windows.
Globally sets the cursor; only has an effect in MS Windows.
See also \helpref{wxCursor}{wxcursor}, \helpref{wxWindow::SetCursor}{wxwindowsetcursor}.
\section{System event functions}
The wxWindows system event implementation is incomplete and
experimental, but is intended to be a platform-independent way of
intercepting and sending events, including defining
application-specific events and handlers.
Ultimately it is intended to be used as a way of testing wxWindows
applications using scripts, although there are currently
problems with this (especially with modal dialogs).
All this is documented more to provoke comments and suggestions, and
jog my own memory, rather than to be used, since it has not been
tested. However {\bf wxSendEvent} will probably work if you
instantiate the event structure properly for a command event type (see
the code in {\tt wb\_panel.cpp} for \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
which uses {\bf wxSendEvent} to send a command to the default button).
\membersection{::wxAddPrimaryEventHandler}
\func{bool}{wxAddPrimaryEventHandler}{\param{wxEventHandler}{ handlerFunc}}
Add a primary event handler---the normal event handler for this
event. For built-in events, these would include moving and resizing
windows. User-defined primary events might include the code to
select an image in a diagram (which could of course be achieved by a series
of external events for mouse-clicking, but would be more difficult to specify
and less robust).
Returns TRUE if it succeeds.
An event handler takes a pointer to a wxEvent and a boolean flag which is
TRUE if the event was externally generated, and returns a boolean which is
TRUE if that event was handled.
\membersection{::wxAddSecondaryEventHandler}
\func{bool}{wxAddSecondaryEventHandler}{\param{wxEventHandler}{ handlerFunc}, \param{bool}{ pre},\\
\param{bool}{ override}, \param{bool }{append}}
Add a secondary event handler, pre = TRUE iff it should be called before the
event is executed. override = TRUE iff the handler is allowed to override
all subsequent events by returning TRUE. Returns TRUE if succeeds.
A secondary event handler is an application-defined handler that may
intercept normal events, possibly overriding them. A primary event handler
provides the normal behaviour for the event.
An event handler takes a pointer to a wxEvent and a boolean flag which is
TRUE if the event was externally generated, and returns a boolean which is
TRUE if that event was handled.
\membersection{::wxNotifyEvent}
\func{bool}{wxNotifyEvent}{\param{wxEvent\&}{ event}, \param{bool}{ pre}}
Notify the system of the event you are about to execute/have just
executed. If TRUE is returned and pre = TRUE, the calling code should
not execute the event (since it has been intercepted by a handler and
vetoed).
These events are always internal, because they're generated from within
the main application code.
\membersection{::wxRegisterEventClass}
\func{void}{wxRegisterEventClass}{\param{WXTYPE}{ eventClassId},\param{WXTYPE}{ superClassId},\\
\param{wxEventConstructor}{ constructor}, \param{const wxString\& }{description}}
Register a new event class (derived from wxEvent), giving the new
event class type, its superclass, a function for creating a new event
object of this class, and an optional description.
\membersection{::wxRegisterEventName}
\func{void}{wxRegisterEventName}{\param{WXTYPE}{ eventTypeId},\param{WXTYPE}{ eventClassId},\\
\param{const wxString\& }{eventName}}
Register the name of the event. This will allow a simple command
language where giving the event type name and some arguments will
cause a new event of class {\it eventClassId} to be created, with given
event type, and some arguments, allows an event to be dynamically
constructed and sent.
\membersection{::wxRegisterExternalEventHandlers}
\func{void}{wxRegisterExternalEventHandlers}{\void}
Define this and link before wxWindows library to allow registering
events from `outside' the main application.
\membersection{::wxRemoveSecondaryEventHandler}
\func{bool}{wxRemoveSecondaryEventHandler}{\param{wxEventHandler}{ handlerFunc}, \param{bool}{ pre}}
Remove a secondary event handler. Returns TRUE if it succeeds.
\membersection{::wxSendEvent}\label{wxsendevent}
\func{bool}{wxSendEvent}{\param{wxEvent\&}{ event}, \param{bool}{ external}}
Send an event to the system; usually it will be external, but set
external to FALSE if calling from within the main application in
response to other events.
Returns TRUE if the event was processed.
\section{Printer settings}\label{printersettings}
The following functions are used to control PostScript printing. Under
@@ -857,6 +750,8 @@ each wxDebugMsg call. wxDebugMsg seems to be broken under WIN32s
(at least for Watcom C++): preformat your messages and use OutputDebugString
instead.
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
\membersection{::wxDisplaySize}
\func{void}{wxDisplaySize}{\param{int *}{width}, \param{int *}{height}}
@@ -1228,6 +1123,8 @@ Converts the character to upper case. This is implemented as a macro for efficie
Takes printf-style variable argument syntax. Output
is directed to the current output stream (see \helpref{wxDebugContext}{wxdebugcontextoverview}).
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
\membersection{::wxTraceLevel}\label{wxtracelevel}
\func{void}{wxTraceLevel}{\param{int}{ level}, \param{const wxString\& }{fmt}, \param{...}{}}
@@ -1238,6 +1135,8 @@ The first argument should be the level at which this information is appropriate.
It will only be output if the level returned by wxDebugContext::GetLevel is equal to or greater than
this value.
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
\membersection{::wxWriteResource}\label{wxwriteresource}
\func{bool}{wxWriteResource}{\param{const wxString\& }{section}, \param{const wxString\& }{entry},
@@ -1462,6 +1361,8 @@ base classes.
Calls wxTrace with printf-style variable argument syntax. Output
is directed to the current output stream (see \helpref{wxDebugContext}{wxdebugcontextoverview}).
This macro is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
\membersection{WXTRACELEVEL}\label{tracelevel}
\func{}{WXTRACELEVEL}{level, formatString, ...}
@@ -1472,6 +1373,8 @@ The first argument should be the level at which this information is appropriate.
It will only be output if the level returned by wxDebugContext::GetLevel is equal to or greater than
this value.
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
\section{wxWindows resource functions}\label{resourcefuncs}
\overview{wxWindows resource system}{resourceformats}
@@ -1667,3 +1570,148 @@ is no connection between names used in resources, and the global bitmap data.
Another name for \helpref{wxResourceRegisterBitmapData}{registerbitmapdata}.
\section{Log functions}\label{logfunctions}
These functions provide a variety of logging functions: see \helpref{Log classes overview}{wxlogoverview} for
further information.
\membersection{::wxLogError}\label{wxlogerror}
\func{void}{wxLogError}{\param{const char*}{ formatString}, \param{...}{}}
The function to use for error messages, i.e. the
messages that must be shown to the user. The default processing is to pop up a
message box to inform the user about it.
\membersection{::wxLogFatalError}\label{wxlogfatalerror}
\func{void}{wxLogFatalError}{\param{const char*}{ formatString}, \param{...}{}}
Like \helpref{wxLogError}{wxlogerror}, but also
terminates the program with the exit code 3. Using {\it abort()} standard
function also terminates the program with this exit code.
\membersection{::wxLogWarning}\label{wxlogwarning}
\func{void}{wxLogWarning}{\param{const char*}{ formatString}, \param{...}{}}
For warnings - they are also normally shown to the
user, but don't interrupt the program work.
\membersection{::wxLogMessage}\label{wxlogmessage}
\func{void}{wxLogMessage}{\param{const char*}{ formatString}, \param{...}{}}
for all normal, informational messages. They also
appear in a message box by default (but it can be changed). Notice
that the standard behaviour is to not show informational messages if there are
any errors later - the logic being that the later error messages make the
informational messages preceding them meaningless.
\membersection{::wxLogVerbose}\label{wxlogverbose}
\func{void}{wxLogVerbose}{\param{const char*}{ formatString}, \param{...}{}}
For verbose output. Normally, it's suppressed, but
might be activated if the user wishes to know more details about the program
progress (another, but possibly confusing name for the same function is {\bf wxLogInfo}).
\membersection{::wxLogStatus}\label{wxlogstatus}
\func{void}{wxLogStatus}{\param{const char*}{ formatString}, \param{...}{}}
For status messages - they will go into the status
bar of the active or specified (as the first argument) \helpref{wxFrame}{wxframe} if it has one.
\membersection{::wxLogSysError}\label{wxlogsyserror}
\func{void}{wxLogSysError}{\param{const char*}{ formatString}, \param{...}{}}
Mostly used by wxWindows itself, but might be
handy for logging errors after system call (API function) failure. It logs the
specified message text as well as the last system error code ({\it errno} or {\it ::GetLastError()} depending
on the platform) and the corresponding error
message. The second form of this function takes the error code explitly as the
first argument.
\membersection{::wxLogDebug}\label{wxlogdebug}
\func{void}{wxLogDebug}{\param{const char*}{ formatString}, \param{...}{}}
The right function for debug output. It only
does anything at all in the debug mode (when the preprocessor symbol \_\_WXDEBUG\_\_ is defined)
and expands to nothing in release mode (otherwise).
\membersection{::wxLogTrace}\label{wxlogtrace}
\func{void}{wxLogTrace}{\param{const char*}{ formatString}, \param{...}{}}
\func{void}{wxLogTrace}{\param{wxTraceMask}{ mask}, \param{const char*}{ formatString}, \param{...}{}}
As {\bf wxLogDebug}, only does something in debug
build. The reason for making it a separate function from it is that usually
there are a lot of trace messages, so it might make sense to separate them
from other debug messages which would be flooded in them. Moreover, the second
version of this function takes a trace mask as the first argument which allows
to further restrict the amount of messages generated. The value of {\it mask} can be:
\begin{itemize}\itemsep=0pt
\item wxTraceMemAlloc: trace memory allocation (new/delete)
\item wxTraceMessages: trace window messages/X callbacks
\item wxTraceResAlloc: trace GDI resource allocation
\item wxTraceRefCount: trace various ref counting operations
\end{itemize}
\section{Debugging macros and functions}\label{debugmacros}
Useful macros and functins for error checking and defensive programming. ASSERTs are only
compiled if \_\_WXDEBUG\_\_ is defined, whereas CHECK macros stay in release
builds.
\membersection{::wxOnAssert}\label{wxonassert}
\func{void}{wxOnAssert}{\param{const char*}{ fileName}, \param{int}{ lineNumber}, \param{const char*}{ msg = NULL}}
This function may be redefined to do something non trivial and is called
whenever one of debugging macros fails (i.e. condition is false in an
assertion). TODO: this should probably be an overridable in wxApp.
\membersection{wxASSERT}\label{wxassert}
\func{}{wxASSERT}{\param{}{condition}}
Assert macro. An error message will be generated if the condition is FALSE.
\membersection{wxASSERT\_MSG}\label{wxassertmsg}
\func{}{wxASSERT\_MSG}{\param{}{condition}, \param{}{msg}}
Assert macro with message. An error message will be generated if the condition is FALSE.
\membersection{wxFAIL}\label{wxfail}
\func{}{wxFAIL}{\param{}{condition}}
Will always generate an assert error if this code is reached (in debug mode).
\membersection{wxFAIL\_MSG}\label{wxfailmsg}
\func{}{wxFAIL\_MSG}{\param{}{condition}, \param{}{msg}}
Will always generate an assert error with specified message if this code is reached (in debug mode).
\membersection{wxCHECK}\label{wxcheck}
\func{}{wxCHECK}{\param{}{condition}, \param{}{retValue}}
Checks that the condition is true, returns with the given return value if not (FAILs in debug mode).
This check is done even in release mode.
\membersection{wxCHECK\_MSG}\label{wxcheckmsg}
\func{}{wxCHECK\_MSG}{\param{}{condition}, \param{}{retValue}, \param{}{msg}}
Checks that the condition is true, returns with the given return value if not (FAILs in debug mode).
This check is done even in release mode.

View File

@@ -21,6 +21,10 @@ There are no user commands for the gauge.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
wxGauge is read-only so generates no events.
\wxheading{See also}
\helpref{wxSlider}{wxslider}, \helpref{wxScrollBar}{wxscrollbar}

View File

@@ -1,11 +1,8 @@
\section{\class{wxHelpControllerBase}}\label{wxhelpcontrollerbase}
\section{\class{wxHelpController}}\label{wxhelpcontroller}
This class defines the interface by which
This is a family of classes by which
applications may invoke a help viewer to provide on-line help.
Other classes derive from this class to provide actual implementations
of help controllers.
A help controller allows an application to display help, at the contents
or at a particular topic, and shut the help program down on termination.
This avoids proliferation of many instances of the help viewer whenever the
@@ -16,36 +13,42 @@ when it starts, and immediately call {\bf Initialize}\rtfsp
to associate a filename with it. The help viewer will only get run, however,
just before the first call to display something.
Although all help controller classes actually derive from wxHelpControllerBase and have
names of the form wxXXXHelpController, the
appropriate class is aliased to the name wxHelpController for each platform.
There are currently the following help controller classes defined:
\begin{itemize}\itemsep=0
\item wxWinHelpController, for controlling Windows Help.
\item wxExtHelpController, for controlling external browsers under Unix.
The default browser is Netscape Navigator.
\end{itemize}
\wxheading{Derivation}
wxHelpControllerBase\\
\helpref{wxObject}{wxobject}
\wxheading{See also}
\helpref{wxWinHelpController}{wxwinhelpcontroller}
\wxheading{Include file}
{\tt <wx/helpbase.h>} (for just wxHelpControllerBase)
{\tt <wx/help.h>} (to include the platform-specific controller, e.g. wxWinHelpController)
{\tt <wx/help.h>}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHelpControllerBase::wxHelpControllerBase}
\membersection{wxHelpController::wxHelpController}
\func{}{wxHelpControllerBase}{\void}
\func{}{wxHelpController}{\void}
Constructs a help instance object, but does not invoke the help viewer.
\membersection{wxHelpControllerBase::\destruct{wxHelpControllerBase}}
\membersection{wxHelpController::\destruct{wxHelpController}}
\func{}{\destruct{wxHelpControllerBase}}{\void}
\func{}{\destruct{wxHelpController}}{\void}
Destroys the help instance, closing down the viewer if it is running.
\membersection{wxHelpControllerBase::Initialize}\label{wxhelpcontrollerbaseinitialize}
\membersection{wxHelpController::Initialize}\label{wxhelpcontrollerinitialize}
\func{virtual void}{Initialize}{\param{const wxString\& }{file}}
@@ -58,7 +61,7 @@ any attempts to communicate with the viewer.
You may omit the file extension and a suitable one will be chosen.
\membersection{wxHelpControllerBase::DisplayBlock}\label{wxhelpcontrollerbasedisplayblock}
\membersection{wxHelpController::DisplayBlock}\label{wxhelpcontrollerdisplayblock}
\func{virtual bool}{DisplayBlock}{\param{long}{ blockNo}}
@@ -66,14 +69,14 @@ If the help viewer is not running, runs it and displays the file at the given bl
The interpretation of {\it blockNo} differs between help viewers. If using Windows Help, this
refers to the context number. If wxHelp, this is the wxHelp block number.
\membersection{wxHelpControllerBase::DisplayContents}\label{wxhelpcontrollerbasedisplaycontents}
\membersection{wxHelpController::DisplayContents}\label{wxhelpcontrollerdisplaycontents}
\func{virtual bool}{DisplayContents}{\void}
If the help viewer is not running, runs it and displays the
contents.
\membersection{wxHelpControllerBase::DisplaySection}\label{wxhelpcontrollerbasedisplaysection}
\membersection{wxHelpController::DisplaySection}\label{wxhelpcontrollerdisplaysection}
\func{virtual bool}{DisplaySection}{\param{int}{ sectionNo}}
@@ -84,7 +87,7 @@ For wxHelp, section numbers may be viewed by running wxHelp in edit mode.
DisplaySection does not apply to WinHelp.
\membersection{wxHelpControllerBase::KeywordSearch}\label{wxhelpcontrollerbasekeywordsearch}
\membersection{wxHelpController::KeywordSearch}\label{wxhelpcontrollerkeywordsearch}
\func{virtual bool}{KeywordSearch}{\param{const wxString\& }{keyWord}}
@@ -93,7 +96,7 @@ match is found, the file is displayed at this section. If more than one
match is found, the Search dialog is displayed with the matches (wxHelp)
or the first topic is displayed (Windows Help).
\membersection{wxHelpControllerBase::LoadFile}\label{wxhelpcontrollerbaseloadfile}
\membersection{wxHelpController::LoadFile}\label{wxhelpcontrollerloadfile}
\func{virtual bool}{LoadFile}{\param{const wxString\& }{file = NULL}}
@@ -104,15 +107,15 @@ already displaying the specified file, it will not be reloaded. This
member function may be used before each display call in case the user
has opened another file.
\membersection{wxHelpControllerBase::OnQuit}\label{wxhelpcontrollerbaseonquit}
\membersection{wxHelpController::OnQuit}\label{wxhelpcontrolleronquit}
\func{virtual bool}{OnQuit}{\void}
Overridable member called when this application's viewer is quit by the user.
This only works for wxXLPHelpController.
This does not work for all help controllers.
\membersection{wxHelpControllerBase::Quit}\label{wxhelpcontrollerbasequit}
\membersection{wxHelpController::Quit}\label{wxhelpcontrollerquit}
\func{virtual bool}{Quit}{\void}

View File

@@ -147,11 +147,11 @@ Gets the position of the fifth axis of the joystick, if it exists.
Returns the maximum V position.
\membersection{wxJoystick::GetUMin}\label{wxjoystickgetumin}
\membersection{wxJoystick::GetVMin}\label{wxjoystickgetvmin}
\constfunc{int}{GetUMin}{\void}
\constfunc{int}{GetVMin}{\void}
Returns the minimum U position.
Returns the minimum V position.
\membersection{wxJoystick::GetVPosition}\label{wxjoystickgetvposition}

84
docs/latex/wx/keycode.tex Normal file
View File

@@ -0,0 +1,84 @@
\section{Keycodes}\label{keycodes}
Keypresses are represented by an enumerated type, wxKeyCode. The possible values
are the ASCII character codes, plus the following:
{\small
\begin{verbatim}
WXK_BACK = 8
WXK_TAB = 9
WXK_RETURN = 13
WXK_ESCAPE = 27
WXK_SPACE = 32
WXK_DELETE = 127
WXK_START = 300
WXK_LBUTTON
WXK_RBUTTON
WXK_CANCEL
WXK_MBUTTON
WXK_CLEAR
WXK_SHIFT
WXK_CONTROL
WXK_MENU
WXK_PAUSE
WXK_CAPITAL
WXK_PRIOR
WXK_NEXT
WXK_END
WXK_HOME
WXK_LEFT
WXK_UP
WXK_RIGHT
WXK_DOWN
WXK_SELECT
WXK_PRINT
WXK_EXECUTE
WXK_SNAPSHOT
WXK_INSERT
WXK_HELP
WXK_NUMPAD0
WXK_NUMPAD1
WXK_NUMPAD2
WXK_NUMPAD3
WXK_NUMPAD4
WXK_NUMPAD5
WXK_NUMPAD6
WXK_NUMPAD7
WXK_NUMPAD8
WXK_NUMPAD9
WXK_MULTIPLY
WXK_ADD
WXK_SEPARATOR
WXK_SUBTRACT
WXK_DECIMAL
WXK_DIVIDE
WXK_F1
WXK_F2
WXK_F3
WXK_F4
WXK_F5
WXK_F6
WXK_F7
WXK_F8
WXK_F9
WXK_F10
WXK_F11
WXK_F12
WXK_F13
WXK_F14
WXK_F15
WXK_F16
WXK_F17
WXK_F18
WXK_F19
WXK_F20
WXK_F21
WXK_F22
WXK_F23
WXK_F24
WXK_NUMLOCK
WXK_SCROLL
\end{verbatim}
}

View File

@@ -35,84 +35,7 @@ TRUE if control is pressed down.
\member{long}{m\_keyCode}
Virtual keycode. An enumerated type, one of:
\begin{verbatim}
WXK_BACK = 8
WXK_TAB = 9
WXK_RETURN = 13
WXK_ESCAPE = 27
WXK_SPACE = 32
WXK_DELETE = 127
WXK_START = 300
WXK_LBUTTON
WXK_RBUTTON
WXK_CANCEL
WXK_MBUTTON
WXK_CLEAR
WXK_SHIFT
WXK_CONTROL
WXK_MENU
WXK_PAUSE
WXK_CAPITAL
WXK_PRIOR
WXK_NEXT
WXK_END
WXK_HOME
WXK_LEFT
WXK_UP
WXK_RIGHT
WXK_DOWN
WXK_SELECT
WXK_PRINT
WXK_EXECUTE
WXK_SNAPSHOT
WXK_INSERT
WXK_HELP
WXK_NUMPAD0
WXK_NUMPAD1
WXK_NUMPAD2
WXK_NUMPAD3
WXK_NUMPAD4
WXK_NUMPAD5
WXK_NUMPAD6
WXK_NUMPAD7
WXK_NUMPAD8
WXK_NUMPAD9
WXK_MULTIPLY
WXK_ADD
WXK_SEPARATOR
WXK_SUBTRACT
WXK_DECIMAL
WXK_DIVIDE
WXK_F1
WXK_F2
WXK_F3
WXK_F4
WXK_F5
WXK_F6
WXK_F7
WXK_F8
WXK_F9
WXK_F10
WXK_F11
WXK_F12
WXK_F13
WXK_F14
WXK_F15
WXK_F16
WXK_F17
WXK_F18
WXK_F19
WXK_F20
WXK_F21
WXK_F22
WXK_F23
WXK_F24
WXK_NUMLOCK
WXK_SCROLL
\end{verbatim}
Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers.
\membersection{wxKeyEvent::m\_metaDown}
@@ -174,7 +97,7 @@ Returns the Y position of the event.
Returns the virtual key code. ASCII events return normal ASCII values,
while non-ASCII events return values such as {\bf WXK\_LEFT} for the
left cursor key. See {\tt wx\_defs.h} for a full list of the virtual key codes.
left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual key codes.
\membersection{wxKeyEvent::MetaDown}

133
docs/latex/wx/layalgor.tex Normal file
View File

@@ -0,0 +1,133 @@
\section{\class{wxLayoutAlgorithm}}\label{wxlayoutalgorithm}
wxLayoutAlgorithm implements layout of subwindows in MDI or SDI frames.
It sends a wxCalculateLayoutEvent event
to children of the frame, asking them for information about
their size. For MDI parent frames, the algorithm allocates
the remaining space to the MDI client window (which contains the MDI child frames).
For SDI (normal) frames, a 'main' window is specified as taking up the
remaining space.
Because the event system is used, this technique can be applied to any windows,
which are not necessarily 'aware' of the layout classes (no virtual functions
in wxWindow refer to wxLayoutAlgorithm or its events). However, you
may wish to use \helpref{wxSashLayoutWindow}{wxsashlayoutwindow} for your subwindows
since this class provides handlers for the required events, and accessors
to specify the desired size of the window. The sash behaviour in the base class
can be used, optionally, to make the windows user-resizable.
wxLayoutAlgorithm is typically used in IDE (integrated development environment) applications,
where there are several resizable windows in addition to the MDI client window, or
other primary editing window. Resizable windows might include toolbars, a project
window, and a window for displaying error and warning messages.
When a window receives an OnCalculateLayout event, it should call SetRect in
the given event object, to be the old supplied rectangle minus whatever space the
window takes up. It should also set its own size accordingly.
wxSashLayoutWindow::OnCalculateLayout generates an OnQueryLayoutInfo event
which it sends to itself to determine the orientation, alignment and size of the window,
which it gets from internal member variables set by the application.
The algorithm works by starting off with a rectangle equal to the whole frame client area.
It iterates through the frame children, generating OnCalculateLayout events which subtract
the window size and return the remaining rectangle for the next window to process. It
is assumed (by wxSashLayoutWindow::OnCalculateLayout) that a window stretches the full dimension
of the frame client, according to the orientation it specifies. For example, a horizontal window
will stretch the full width of the remaining portion of the frame client area.
In the other orientation, the window will be fixed to whatever size was specified by
OnQueryLayoutInfo. An alignment setting will make the window 'stick' to the left, top, right or
bottom of the remaining client area. This scheme implies that order of window creation is important.
Say you wish to have an extra toolbar at the top of the frame, a project window to the left of
the MDI client window, and an output window above the status bar. You should therefore create
the windows in this order: toolbar, output window, project window. This ensures that the toolbar and
output window take up space at the top and bottom, and then the remaining height inbetween is used for
the project window.
wxLayoutAlgorithm is quite independent of the way in which
OnCalculateLayout chooses to interpret a window's size and alignment. Therefore you
could implement a different window class with a new OnCalculateLayout event handler,
that has a more sophisticated way of laying out the windows. It might allow
specification of whether stretching occurs in the specified orientation, for example,
rather than always assuming stretching. (This could, and probably should, be added to the existing
implementation).
{\it Note:} wxLayoutAlgorithm has nothing to do with wxLayoutConstraints. It is an alternative
way of specifying layouts for which the normal constraint system is unsuitable.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Event handling}
The algorithm object does not respond to events, but itself generates the
following events in order to calculate window sizes.
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_QUERY\_LAYOUT\_INFO(func)}}{Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
to get size, orientation and alignment from a window. See \helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}.}
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.
See \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}.}
\end{twocollist}
\wxheading{Data types}
{\small
\begin{verbatim}
enum wxLayoutOrientation {
wxLAYOUT_HORIZONTAL,
wxLAYOUT_VERTICAL
};
enum wxLayoutAlignment {
wxLAYOUT_NONE,
wxLAYOUT_TOP,
wxLAYOUT_LEFT,
wxLAYOUT_RIGHT,
wxLAYOUT_BOTTOM,
};
\end{verbatim}
}
\wxheading{See also}
\helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview}
\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent},\rtfsp
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
\helpref{wxSashWindow}{wxsashwindow}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLayoutAlgorithm::wxLayoutAlgorithm}
\func{}{wxLayoutAlgorithm}{\void}
Default constructor.
\membersection{wxLayoutAlgorithm::\destruct{wxLayoutAlgorithm}}
\func{}{\destruct{wxLayoutAlgorithm}}{\void}
Destructor.
\membersection{wxLayoutAlgorithm::LayoutMDIFrame}\label{wxlayoutalgorithmlayoutmdiframe}
\constfunc{bool}{LayoutMDIFrame}{\param{wxMDIParentFrame* }{frame}, \param{wxRect*}{ rect = NULL}}
Lays out the children of an MDI parent frame. If {\it rect} is non-NULL, the
given rectangle will be used as a starting point instead of the frame's client area.
The MDI client window is set to occupy the remaining space.
\membersection{wxLayoutAlgorithm::LayoutFrame}\label{wxlayoutalgorithmlayoutframe}
\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow}}
Lays out the children of a normal frame.
{\it mainWindow} is set to occupy the remaining space.

View File

@@ -36,9 +36,20 @@ select multiple items using the SHIFT key and the mouse or special key combinati
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED event,
when an item on the list is selected.}
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
when the listbox is doubleclicked.}
\end{twocollist}
\wxheading{See also}
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl}
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
\latexignore{\rtfignore{\wxheading{Members}}}

View File

@@ -35,6 +35,28 @@ the list wraps, unlike a wxListBox.}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
To process input from a list control, use these event handler macros to direct input to member
functions that take a \helpref{wxListEvent}{wxlistevent} argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_LIST\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
\twocolitem{{\bf EVT\_LIST\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
\twocolitem{{\bf EVT\_LIST\_DELETE\_ITEM(id, func)}}{Delete an item.}
\twocolitem{{\bf EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)}}{Delete all items.}
\twocolitem{{\bf EVT\_LIST\_GET\_INFO(id, func)}}{Request information from the application, usually the item text.}
\twocolitem{{\bf EVT\_LIST\_SET\_INFO(id, func)}}{Information is being supplied (not implemented).}
\twocolitem{{\bf EVT\_LIST\_ITEM\_SELECTED(id, func)}}{The item has been selected.}
\twocolitem{{\bf EVT\_LIST\_ITEM\_DESELECTED(id, func)}}{The item has been deselected.}
\twocolitem{{\bf EVT\_LIST\_KEY\_DOWN(id, func)}}{A key has been pressed.}
\twocolitem{{\bf EVT\_LIST\_INSERT\_ITEM(id, func)}}{An item has been inserted.}
\twocolitem{{\bf EVT\_LIST\_COL\_CLICK(id, func)}}{A column ({\bf m\_col}) has been left-clicked.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp

186
docs/latex/wx/log.tex Normal file
View File

@@ -0,0 +1,186 @@
\section{\class{wxLog}}\label{wxlog}
wxLog class defines the interface for the {\it log targets} used by wxWindows
logging functions as explained in the \helpref{wxLog overview}{wxlogoverview}.
The only situations when you need to directly use this class is when you want
to derive your own log target because the existing ones don't satisfy your
needs. Another case is if you wish to customize the behaviour of the standard
logging classes (all of which respect the wxLog settings): for example, set
which trace messages are logged and which are not or change (or even remove
completely) the timestamp on the messages.
Otherwise, it is completely hidden behind the {\it wxLogXXX()} functions and
you may not even know about its existence.
See \helpref{log overview}{wxlogoverview} for the descriptions of wxWindows
logging facilities.
\wxheading{Derived from}
No base class
\latexignore{\rtfignore{\wxheading{Function groups}}}
\membersection{Static functions}
The functions in this section work with and manipulate the active log target.
The {\it OnLog()} is called by the {\it wxLogXXX()} functions and invokes the
{\it DoLog()} of the active log target if any. Get/Set methods are used to
install/query the current active target and, finally, {\it
DontCreateOnDemand()} disables the automatic creation of a standard log target
if none actually exists. It is only useful when the application is terminating
and shouldn't be used in other situations because it may easily lead to a loss
of messages.
\helpref{OnLog}{wxlogonlog}\\
\helpref{GetActiveTarget}{wxloggetactivetarget}\\
\helpref{SetActiveTarget}{wxlogsetactivetarget}\\
\helpref{DontCreateOnDemand}{wxlogdontcreateondemand}
\membersection{Message buffering}
Some of wxLog implementations, most notably the standard
wxLogGui class, buffer the messages (for example, to avoid
showing the user a zillion of modal message boxes one after another - which
would be really annoying). {\it Flush()} shows them all and clears the buffer
contents. Although this function doesn't do anything if the buffer is already
empty, {\it HasPendingMessages()} is also provided which allows to explicitly
verify it.
\helpref{Flush}{wxlogflush}\\
\helpref{HasPendingMessages}{haspendingmessages}
\membersection{Customization}\label{wxlogcustomization}
The functions below allow some limited customization of wxLog behaviour
without writing a new log target class (which, aside of being a matter of
several minutes, allows you to do anything you want).
The verbose messages are the trace messages which are not disabled in the
release mode and are generated by {\it wxLogVerbose()}. They are not normally
shown to the user because they present little interest, but may be activated,
for example, in order to help the user find some program problem.
As for the (real) trace messages, they come in different kinds:
\begin{itemize}\itemsep=0pt
\item{wxTraceMemAlloc} for the messages about creating and deleting objects
\item{wxTraceMessages} for tracing the windowing system messages/events
\item{wxTraceResAlloc} for allocating and releasing the system ressources
\item{wxTraceRefCount} for reference counting related messages
\item{wxTraceOleCalls} for the OLE (or COM) method invocations (wxMSW only)
\item{other} the remaining bits are free for user-defined trace levels
\end{itemize}
The trace mask is a bit mask which tells which (if any) of these trace
messages are going to be actually logged. For the trace message to appear
somewhere, all the bits in the mask used in the call to {\it wxLogTrace()}
function must be set in the current trace mask. For example,
\begin{verbatim}
wxLogTrace(wxTraceRefCount | wxTraceOle, "Active object ref count: %d", nRef);
\end{verbatim}
will do something only if the current trace mask contains both wxTraceRefCount
and wxTraceOle.
Finally, the {\it wxLog::DoLog()} function automatically prepends a time stamp
to all the messages. The format of the time stamp may be changed: it can be
any string with \% specificators fully described in the documentation of the
standard {\it strftime()} function. For example, the default format is
"[\%d/\%b/\%y \%H:\%M:\%S] " which gives something like "[17/Sep/98 22:10:16] "
(without quotes) for the current date. Setting an empty string as the time
format disables timestamping of the messages completely.
\helpref{SetVerbose}{wxlogsetverbose}\\
\helpref{GetVerbose}{wxloggetverbose}\\
\helpref{SetTimeStampFormat}{wxlogsettimestampformat}\\
\helpref{GetTimeStampFormat}{wxloggettimestampformat}\\
\helpref{SetTraceMask}{wxlogsettracemask}\\
\helpref{GetTraceMask}{wxloggettracemask}
%%%%% MEMBERS HERE %%%%%
\helponly{\insertatlevel{2}{
\wxheading{Members}
}}
\membersection{wxLog::OnLog}\label{wxlogonlog}
\func{static void}{OnLog}{\param{wxLogLevel }{ level}, \param{const char * }{ message}}
Forwards the message at specified level to the {\it DoLog()} function of the
active log target if there is any, does nothing otherwise.
\membersection{wxLog::GetActiveTarget}\label{wxloggetactivetarget}
\func{static wxLog *}{GetActiveTarget}{\void}
Returns the pointer to the active log target (may be NULL).
\membersection{wxLog::SetActiveTarget}\label{wxlogsetactivetarget}
\func{static wxLog *}{SetActiveTarget}{\param{wxLog * }{ logtarget}}
Sets the specified log target as the active one. Returns the pointer to the
previous active log target (may be NULL).
\membersection{wxLog::DontCreateOnDemand}\label{wxlogdontcreateondemand}
\func{static void}{DontCreateOnDemand}{\void}
Instructs wxLog to not create new log targets on the fly if there is none
currently. (Almost) for internal use only.
\membersection{wxLog::Flush}\label{wxlogflush}
\func{virtual void}{Flush}{\void}
Shows all the messages currently in buffer and clears it. If the buffer
is already empty, nothing happens.
\membersection{wxLog::HasPendingMessages}\label{haspendingmessages}
\constfunc{bool}{HasPendingMessages}{\void}
Returns true if there are any messages in the buffer (not yet shown to the
user). (Almost) for internal use only.
\membersection{wxLog::SetVerbose}\label{wxlogsetverbose}
\func{void}{SetVerbose}{\param{bool }{ verbose = TRUE}}
Activates or desactivates verbose mode in which the verbose messages are
logged as the normal ones instead of being silently dropped.
\membersection{wxLog::GetVerbose}\label{wxloggetverbose}
\constfunc{bool}{GetVerbose}{\void}
Returns whether the verbose mode is currently active.
\membersection{wxLog::SetTimeStampFormat}\label{wxlogsettimestampformat}
\func{void}{SetTimeStampFormat}{\param{const char * }{ format}}
Sets the timestamp format prepended by the default log targets to all
messages. The string may contain any normal characters as well as \%
prefixed format specificators, see {\it strftime()} manual for details.
Passing an empty string to this function disables message timestamping.
\membersection{wxLog::GetTimeStampFormat}\label{wxloggettimestampformat}
\constfunc{const char *}{GetTimeStampFormat}{\void}
Returns the current timestamp format string.
\membersection{wxLog::SetTraceMask}\label{wxlogsettracemask}
\func{static void}{SetTraceMask}{\param{wxTraceMask }{ mask}}
Sets the trace mask, see \helpref{Customization}{wxlogcustomization}
section for details.
\membersection{wxLog::GetTraceMask}\label{wxloggettracemask}
Returns the current trace mask, see \helpref{Customization}{wxlogcustomization} section
for details.

View File

@@ -1,4 +1,14 @@
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report}
% JACS: doesn't make it through Tex2RTF, sorry.I'll put it into texhelp.sty
% since Tex2RTF doesn't parse it.
% BTW, style MUST be report for it to work for Tex2RTF.
%KB:
%\addtolength{\textwidth}{1in}
%\addtolength{\oddsidemargin}{-0.5in}
%\addtolength{\topmargin}{-0.5in}
%\addtolength{\textheight}{1in}
%\sloppy
%end of my changes
\newcommand{\indexit}[1]{#1\index{#1}}%
\newcommand{\pipe}[0]{$\|$\ }%
\definecolour{black}{0}{0}{0}%
@@ -16,11 +26,11 @@
\parskip=10pt
\parindent=0pt
\title{User Manual for wxWindows 2.0: a portable C++ GUI toolkit}
\winhelponly{\author{by Julian Smart and Markus Holzem
\winhelponly{\author{by Julian Smart
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
}}
\winhelpignore{\author{Julian Smart}
\date{June 4th 1998}
\date{November 4th 1998}
}
\makeindex
\begin{document}
@@ -75,7 +85,8 @@
\setfooter{\thepage}{}{}{}{}{\thepage}%
\begin{center}
Copyright (c) 1997 Julian Smart and Markus Holzem\\
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
members of the wxWindows team\\
Portions (c) 1996 Artificial Intelligence Applications Institute\\
\end{center}
@@ -89,7 +100,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
UNIVERSITY OF EDINBURGH OR JULIAN SMART OR MARKUS HOLZEM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
UNIVERSITY OF EDINBURGH OR ANY MEMBERS OF THE WXWINDOWS TEAM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF
DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH
@@ -100,6 +111,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
\helpinput{category.tex}
\helpinput{topics.tex}
\begin{comment}
\newpage
% Puts books in the bibliography without needing to cite them in the
@@ -115,6 +127,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
\addcontentsline{toc}{chapter}{Bibliography}
\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
\end{comment}
\newpage
\addcontentsline{toc}{chapter}{Index}

View File

@@ -21,7 +21,7 @@ With a popup menu, there is a variety of ways to handle a menu selection event
\begin{enumerate}\itemsep=0pt
\item Define a callback of type wxFunction, which you pass to the wxMenu constructor.
The callback takes a reference to a window, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}.
The callback takes a reference to the menu, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}.
\item Derive a new class from wxMenu and define event table entries using the EVT\_MENU macro.
\item Set a new event handler for wxMenu, using an object whose class has EVT\_MENU entries.
\item Provide EVT\_MENU handlers in the window which pops up the menu, or in an ancestor of
@@ -525,6 +525,18 @@ Use only after the menubar has been associated with a frame.
\helpref{wxMenuBar::SetLabelTop}{wxmenubarsetlabeltop}
\membersection{wxMenuBar::GetMenu}\label{wxmenubargetmenu}
\constfunc{wxMenu*}{GetMenu}{\param{int}{ menuIndex}}
Returns the menu at {\it menuIndex} (zero-based).
\membersection{wxMenuBar::GetMenuCount}\label{wxmenubargetmenucount}
\constfunc{int}{GetMenuCount}{\void}
Returns the number of menus in this menubar.
\membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
\constfunc{bool}{IsChecked}{\param{int}{ id}}

View File

@@ -141,27 +141,27 @@ Returns TRUE if the item is a separator.
\membersection{wxMenuItem::SetBackgroundColour}\label{wxmenuitemsetbackgroundcolour}
\constfunc{void}{SetBackgroundColour}{\param{const wxColour& }{colour}}
\constfunc{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
Sets the background colour associated with the menu item (Windows only).
\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
\constfunc{void}{SetBitmaps}{\param{const wxBitmap& }{checked},
\param{const wxBitmap& }{unchecked = wxNullBitmap}}
\constfunc{void}{SetBitmaps}{\param{const wxBitmap\& }{checked},
\param{const wxBitmap\& }{unchecked = wxNullBitmap}}
Sets the checked/unchecked bitmaps for the menu item (Windows only). The first bitmap
is also used as the single bitmap for uncheckable menu items.
\membersection{wxMenuItem::SetFont}\label{wxmenuitemsetfont}
\constfunc{void}{SetFont}{\param{const wxFont& }{font}}
\constfunc{void}{SetFont}{\param{const wxFont\& }{font}}
Sets the font associated with the menu item (Windows only).
\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
\constfunc{void}{SetHelp}{\param{const wxString& }{helpString}}
\constfunc{void}{SetHelp}{\param{const wxString\& }{helpString}}
Sets the help string.
@@ -173,14 +173,19 @@ Sets the width of the menu item checkmark bitmap (Windows only).
\membersection{wxMenuItem::SetName}\label{wxmenuitemsetname}
\constfunc{void}{SetName}{\param{const wxString& }{text}}
\constfunc{void}{SetName}{\param{const wxString\& }{text}}
Sets the text associated with the menu item.
\membersection{wxMenuItem::SetTextColour}\label{wxmenuitemsettextcolour}
\constfunc{void}{SetTextColour}{\param{const wxColour& }{colour}}
\constfunc{void}{SetTextColour}{\param{const wxColour\& }{colour}}
Sets the text colour associated with the menu item (Windows only).
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "referenc"
%%% End:

View File

@@ -58,7 +58,7 @@ need for an application to call it.
\membersection{wxModule::OnExit}\label{wxmoduleonexit}
\func{virtual bool}{OnExit}{\void}
\func{virtual void}{OnExit}{\void}
Provide this function with appropriate cleanup for your module.

View File

@@ -26,6 +26,7 @@ functions that take a wxMouseEvent argument.
\twocolitem{{\bf EVT\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
\twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW event.}
\twocolitem{{\bf EVT\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
\twocolitem{{\bf EVT\_MOUSE\_EVENTS(func)}}{Process all mouse events.}
\end{twocollist}%
\latexignore{\rtfignore{\wxheading{Members}}}

259
docs/latex/wx/notebook.tex Normal file
View File

@@ -0,0 +1,259 @@
\section{\class{wxNotebook}}\label{wxnotebook}
This class represents a notebook control, which manages multiple windows with associated tabs.
To use the class, create a wxNotebook object and call \helpref{AddPage}{wxnotebookaddpage} or \helpref{InsertPage}{wxnotebookinsertpage},
passing a window to be used as the page. Do not explicitly delete the window for a page that is currently
managed by wxNotebook.
{\bf wxNotebookPage} is a typedef for wxWindow.
\wxheading{Derived from}
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Event handling}
To process input from a notebook control, use the following event handler macros to direct input to member
functions that take a \helpref{wxNotebookEvent}{wxnotebookevent} argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp
\helpref{wxTabCtrl}{wxtabctrl}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxNotebook::wxNotebook}\label{wxnotebookconstr}
\func{}{wxNotebook}{\void}
Default constructor.
\func{}{wxNotebook}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
\param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
Constructs a notebook control.
\wxheading{Parameters}
\docparam{parent}{The parent window. Must be non-NULL.}
\docparam{id}{The window identifier.}
\docparam{pos}{The window position.}
\docparam{size}{The window size.}
\docparam{style}{The window style. Its value is a bit list of zero or more of {\bf wxTC\_MULTILINE},
{\bf wxTC\_RIGHTJUSTIFY}, {\bf wxTC\_FIXEDWIDTH} and {\bf wxTC\_OWNERDRAW}.}
\membersection{wxNotebook::\destruct{wxNotebook}}
\func{}{\destruct{wxNotebook}}{\void}
Destroys the wxNotebook object.
\membersection{wxNotebook::AddPage}\label{wxnotebookaddpage}
\func{bool}{AddPage}{\param{wxNotebookPage*}{ page},
\param{const wxString\&}{ text},
\param{bool}{ select = FALSE},
\param{int}{ imageId = -1}}
Adds a new page.
\wxheading{Parameters}
\docparam{page}{Specifies the new page.}
\docparam{text}{Specifies the text for the new page.}
\docparam{select}{Specifies whether the page should be selected.}
\docparam{imageId}{Specifies the optional image index for the new page.}
\wxheading{Return value}
TRUE if successful, FALSE otherwise.
\wxheading{Remarks}
Do not delete the page, it will be deleted by the notebook.
\wxheading{See also}
\helpref{wxNotebook::InsertPage}{wxnotebookinsertpage}
\membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection}
\func{void}{AdvanceSelection}{\param{bool}{ forward = TRUE}}
Cycles through the tabs.
\membersection{wxNotebook::Create}\label{wxnotebookcreate}
\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
\param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
Creates a notebook control. See \helpref{wxNotebook::wxNotebook}{wxnotebookconstr} for a description
of the parameters.
\membersection{wxNotebook::DeleteAllPages}\label{wxnotebookdeleteallpages}
\func{bool}{DeleteAllPages}{\void}
Deletes all pages.
\membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage}
\func{bool}{DeletePage}{\param{int}{ page}}
Deletes the specified page.
\membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist}
\constfunc{wxImageList*}{GetImageList}{\void}
Returns the associated image list.
\wxheading{See also}
\helpref{wxImageList}{wximagelist}, \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}
\membersection{wxNotebook::GetPage}\label{wxnotebookgetpage}
\func{wxNotebookPage*}{GetPage}{\param{int}{ page}}
Returns the window at the given page position.
\membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount}
\constfunc{int}{GetPageCount}{\void}
Returns the number of pages in the notebook control.
\membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage}
\constfunc{int}{GetPageImage}{\void}
Returns the image index for the given page.
\membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext}
\constfunc{wxString}{GetPageText}{\void}
Returns the string for the given page.
\membersection{wxNotebook::GetRowCount}\label{wxnotebookgetrowcount}
\constfunc{int}{GetRowCount}{\void}
Returns the number of rows in the notebook control.
\membersection{wxNotebook::GetSelection}\label{wxnotebookgetselection}
\constfunc{int}{GetSelection}{\void}
Returns the currently selected page, or -1 if none was selected.
\membersection{wxNotebook::InsertPage}\label{wxnotebookinsertpage}
\func{bool}{InsertPage}{\param{int}{ index}, \param{wxNotebookPage*}{ page},
\param{const wxString\&}{ text},
\param{bool}{ select = FALSE},
\param{int}{ imageId = -1}}
Inserts a new page at the specified position.
\wxheading{Parameters}
\docparam{index}{Specifies the position for the new page.}
\docparam{page}{Specifies the new page.}
\docparam{text}{Specifies the text for the new page.}
\docparam{select}{Specifies whether the page should be selected.}
\docparam{imageId}{Specifies the optional image index for the new page.}
\wxheading{Return value}
TRUE if successful, FALSE otherwise.
\wxheading{Remarks}
Do not delete the page, it will be deleted by the notebook.
\wxheading{See also}
\helpref{wxNotebook::AddPage}{wxnotebookaddpage}
\membersection{wxNotebook::OnSelChange}\label{wxnotebookonselchange}
\func{void}{OnSelChange}{\param{wxNotebookEvent\&}{ event}}
An event handler function, called when the page selection is changed.
\wxheading{See also}
\helpref{wxNotebookEvent}{wxnotebookevent}
\membersection{wxNotebook::SetImageList}\label{wxnotebooksetimagelist}
\func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
Sets the image list for the page control.
\wxheading{See also}
\helpref{wxImageList}{wximagelist}
\membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding}
\func{void}{SetPadding}{\param{const wxSize\&}{ padding}}
Sets the amount of space around each page's icon and label, in pixels.
\membersection{wxNotebook::SetPageSize}\label{wxnotebooksetpagesize}
\func{void}{SetPageSize}{\param{const wxSize\&}{ size}}
Sets the width and height of the pages.
\membersection{wxNotebook::SetPageImage}\label{wxnotebooksetpageimage}
\func{bool}{SetPageImage}{\param{int}{ page}, \param{int }{image}}
Sets the image index for the given page. {\it image} is an index into
the image list which was set with \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}.
\membersection{wxNotebook::SetPageText}\label{wxnotebooksetpagetext}
\func{bool}{SetPageText}{\param{int}{ page}, \param{const wxString\& }{text}}
Sets the text for the given page.
\membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection}
\func{int}{SetSelection}{\param{int}{ page}}
Sets the selection for the given page, returning the previous selection.
\wxheading{See also}
\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}

66
docs/latex/wx/noteevt.tex Normal file
View File

@@ -0,0 +1,66 @@
\section{\class{wxNotebookEvent}}\label{wxnotebookevent}
This class represents the events generated by a notebook control.
\wxheading{Derived from}
\helpref{wxCommandEvent}{wxcommandevent}\\
\helpref{wxEvent}{wxevent}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Event table macros}
To process a notebook event, use these event handler macros to direct input to member
functions that take a wxNotebookEvent argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGED(id, func)}}{The page selection was changed. Processes a
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGING(id, func)}}{The page selection is about to be changed.
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxNotebook}{wxnotebook}, \helpref{wxTabCtrl}{wxtabctrl}, \helpref{wxTabEvent}{wxtabevent}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxNotebookEvent::wxNotebookEvent}\label{wxnotebookeventconstr}
\func{}{wxNotebookEvent}{\param{wxEventType}{ eventType = wxEVT\_NULL},
\param{int}{ id = 0}, \param{int}{ sel = -1}, \param{int}{ oldSel = -1}}
Constructor.
\membersection{wxNotebookEvent::GetOldSelection}\label{wxnotebookeventgetoldselection}
\constfunc{int}{GetOldSelection}{\void}
Returns the page that was selected before the change, -1 if none was selected.
\membersection{wxNotebookEvent::GetSelection}\label{wxnotebookeventgetselection}
\constfunc{int}{GetSelection}{\void}
Returns the currently selected page, or -1 if none was selected.
\membersection{wxNotebookEvent::SetOldSelection}\label{wxnotebookeventsetoldselection}
\func{void}{SetOldSelection}{\param{int}{ page}}
Sets the id of the page selected before the change.
\membersection{wxNotebookEvent::SetSelection}\label{wxnotebookeventsetselection}
\func{void}{SetSelection}{\param{int}{ page}}
Sets the selection member variable.
\wxheading{See also}
\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection}

View File

@@ -15,7 +15,8 @@ isn't overriden.
\func{}{wxProcess}{\param{wxEvtHandler *}{ parent = NULL}, \param{int}{ id = -1}}
Constructs a process object. {\it id} is only used in the case you want to
use wxWindows events.
use wxWindows events. It identifies this object, or another window that will
receive the event.
\wxheading{Parameters}
@@ -37,3 +38,4 @@ It is called when the process with the pid {\it pid} finishes.
It raises a wxWindows event when it isn't overriden.
\docparam{pid}{The pid of the process which ends.}

52
docs/latex/wx/procevt.tex Normal file
View File

@@ -0,0 +1,52 @@
\section{\class{wxProcessEvent}}\label{wxprocessevent}
A process event is sent when a process is terminated.
\wxheading{Derived from}
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}
\wxheading{Event table macros}
To process a wxProcessEvent, use these event handler macros to direct input to a member
function that takes a wxProcessEvent argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_END\_PROCESS(id, func)}}{Process a wxEVT\_END\_PROCESS event.
{\it id} is the identifier of the process object (the id passed to the wxProcess constructor)
or a window to receive the event.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxProcess}{wxprocess},\rtfsp
\helpref{Event handling overview}{eventhandlingoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxProcessEvent::wxProcessEvent}
\func{}{wxProcessEvent}{\param{int }{id = 0}, \param{int }{pid = 0}}
Constructor. Takes a wxProcessObject or window id, and a process id.
\membersection{wxProcessEvent::m\_pid}
\member{int}{m\_pid}
Contains the process id.
\membersection{wxProcessEvent::GetPid}\label{wxprocesseventgetpid}
\constfunc{int}{GetPid}{\void}
Returns the process id.
\membersection{wxProcessEvent::SetPid}\label{wxprocesseventsetpid}
\func{void}{SetPid}{\param{int}{ pid}}
Sets the process id.

118
docs/latex/wx/qylayevt.tex Normal file
View File

@@ -0,0 +1,118 @@
\section{\class{wxQueryLayoutInfoEvent}}\label{wxquerylayoutinfoevent}
This event is sent when \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} wishes to get
the size, orientation and alignment of a window. More precisely, the event is sent
by the OnCalculateLayout handler which is itself invoked by wxLayoutAlgorithm.
\wxheading{Derived from}
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}
\wxheading{Event table macros}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_QUERY\_LAYOUT\_INFO(func)}}{Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
to get size, orientation and alignment from a window.}
\end{twocollist}
\wxheading{Data structures}
{\small
\begin{verbatim}
enum wxLayoutOrientation {
wxLAYOUT_HORIZONTAL,
wxLAYOUT_VERTICAL
};
enum wxLayoutAlignment {
wxLAYOUT_NONE,
wxLAYOUT_TOP,
wxLAYOUT_LEFT,
wxLAYOUT_RIGHT,
wxLAYOUT_BOTTOM,
};
\end{verbatim}
}
\wxheading{See also}
\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent},\rtfsp
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxQueryLayoutInfoEvent::wxQueryLayoutInfoEvent}
\func{}{wxQueryLayoutInfoEvent}{\param{wxWindowID }{id = 0}}
Constructor.
\membersection{wxQueryLayoutInfoEvent::GetAlignment}\label{wxquerylayoutinfoeventgetalignment}
\constfunc{void}{GetAlignment}{\void}
Specifies the alignment of the window (which side of the remaining parent client area
the window sticks to). One of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
\membersection{wxQueryLayoutInfoEvent::GetFlags}\label{wxquerylayoutinfoeventgetflags}
\constfunc{int}{GetFlags}{\void}
Returns the flags associated with this event. Not currently used.
\membersection{wxQueryLayoutInfoEvent::GetOrientation}\label{wxquerylayoutinfoeventgetorientation}
\constfunc{wxLayoutOrientation}{GetOrientation}{\void}
Returns the orientation that the event handler specified to the event object. May be one of wxLAYOUT\_HORIZONTAL,
wxLAYOUT\_VERTICAL.
\membersection{wxQueryLayoutInfoEvent::GetRequestedLength}\label{wxquerylayoutinfoeventgetrequestedlength}
\constfunc{int}{GetRequestedLength}{\void}
Returns the requested length of the window in the direction of the window orientation. This information
is not yet used.
\membersection{wxQueryLayoutInfoEvent::GetSize}\label{wxquerylayoutinfoeventgetsize}
\constfunc{wxSize}{GetSize}{\void}
Returns the size that the event handler specified to the event object as being the requested size of the window.
\membersection{wxQueryLayoutInfoEvent::SetAlignment}\label{wxquerylayoutinfoeventsetalignment}
\func{void}{SetAlignment}{\param{wxLayoutAlignment }{alignment}}
Call this to specify the alignment of the window (which side of the remaining parent client area
the window sticks to). May be one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
\membersection{wxQueryLayoutInfoEvent::SetFlags}\label{wxquerylayoutinfoeventsetflags}
\func{void}{SetFlags}{\param{int }{flags}}
Sets the flags associated with this event. Not currently used.
\membersection{wxQueryLayoutInfoEvent::SetOrientation}\label{wxquerylayoutinfoeventsetorientation}
\func{void}{SetOrientation}{\param{wxLayoutOrientation }{orientation}}
Call this to specify the orientation of the window. May be one of wxLAYOUT\_HORIZONTAL,
wxLAYOUT\_VERTICAL.
\membersection{wxQueryLayoutInfoEvent::SetRequestedLength}\label{wxquerylayoutinfoeventsetrequestedlength}
\func{void}{SetRequestedLength}{\param{int}{ length}}
Sets the requested length of the window in the direction of the window orientation. This information
is not yet used.
\membersection{wxQueryLayoutInfoEvent::SetSize}\label{wxquerylayoutinfoeventsetsize}
\func{void}{SetSize}{\param{const wxSize\& }{size}}
Call this to let the calling code know what the size of the window is.

View File

@@ -21,6 +21,14 @@ labelled buttons.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_RADIOBOX(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBOX\_SELECTED event,
when a radiobutton is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioButton}{wxradiobutton},\rtfsp

View File

@@ -16,6 +16,14 @@ There are no specific styles for this class.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_RADIOBUTTON(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBUTTON\_SELECTED event,
when the radiobutton is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioBox}{wxradiobox},\rtfsp

View File

@@ -1,4 +1,12 @@
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{thesis}
%KB:
\addtolength{\textwidth}{1in}
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\topmargin}{-0.5in}
\addtolength{\textheight}{1in}
\sloppy
%end of my changes
%\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
\newcommand{\indexit}[1]{#1\index{#1}}
\newcommand{\pipe}[0]{$\|$\ }%
\input psbox.tex
@@ -9,8 +17,8 @@
\parskip=10pt
\parindent=0pt
\title{Reference Manual for wxWindows 2.0: a portable C++ GUI toolkit}
\author{Julian Smart and Markus Holzem}
\date{October 21st 1997}
\author{Julian Smart}
\date{November 4th 1998}
\makeindex
\begin{document}
@@ -29,7 +37,8 @@
\setfooter{\thepage}{}{}{}{}{\thepage}
\begin{center}
Copyright (c) 1997 Julian Smart and Markus Holzem\\
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
members of the wxWindows team\\
Portions (c) 1996 Artificial Intelligence Applications Institute\\
\end{center}
@@ -43,7 +52,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
UNIVERSITY OF EDINBURGH OR JULIAN SMART OR MARKUS HOLZEM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
UNIVERSITY OF EDINBURGH OR ANY MEMBERS OF THE WXWINDOWS TEAM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF
DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH

View File

@@ -8,6 +8,10 @@ reference counting, so copying and assignment operations are fast.
\helpref{wxGDIObject}{wxgdiobject}\\
\helpref{wxObject}{wxobject}
\wxheading{See also}
\helpref{wxRegionIterator}{wxregioniterator}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxRegion::wxRegion}\label{wxregionconstr}
@@ -179,4 +183,105 @@ for any overlapping areas. The result is stored in this region.
Copies {\it region} by reference counting.
\section{\class{wxRegionIterator}}\label{wxregioniterator}
This class is used to iterate through the rectangles in a region,
typically when examining the damaged regions of a window within an OnPaint call.
To use it, construct an iterator object on the stack and loop through the
regions, testing the object and incrementing the iterator at the end of the loop.
See \helpref{wxWindow::OnPaint}{wxwindowonpaint} for an example of use.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{See also}
\helpref{wxWindow::OnPaint}{wxwindowonpaint}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxRegionIterator::wxRegionIterator}
\func{}{wxRegionIterator}{\void}
Default constructor.
\func{}{wxRegionIterator}{\param{const wxRegion\&}{ region}}
Creates an iterator object given a region.
\membersection{wxRegionIterator::GetX}
\constfunc{long}{GetX}{\void}
Returns the x value for the current region.
\membersection{wxRegionIterator::GetY}
\constfunc{long}{GetY}{\void}
Returns the y value for the current region.
\membersection{wxRegionIterator::GetW}
\constfunc{long}{GetW}{\void}
An alias for GetWidth.
\membersection{wxRegionIterator::GetWidth}
\constfunc{long}{GetWidth}{\void}
Returns the width value for the current region.
\membersection{wxRegionIterator::GetH}
\constfunc{long}{GetH}{\void}
An alias for GetHeight.
\membersection{wxRegionIterator::GetHeight}
\constfunc{long}{GetWidth}{\void}
Returns the width value for the current region.
\membersection{wxRegionIterator::GetRect}
\constfunc{wxRect}{GetRect}{\void}
Returns the current rectangle.
\membersection{wxRegionIterator::HaveRects}
\constfunc{bool}{HaveRects}{\void}
Returns TRUE if there are still some rectangles; otherwise returns FALSE.
\membersection{wxRegionIterator::Reset}
\func{void}{Reset}{\void}
Resets the iterator to the beginning of the rectangles.
\func{void}{Reset}{\param{const wxRegion\&}{ region}}
Resets the iterator to the given region.
\membersection{wxRegionIterator::operator $++$}
\func{void}{operator $++$}{\void}
Increment operator. Increments the iterator to the next region.
\membersection{wxRegionIterator::operator bool}
\constfunc{}{operator bool}{\void}
Returns TRUE if there are still some rectangles; otherwise returns FALSE.
You can use this to test the iterator object as if it were of type bool.

85
docs/latex/wx/sashevt.tex Normal file
View File

@@ -0,0 +1,85 @@
\section{\class{wxSashEvent}}\label{wxsashevent}
A sash event is sent when the sash of a \helpref{wxSashWindow}{wxsashwindow} has been
dragged by the user.
\wxheading{Derived from}
\helpref{wxCommandEvent}{wxcommandevent}\\
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}
\wxheading{Event table macros}
To process an activate event, use these event handler macros to direct input to a member
function that takes a wxSashEvent argument.
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event,
when the user has finished dragging a sash.}
\twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event,
when the user has finished dragging a sash. The event handler is called when windows with ids in the
given range have their sashes dragged.}
\end{twocollist}
\wxheading{Data structures}
{\small
\begin{verbatim}
enum wxSashDragStatus
{
wxSASH_STATUS_OK,
wxSASH_STATUS_OUT_OF_RANGE
};
\end{verbatim}
}
\wxheading{Remarks}
When a sash belonging to a sash window is dragged by the user, and then released,
this event is sent to the window, where it may be processed by an event table
entry in a derived class, a plug-in event handler or an ancestor class.
Note that the wxSashWindow doesn't change the window's size itself. It relies on the application's
event handler to do that. This is because the application may have to handle other consequences
of the resize, or it may wish to veto it altogether. The event handler should
look at the drag rectangle: see \helpref{wxSashEvent::GetDragRect}{wxsasheventgetdragrect} to see
what the new size of the window would be if the resize were to be applied. It should
also call \helpref{wxSashEvent::GetDragStatus}{wxsasheventgetdragstatus} to see whether the
drag was OK or out of the current allowed range.
\wxheading{See also}
\helpref{wxSashWindow}{wxsashwindow},\rtfsp
\helpref{Event handling overview}{eventhandlingoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSashEvent::wxSashEvent}
\func{}{wxSashEvent}{\param{int }{id = 0}, \param{wxSashEdgePosition}{ edge = wxSASH\_NONE}}
Constructor.
\membersection{wxSashEvent::GetEdge}\label{wxsasheventgetedge}
\constfunc{wxSashEdgePosition}{GetEdge}{\void}
Returns the dragged edge. The return value is one of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.
\membersection{wxSashEvent::GetDragRect}\label{wxsasheventgetdragrect}
\constfunc{wxRect}{GetDragRect}{\void}
Returns the rectangle representing the new size the window would be if the resize was applied. It is
up to the application to set the window size if required.
\membersection{wxSashEvent::GetDragStatus}\label{wxsasheventgetdragstatus}
\constfunc{wxSashDragStatus}{GetDragStatus}{\void}
Returns the status of the sash: one of wxSASH\_STATUS\_OK, wxSASH\_STATUS\_OUT\_OF\_RANGE.
If the drag caused the notional bounding box of the window to flip over, for example, the drag will be out of rage.

128
docs/latex/wx/sashlayw.tex Normal file
View File

@@ -0,0 +1,128 @@
\section{\class{wxSashLayoutWindow}}\label{wxsashlayoutwindow}
wxSashLayoutWindow responds to OnCalculateLayout events generated
by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}. It allows the
application to use simple accessors to specify how the window should be
laid out, rather than having to respond to events. The fact that
the class derives from wxSashWindow allows sashes to be used if required,
to allow the windows to be user-resizable.
The documentation for \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} explains
the purpose of this class in more detail.
\wxheading{Derived from}
\helpref{wxSashWindow}{wxsashwindow}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
See \helpref{wxSashWindow}{wxsashwindow}.
\wxheading{Event handling}
This class handles the EVT\_QUERY\_LAYOUT\_INFO and EVT\_CALCULATE\_LAYOUT events
for you. However, if you use sashes, see \helpref{wxSashWindow}{wxsashwindow} for
relevant event information.
See also \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} for information
about the layout events.
\wxheading{See also}
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}, \helpref{wxSashWindow}{wxsashwindow}, \helpref{Event handling overview}{eventhandlingoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSashLayoutWindow::wxSashLayoutWindow}
\func{}{wxSashLayoutWindow}{\void}
Default constructor.
\func{}{wxSashLayoutWindow}{\param{wxSashLayoutWindow*}{ parent}, \param{wxSashLayoutWindowID }{id},
\param{const wxPoint\& }{pos = wxDefaultPosition},
\param{const wxSize\& }{size = wxDefaultSize},
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},
\param{const wxString\& }{name = "layoutWindow"}}
Constructs a sash layout window, which can be a child of a frame, dialog or any other non-control window.
\wxheading{Parameters}
\docparam{parent}{Pointer to a parent window.}
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashLayoutWindows
should generate a default position for the window. If using the wxSashLayoutWindow class directly, supply
an actual position.}
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashLayoutWindows
should generate a default size for the window.}
\docparam{style}{Window style. For window styles, please see \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}.}
\docparam{name}{Window name.}
\membersection{wxSashLayoutWindow::\destruct{wxSashLayoutWindow}}
\func{}{\destruct{wxSashLayoutWindow}}{\void}
Destructor.
\membersection{wxSashLayoutWindow::GetAlignment}\label{wxsashlayoutwindowgetalignment}
\constfunc{wxLayoutAlignment}{GetAlignment}{\void}
Returns the alignment of the window: one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
\membersection{wxSashLayoutWindow::GetOrientation}\label{wxsashlayoutwindowgetorientation}
\constfunc{wxLayoutOrientation}{GetOrientation}{\void}
Returns the orientation of the window: one of wxLAYOUT\_HORIZONTAL, wxLAYOUT\_VERTICAL.
\membersection{wxSashLayoutWindow::OnCalculateLayout}\label{wxsashlayoutwindowoncalculatelayout}
\func{void}{OnCalculateLayout}{\param{wxCalculateLayoutEvent\&}{ event}}
The default handler for the event that is generated by wxLayoutAlgorithm. The implementation
of this function calls wxCalculateLayoutEvent::SetRect to shrink the provided size according to
how much space this window takes up. For further details,
see \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} and \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}.
\membersection{wxSashLayoutWindow::OnQueryLayoutInfo}\label{wxsashlayoutwindowonquerylayoutinfo}
\func{void}{OnQueryLayoutInfo}{\param{wxQueryLayoutInfoEvent\&}{ event}}
The default handler for the event that is generated by OnCalculateLayout to get
size, alignment and orientation information for the window. The implementation
of this function uses member variables as set by accessors called by the application.
For further details, see \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} and \helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}.
\membersection{wxSashLayoutWindow::SetAlignment}\label{wxsashlayoutwindowsetalignment}
\func{void}{SetAlignment}{\param{wxLayoutAlignment}{ alignment}}
Sets the alignment of the window (which edge of the available parent client area the window
is attached to). {\it alignment} is one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
\membersection{wxSashLayoutWindow::SetDefaultSize}\label{wxsashlayoutwindowsetdefaultsize}
\func{void}{SetDefaultSize}{\param{const wxSize\& }{size}}
Sets the default dimensions of the window. The dimension other than the orientation will be fixed to this
value, and the orientation dimension will be ignored and the window stretched to fit the available space.
\membersection{wxSashLayoutWindow::SetOrientation}\label{wxsashlayoutwindowsetorientation}
\func{void}{SetOrientation}{\param{wxLayoutOrientation}{ orientation}}
Sets the orientation of the window (the direction the window will stretch in, to fill the available
parent client area). {\it orientation} is one of wxLAYOUT\_HORIZONTAL, wxLAYOUT\_VERTICAL.

203
docs/latex/wx/sashwin.tex Normal file
View File

@@ -0,0 +1,203 @@
\section{\class{wxSashWindow}}\label{wxsashwindow}
wxSashWindow allows any of its edges to have a sash which can be dragged
to resize the window. The actual content window will be created by the application
as a child of wxSashWindow. The window (or an ancestor) will be notified of a drag
via a \helpref{wxSashEvent}{wxsashevent} notification.
\wxheading{Derived from}
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
The following styles apply in addition to the normal wxWindow styles.
\twocolwidtha{5cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxSW\_3D}}{Draws the sashes in 3D.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event,
when the user has finished dragging a sash.}
\twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event,
when the user has finished dragging a sash. The event handler is called when windows with ids in the
given range have their sashes dragged.}
\end{twocollist}
\wxheading{Data types}
{\small
\begin{verbatim}
enum wxSashEdgePosition {
wxSASH_TOP = 0,
wxSASH_RIGHT,
wxSASH_BOTTOM,
wxSASH_LEFT,
wxSASH_NONE = 100
};
\end{verbatim}
}
\wxheading{See also}
\helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSashWindow::wxSashWindow}
\func{}{wxSashWindow}{\void}
Default constructor.
\func{}{wxSashWindow}{\param{wxSashWindow*}{ parent}, \param{wxSashWindowID }{id},
\param{const wxPoint\& }{pos = wxDefaultPosition},
\param{const wxSize\& }{size = wxDefaultSize},
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},
\param{const wxString\& }{name = "sashWindow"}}
Constructs a sash window, which can be a child of a frame, dialog or any other non-control window.
\wxheading{Parameters}
\docparam{parent}{Pointer to a parent window.}
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashWindows
should generate a default position for the window. If using the wxSashWindow class directly, supply
an actual position.}
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashWindows
should generate a default size for the window.}
\docparam{style}{Window style. For window styles, please see \helpref{wxSashWindow}{wxsashwindow}.}
\docparam{name}{Window name.}
\membersection{wxSashWindow::\destruct{wxSashWindow}}
\func{}{\destruct{wxSashWindow}}{\void}
Destructor.
\membersection{wxSashWindow::GetSashVisible}\label{wxsashwindowgetsashvisible}
\constfunc{bool}{GetSashVisible}{\param{wxSashEdgePosition }{edge}}
Returns TRUE if a sash is visible on the given edge, FALSE otherwise.
\wxheading{Parameters}
\docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
\wxheading{See also}
\helpref{wxSashWindow::SetSashVisible}{wxsashwindowsetsashvisible}
\membersection{wxSashWindow::GetMaximumSizeX}\label{wxsashwindowgetmaximumsizex}
\constfunc{int}{GetMaximumSizeX}{\void}
Gets the maximum window size in the x direction.
\membersection{wxSashWindow::GetMaximumSizeY}\label{wxsashwindowgetmaximumsizey}
\constfunc{int}{GetMaximumSizeY}{\void}
Gets the maximum window size in the y direction.
\membersection{wxSashWindow::GetMinimumSizeX}\label{wxsashwindowgetminimumsizex}
\func{int}{GetMinimumSizeX}{\void}
Gets the minimum window size in the x direction.
\membersection{wxSashWindow::GetMinimumSizeY}\label{wxsashwindowgetminimumsizey}
\constfunc{int}{GetMinimumSizeY}{\param{int}{ min}}
Gets the minimum window size in the y direction.
\membersection{wxSashWindow::HasBorder}\label{wxsashwindowhasborder}
\constfunc{bool}{HasBorder}{\param{wxSashEdgePosition }{edge}}
Returns TRUE if the sash has a border, FALSE otherwise.
\wxheading{Parameters}
\docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
\wxheading{See also}
\helpref{wxSashWindow::SetSashBorder}{wxsashwindowsetsashborder}
\membersection{wxSashWindow::SetMaximumSizeX}\label{wxsashwindowsetmaximumsizex}
\func{void}{SetMaximumSizeX}{\param{int}{ min}}
Sets the maximum window size in the x direction.
\membersection{wxSashWindow::SetMaximumSizeY}\label{wxsashwindowsetmaximumsizey}
\func{void}{SetMaximumSizeY}{\param{int}{ min}}
Sets the maximum window size in the y direction.
\membersection{wxSashWindow::SetMinimumSizeX}\label{wxsashwindowsetminimumsizex}
\func{void}{SetMinimumSizeX}{\param{int}{ min}}
Sets the minimum window size in the x direction.
\membersection{wxSashWindow::SetMinimumSizeY}\label{wxsashwindowsetminimumsizey}
\func{void}{SetMinimumSizeY}{\param{int}{ min}}
Sets the minimum window size in the y direction.
\membersection{wxSashWindow::SetSashVisible}\label{wxsashwindowsetsashvisible}
\func{void}{SetSashVisible}{\param{wxSashEdgePosition }{edge}, \param{bool}{ visible}}
Call this function to make a sash visible or invisible on a particular edge.
\wxheading{Parameters}
\docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
\docparam{visible}{TRUE to make the sash visible, FALSE to make it invisible.}
\wxheading{See also}
\helpref{wxSashWindow::GetSashVisible}{wxsashwindowgetsashvisible}
// Set whether there's a border in this position
inline void SetSashBorder(wxSashEdgePosition edge, bool border) { m_sashes[edge].m_border = border; }
\membersection{wxSashWindow::SetSashBorder}\label{wxsashwindowsetsashborder}
\func{void}{SetSashBorder}{\param{wxSashEdgePosition }{edge}, \param{bool}{ hasBorder}}
Call this function to give the sash a border, or remove the border.
\wxheading{Parameters}
\docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
\docparam{hasBorder}{TRUE to give the sash a border visible, FALSE to remove it.}
\wxheading{See also}
\helpref{wxSashWindow::HashBorder}{wxsashwindowhasborder}

155
docs/latex/wx/sckaddr.tex Normal file
View File

@@ -0,0 +1,155 @@
% ----------------------------------------------------------------------------
% CLASS: wxSockAddress
% ----------------------------------------------------------------------------
\section{\class{wxSockAddress}}\label{wxsockaddress}
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
{\bf Actually, you don't have to use these functions: only wxSocketBase use it.}
\wxheading{See also}
\helpref{wxSocketBase}{wxsocketbase}\\
\helpref{wxIPV4address}{wxipv4address}\\
\helpref{wxIPV6address}{wxipv6address}\\
\helpref{wxunixaddress}{wxunixaddress}
% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
%
% ctor/dtor
%
\membersection{wxSockAddress::wxSockAddress}
\func{}{wxSockAddress}{\void}
Default constructor.
\membersection{wxSockAddress::\destruct{wxSockAddress}}
\func{}{\destruct{wxSockAddress}}{\void}
Default destructor.
%
% Clear
%
\membersection{wxSockAddress::Clear}
\func{void}{Clear}{\void}
Delete all informations about the address.
%
% Build
%
\membersection{wxSockAddress::Build}
\func{void}{Build}{\param{struct sockaddr *\&}{ addr}, \param{size\_t\&}{ len}}
Build a coded socket address.
%
% Disassemble
%
\membersection{wxSockAddress::Disassemble}
\func{void}{Disassemble}{\param{struct sockaddr *}{addr}, \param{size\_t}{ len}}
Decode a socket address. {\bf Actually, you don't have to use this
function: only wxSocketBase use it.}
%
% SockAddrLen
%
\membersection{wxSockAddress::SockAddrLen}
\func{int}{SockAddrLen}{\void};
Returns the length of the socket address.
% ----------------------------------------------------------------------------
% CLASS: wxIPV4address
% ----------------------------------------------------------------------------
\section{\class{wxIPV4address}}\label{wxipv4address}
\wxheading{Derived from}
\helpref{wxSockAddress}{wxsockaddress}
% ----------------------------------------------------------------------------
% MEMBERS
% ----------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
%
% Hostname
%
\membersection{wxIPV4address::Hostname}
\func{bool}{Hostname}{\param{const wxString\&}{ hostname}}
Use the specified {\it hostname} for the address.
\wxheading{Return value}
Returns FALSE if something bad happens (invalid hostname, invalid IP address).
%
% Hostname
%
\membersection{wxIPV4address::Hostname}
\func{wxString}{Hostname}{\void}
Returns the hostname which matches the IP address.
%
% Service
%
\membersection{wxIPV4address::Service}
\func{bool}{Service}{\param{const wxString\&}{ service}}
Use the specified {\it service} string for the address.
\wxheading{Return value}
Returns FALSE if something bad happens (invalid service).
%
% Service
%
\membersection{wxIPV4address::Service}
\func{bool}{Service}{\param{unsigned short}{ service}}
Use the specified {\it service} for the address.
\wxheading{Return value}
Returns FALSE if something bad happens (invalid service).
%
% Service
%
\membersection{wxIPV4address::Service}
\func{unsigned short}{Service}{\void}
Returns the current service.
%
% LocalHost
%
\membersection{wxIPV4address::LocalHost}
\func{bool}{LocalHost}{\void}
Initialize peer host to local host.
\wxheading{Return value}
Returns FALSE if something bad happens.

View File

@@ -12,16 +12,6 @@ events are received.
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxSB\_HORIZONTAL}}{Specifies a horizontal scrollbar.}
\twocolitem{\windowstyle{wxSB\_VERTICAL}}{Specifies a vertical scrollbar.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Remarks}
A scrollbar has the following main attributes: {\it range}, {\it thumb size}, {\it page size}, and {\it position}.
@@ -45,6 +35,16 @@ be called initially, from an {\bf OnSize} event handler, and whenever the applic
changes in size. It will adjust the view, object and page size according
to the size of the window and the size of the data.
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxSB\_HORIZONTAL}}{Specifies a horizontal scrollbar.}
\twocolitem{\windowstyle{wxSB\_VERTICAL}}{Specifies a vertical scrollbar.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
To process input from a scrollbar, use one of these event handler macros to direct input to member
@@ -61,7 +61,7 @@ functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
\twocolitem{{\bf EVT\_COMMAND\_PAGEDOWN(id, func)}}{Catch a page down command.}
\twocolitem{{\bf EVT\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
\end{twocollist}%
%
\wxheading{See also}
\helpref{Scrolling overview}{scrollingoverview},\rtfsp

View File

@@ -130,8 +130,7 @@ scrolling in that direction.
\wxheading{See also}
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize},\rtfsp
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize}
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
@@ -155,8 +154,7 @@ to translate these units to logical units.
\wxheading{See also}
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit},\rtfsp
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit}
\membersection{wxScrolledWindow::IsRetained}\label{wxscrolledwindowisretained}

View File

@@ -31,6 +31,25 @@ Slider events are handled in the same way as a scrollbar.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
To process input from a slider, use one of these event handler macros to direct input to member
functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
\twocolwidtha{7cm}
\begin{twocollist}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL(id, func)}}{Catch all scroll commands.}
\twocolitem{{\bf EVT\_COMMAND\_TOP(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
\twocolitem{{\bf EVT\_COMMAND\_BOTTOM(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
\twocolitem{{\bf EVT\_COMMAND\_LINEUP(id, func)}}{Catch a line up command.}
\twocolitem{{\bf EVT\_COMMAND\_LINEDOWN(id, func)}}{Catch a line down command.}
\twocolitem{{\bf EVT\_COMMAND\_PAGEUP(id, func)}}{Catch a page up command.}
\twocolitem{{\bf EVT\_COMMAND\_PAGEDOWN(id, func)}}{Catch a page down command.}
\twocolitem{{\bf EVT\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
\twocolitem{{\bf EVT\_SLIDER(id, func)}}{Process a wxEVT\_COMMAND\_SLIDER\_UPDATED event,
when the slider is moved. Though provided for backward compatibility, this is obsolete.}
\end{twocollist}%
\wxheading{See also}
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxScrollBar}{wxscrollbar}

768
docs/latex/wx/socket.tex Normal file
View File

@@ -0,0 +1,768 @@
\section{\class{wxSocketBase}}\label{wxsocketbase}
\wxheading{Derived from}
\helpref{wxEvtHandler}{wxevthandler}
% ---------------------------------------------------------------------------
% Event handling
% ---------------------------------------------------------------------------
\wxheading{Event handling}
To process events from a socket, use the following event handler macro to direct
input to member
functions that take a \helpref{wxSocketEvent}{wxsocketevent} argument.
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_SOCKET(id, func)}}{A socket event occured.}
\end{twocollist}%
% ---------------------------------------------------------------------------
% See also ...
% ---------------------------------------------------------------------------
\wxheading{See also}
\helpref{wxSocketEvent}{wxsocketevent}, \helpref{wxSocketClient}{wxsocketclient}, \helpref{wxSocketServer}{wxsocketserver}
% ---------------------------------------------------------------------------
% Members
% ---------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSocketBase::wxSocketBase}
\func{}{wxSocketBase}{\void}
Default constructor but don't use it, you must use \helpref{wxSocketClient}{wxsocketclient}
or \helpref{wxSocketServer}{wxsocketserver}.
\membersection{wxSocketBase::\destruct{wxSocketBase}}
\func{}{\destruct{wxSocketBase}}{\void}
Destroys the wxSocketBase object.
% ---------------------------------------------------------------------------
% State functions
% ---------------------------------------------------------------------------
\membersection{wxSocketBase::Ok}\label{wxsocketbaseok}
\constfunc{bool}{Ok}{\void}
Returns TRUE if the socket is initialized and ready and FALSE in other
cases.
\membersection{wxSocketBase::Error}\label{wxsocketbaseerror}
\constfunc{bool}{Error}{\void}
Returns TRUE if an error occured.
\membersection{wxSocketBase::IsConnected}\label{wxsocketbaseconnected}
\constfunc{bool}{IsConnected}{\void}
Returns TRUE if the socket is connected.
\membersection{wxSocketBase::IsData}\label{wxsocketbaseisdata}
\constfunc{bool}{IsData}{\void}
Returns TRUE if some data is arrived on the socket.
\membersection{wxSocketBase::IsDisconnected}\label{wxsocketbasedisconnected}
\constfunc{bool}{IsDisconnected}{\void}
Returns TRUE if the socket is disconnected.
\membersection{wxSocketBase::IsNoWait}\label{wxsocketbasenowait}
\constfunc{bool}{IsNoWait}{\void}
Returns TRUE if the socket mustn't wait.
\membersection{wxSocketBase::LastCount}\label{wxsocketbaselastcount}
\constfunc{size\_t}{LastCount}{\void}
Returns the number of bytes read or written by the last IO call.
\membersection{wxSocketBase::LastError}\label{wxsocketbaselasterror}
\constfunc{int}{LastError}{\void}
Returns an error in the errno format (see your C programmer's guide).
% ---------------------------------------------------------------------------
% IO calls
% ---------------------------------------------------------------------------
%
% Peek
%
\membersection{wxSocketBase::Peek}\label{wxsocketbasepeek}
\func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
This function peeks a buffer of {\it nbytes} bytes from the socket. Peeking a buffer
doesn't delete it from the system socket in-queue.
\wxheading{Parameters}
\docparam{buffer}{Buffer where to put peeked data.}
\docparam{nbytes}{Number of bytes.}
\wxheading{Return value}
Returns a reference to the current object.
\wxheading{See also}
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
%
% Read
%
\membersection{wxSocketBase::Read}\label{wxsocketbaseread}
\func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
This function reads a buffer of {\it nbytes} bytes from the socket.
\wxheading{Parameters}
\docparam{buffer}{Buffer where to put read data.}
\docparam{nbytes}{Number of bytes.}
\wxheading{Return value}
Returns a reference to the current object.
\wxheading{See also}
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
\membersection{wxSocketBase::SetFlags}\label{wxsocketbasesetflags}
\func{void}{SetFlags}{\param{wxSockFlags}{ flags}}
TODO
%
% Read
%
\membersection{wxSocketBase::Write}\label{wxsocketbasewrite}
\func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
This function writes a buffer of {\it nbytes} bytes from the socket.
\wxheading{Parameters}
\docparam{buffer}{Buffer where to get the data to write.}
\docparam{nbytes}{Number of bytes.}
\wxheading{Return value}
Returns a reference to the current object.
\wxheading{See also}
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
%
% WriteMsg
%
\membersection{wxSocketBase::WriteMsg}\label{wxsocketbasewritemsg}
\func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
This function writes a buffer of {\it nbytes} bytes from the socket. But it
writes a short header before so that ReadMsg can alloc the right size for
the buffer. So a buffer sent with WriteMsg {\bf must} be read with ReadMsg.
\wxheading{Parameters}
\docparam{buffer}{Buffer where to put data peeked.}
\docparam{nbytes}{Number of bytes.}
\wxheading{Return value}
Returns a reference to the current object.
\wxheading{See also}
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
\helpref{wxSocketBase::ReadMsg}{wxsocketbasereadmsg}
%
% ReadMsg
%
\membersection{wxSocketBase::ReadMsg}\label{wxsocketbasereadmsg}
\func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
This function reads a buffer sent by WriteMsg on a socket. If the buffer passed
to the function isn't big enough, the function filled it and then discard the
bytes left. This function always wait for the buffer to be entirely filled.
\wxheading{Parameters}
\docparam{buffer}{Buffer where to put read data.}
\docparam{nbytes}{Number of bytes allocated for the buffer.}
\wxheading{Return value}
Returns a reference to the current object.
\wxheading{See also}
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
\helpref{wxSocketBase::WriteMsg}{wxsocketbasewritemsg}
%
% Unread
%
\membersection{wxSocketBase::UnRead}\label{wxsocketbaseunread}
\func{wxSocketBase\&}{UnRead}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
This function unreads a buffer. It means that the buffer is put in the top
of the incoming queue. But, it is put also at the end of all unread buffers.
It is useful for sockets because we can't seek it.
\wxheading{Parameters}
\docparam{buffer}{Buffer to be unread.}
\docparam{nbytes}{Number of bytes.}
\wxheading{Return value}
Returns a reference to the current object.
\wxheading{See also}
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
%
% Discard
%
\membersection{wxSocketBase::Discard}\label{wxsocketbasediscard}
\func{wxSocketBase\&}{Discard}{\void}
This function simply deletes all bytes in the incoming queue. This function
doesn't wait.
% ---------------------------------------------------------------------------
% Wait functions
% ---------------------------------------------------------------------------
\membersection{wxSocketBase::Wait}\label{wxsocketbasewait}
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
This function waits for an event: it could be an incoming byte, the possibility
for the client to write, a lost connection, an incoming connection, an
established connection.
\wxheading{Parameters}
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\wxheading{Return value}
Returns TRUE if an event occured, FALSE if the timeout was reached.
\wxheading{See also}
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
%
% WaitForRead
%
\membersection{wxSocketBase::WaitForRead}\label{wxsocketbasewaitforread}
\func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
This function waits for a read event.
\wxheading{Parameters}
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\wxheading{Return value}
Returns TRUE if a byte arrived, FALSE if the timeout was reached.
\wxheading{See also}
\helpref{wxSocketBase::Wait}{wxsocketbasewait},
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
%
% WaitForWrite
%
\membersection{wxSocketBase::WaitForWrite}\label{wxsocketbasewaitforwrite}
\func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
This function waits for a write event.
\wxheading{Parameters}
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\wxheading{Return value}
Returns TRUE if a write event occured, FALSE if the timeout was reached.
\wxheading{See also}
\helpref{wxSocketBase::Wait}{wxsocketbasewait},
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
%
% WaitForLost
%
\membersection{wxSocketBase::WaitForLost}\label{wxsocketbasewaitforlost}
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
This function waits for a "lost" event. For instance, the peer may have closed
the connection, or the connection may have been broken.
\wxheading{Parameters}
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\wxheading{Return value}
Returns TRUE if a "lost" event occured, FALSE if the timeout was reached.
\wxheading{See also}
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
%
% RestoreState
%
\membersection{wxSocketBase::RestoreState}\label{wxsocketbaserestorestate}
\func{void}{RestoreState}{\void}
This function restores a previously saved state.
\wxheading{See also}
\helpref{wxSocketBase::SaveState}{wxsocketbasesavestate}
% ---------------------------------------------------------------------------
% Socket state
% ---------------------------------------------------------------------------
%
% SaveState
%
\membersection{wxSocketBase::SaveState}\label{wxsocketbasesavestate}
\func{void}{SaveState}{\void}
This function saves the current state of the socket object in a stack:
actually it saves all flags and the state of the asynchronous callbacks.
\wxheading{See also}
\helpref{wxSocketBase::RestoreState}{wxsocketbaserestorestate}
% ---------------------------------------------------------------------------
% Socket callbacks
% ---------------------------------------------------------------------------
\membersection{wxSocketBase::SetEventHandler}\label{wxsocketbaseseteventhandler}
\func{void}{SetEventHandler}{\param{wxEvtHandler\&}{ evt\_hdlr}, \param{int}{ id = -1}}
Sets an event handler to be called when a socket event occured.
\wxheading{Parameters}
\docparam{evt\_hdlr}{Specifies the event handler you want to use.}
\docparam{id}{The id of socket event.}
\wxheading{See also}
\helpref{wxSocketEvent}{wxsocketevent}
% ---------------------------------------------------------------------------
% CLASS wxSocketClient
% ---------------------------------------------------------------------------
\section{\class{wxSocketClient}}\label{wxsocketclient}
\wxheading{Derived from}
\helpref{wxSocketBase}{wxsocketbase}
% ---------------------------------------------------------------------------
% Members
% ---------------------------------------------------------------------------
%
% wxSocketClient
%
\membersection{wxSocketClient::wxSocketClient}
\func{}{wxSocketClient}{\param{wxSockFlags}{ flags = wxSocketBase::NONE}}
Constructs a new wxSocketClient.
{\bf Warning !} The created socket client needs to be registered to a socket handler (See \helpref{wxSocketHandler}{wxsockethandler}).
\wxheading{Parameters}
\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
%
% ~wxSocketClient
%
\membersection{wxSocketClient::\destruct{wxSocketClient}}
\func{}{\destruct{wxSocketClient}}{\void}
Destructs a wxSocketClient object.
%
% Connect
%
\membersection{wxSocketClient::Connect}\label{wxsocketclientconnect}
\func{bool}{Connect}{\param{wxSockAddress\&}{ address}, \param{bool}{ wait = TRUE}}
Connects to a server using the specified address. If {\it wait} is TRUE, Connect
will wait for the socket ready to send or receive data.
\wxheading{Parameters}
\docparam{address}{Address of the server.}
\docparam{wait}{If true, waits for the connection to be ready.}
\wxheading{Return value}
Returns TRUE if the connection is established and no error occurs.
\wxheading{See also}
\helpref{wxSocketClient::WaitOnConnect}{wxsocketclientwaitonconnect}
%
% WaitOnConnect
%
\membersection{wxSocketClient::WaitOnConnect}\label{wxsocketclientwaitonconnect}
\func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ microseconds = 0}}
Wait for a "connect" event.
\wxheading{See also}
\helpref{wxSocketBase::Wait}{wxsocketbasewait} for a detailed description.
% ---------------------------------------------------------------------------
% CLASS: wxSocketEvent
% ---------------------------------------------------------------------------
\section{\class{wxSocketEvent}}\label{wxsocketevent}
This event class contains information about socket events.
\wxheading{Derived from}
\helpref{wxEvent}{wxevent}
\wxheading{Event table macros}
To process a socket event, use these event handler macros to direct input to member
functions that take a wxSocketEvent argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_SOCKET(id, func)}}{Process a socket event, supplying the member function.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxSocketHandler}{wxsockethandler},\rtfsp
\helpref{wxSocketBase}{wxsocketbase},\rtfsp
\helpref{wxSocketClient}{wxsocketclient},\rtfsp
\helpref{wxSocketServer}{wxsocketserver}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSocketEvent::wxSocketEvent}
\func{}{wxSocketEvent}{\param{int}{ id = 0}}
Constructor.
\membersection{wxSocketEvent::SocketEvent}\label{wxsocketeventsocketevent}
\constfunc{wxSocketBase::wxRequestEvent}{SocketEvent}{\void}
Returns the socket event type.
% ---------------------------------------------------------------------------
% CLASS: wxSocketHandler
% ---------------------------------------------------------------------------
\section{\class{wxSocketHandler}}\label{wxsockethandler}
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
% ---------------------------------------------------------------------------
% Members
% ---------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
%
% wxSocketHandler
%
\membersection{wxSocketHandler::wxSocketHandler}
\func{}{wxSocketHandler}{\void}
Constructs a new wxSocketHandler.
It is advised to use \helpref{wxSocketHandler::Master}{wxsockethandlermaster} to
get a socket handler. But creating a socket handler is useful to group
many sockets.
%
% ~wxSocketHandler
%
\membersection{wxSocketHandler::\destruct{wxSocketHandler}}
\func{}{\destruct{wxSocketHandler}}{\void}
Destructs a wxSocketHandler object.
%
% Register
%
\membersection{wxSocketHandler::Register}
\func{void}{Register}{\param{wxSocketBase *}{socket}}
Register a socket: if it is already registered in this handler it will just
return immediately.
\wxheading{Parameters}
\docparam{socket}{Socket to be registered.}
%
% UnRegister
%
\membersection{wxSocketHandler::UnRegister}
\func{void}{UnRegister}{\param{wxSocketBase *}{socket}}
UnRegister a socket: if it isn't registered in this handler it will just
return.
\wxheading{Parameters}
\docparam{socket}{Socket to be unregistered.}
%
% Count
%
\membersection{wxSocketHandler::Count}
\constfunc{unsigned long}{Count}{\void}
Returns the number of sockets registered in the handler.
\wxheading{Return value}
Number of sockets registered.
%
% CreateServer
%
\membersection{wxSocketHandler::CreateServer}
\func{wxSocketServer *}{CreateServer}{\param{wxSockAddress\&}{ address}, \param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
Creates a new wxSocketServer object. The object is automatically registered
to the current socket handler.
For a detailed description of the parameters, see \helpref{wxSocketServer::wxSocketServer}{wxsocketserverconstr}.
\wxheading{Return value}
Returns a new socket server.
%
% CreateClient
%
\membersection{wxSocketHandler::CreateClient}
\func{wxSocketServer *}{CreateClient}{\param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
Creates a new wxSocketClient object. The object is automatically registered
to the current socket handler.
For a detailed description of the parameters, see \helpref{wxSocketClient::Connect}{wxsocketclientconnect}.
\wxheading{Return value}
Returns a new socket client.
%
% Master
%
\membersection{wxSocketHandler::Master}\label{wxsockethandlermaster}
\func{static wxSocketHandler\&}{Master}{\void}
Returns a default socket handler.
%
% Wait
%
\membersection{wxSocketHandler::Wait}
\func{int}{Wait}{\param{long}{ seconds},\param{long}{ microseconds}}
Wait for an event on all registered sockets.
\wxheading{Parameters}
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\wxheading{Return value}
Returns 0 if a timeout occured, else the number of events detected.
\wxheading{See also}
\helpref{wxSocketBase::Wait}{wxsocketbasewait}
%
% YieldSock
%
\membersection{wxSocketHandler::YieldSock}
\func{void}{YieldSock}{\void}
Execute pending requests in all registered sockets.
% ---------------------------------------------------------------------------
% CLASS: wxSocketServer
% ---------------------------------------------------------------------------
\section{\class{wxSocketServer}}\label{wxsocketserver}
\wxheading{Derived from}
\helpref{wxSocketBase}{wxsocketbase}
% ---------------------------------------------------------------------------
% Members
% ---------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
%
% wxSocketServer
%
\membersection{wxSocketServer::wxSocketServer}\label{wxsocketserverconstr}
\func{}{wxSocketServer}{\param{wxSockAddress\&}{ address}, \param{wxSockFlags}{ flags = wxSocketBase::NONE}}
Constructs a new wxSocketServer.
{\bf Warning !} The created object needs to be registered to a socket handler
(see \helpref{wxSocketHandler}{wxsockethandler}).
\wxheading{Parameters}
\docparam{address}{Specifies the local address for the server (e.g. port number).}
\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
%
% ~wxSocketServer
%
\membersection{wxSocketServer::\destruct{wxSocketServer}}
\func{}{\destruct{wxSocketServer}}{\void}
Destructs a wxSocketServer object (it doesn't close the accepted connection).
%
% Accept
%
\membersection{wxSocketServer::Accept}
\func{wxSocketBase *}{Accept}{\void}
Creates a new object wxSocketBase and accepts an incoming connection. {\bf Warning !} This function will block the GUI.
\wxheading{Return value}
Returns an opened socket connection.
\wxheading{See also}
\helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith}
%
% AcceptWith
%
\membersection{wxSocketServer::AcceptWith}\label{wxsocketserveracceptwith}
\func{bool}{AcceptWith}{\param{wxSocketBase\&}{ socket}}
Accept an incoming connection using the specified socket object.
This is useful when someone wants to inherit wxSocketBase.
\wxheading{Parameters}
\docparam{socket}{Socket to be initialized}
\wxheading{Return value}
Returns TRUE if no error occurs, else FALSE.

View File

@@ -143,7 +143,7 @@ This should be called if you wish to initially view only a single pane in the sp
\wxheading{See also}
\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically},\rtfsp
\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}.
\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}
\membersection{wxSplitterWindow::IsSplit}\label{wxsplitterwindowissplit}
@@ -189,9 +189,25 @@ programmatically or using the wxSplitterWindow user interface.
The default implementation of this function simply hides {\it removed}. You
may wish to delete the window.
\membersection{wxSplitterWindow::OnSashPositionChange}\label{wxsplitterwindowonsashpositionchange}
\func{virtual bool}{OnSashPositionChange}{\param{int }{newSashPosition}}
Application-overridable function called when the sash position is changed by
user. It may return FALSE to prevent the change or TRUE to allow it.
\wxheading{Parameters}
\docparam{newSashPosition}{The new sash position (always positive or zero)}
\wxheading{Remarks}
The default implementation of this function verifies that the sizes of both
panes of the splitter are greater than minimum pane size.
\wxheading{See also}
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}
\helpref{wxSplitterWindow::GetMinimumPaneSize}{wxsplitterwindowgetminimumpanesize}
\membersection{wxSplitterWindow::SetSashPosition}\label{wxsplitterwindowsetsashposition}
@@ -255,7 +271,7 @@ Only sets the internal variable; does not update the display.
\membersection{wxSplitterWindow::SplitHorizontally}\label{wxsplitterwindowsplithorizontally}
\func{bool}{SplitHorizontally}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
\param{int}{ sashPosition = -1}}
\param{int}{ sashPosition = 0}}
Initializes the top and bottom panes of the splitter window.
@@ -265,8 +281,10 @@ Initializes the top and bottom panes of the splitter window.
\docparam{window2}{The bottom pane.}
\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position
is chosen.}
\docparam{sashPosition}{The initial position of the sash. If this value is
positive, it specifies the size of the upper pane. If it's negative, it's
absolute value gives the size of the lower pane. Finally, specify 0 (default)
to choose the default position (half of the total window height).}
\wxheading{Return value}
@@ -274,18 +292,19 @@ TRUE if successful, FALSE otherwise (the window was already split).
\wxheading{Remarks}
This should be called if you wish to initially view two panes. It can also be called at any subsequent time,
but the application should check that the window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
This should be called if you wish to initially view two panes. It can also be
called at any subsequent time, but the application should check that the
window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
\wxheading{See also}
\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically}, \helpref{wxSplitterWindow::IsSplit}{wxsplitterwindowissplit},\rtfsp
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}.
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}
\membersection{wxSplitterWindow::SplitVertically}\label{wxsplitterwindowsplitvertically}
\func{bool}{SplitVertically}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
\param{int}{ sashPosition = -1}}
\param{int}{ sashPosition = 0}}
Initializes the left and right panes of the splitter window.
@@ -295,8 +314,10 @@ Initializes the left and right panes of the splitter window.
\docparam{window2}{The right pane.}
\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position
is chosen.}
\docparam{sashPosition}{The initial position of the sash. If this value is
positive, it specifies the size of the left pane. If it's negative, it's
absolute value gives the size of the right pane. Finally, specify 0 (default)
to choose the default position (half of the total window width).}
\wxheading{Return value}

View File

@@ -10,7 +10,11 @@ be variable length according to the size of the window.
\wxheading{Window styles}
There are no special styles for this window.
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxSB\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
the status bar.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.

View File

@@ -39,6 +39,12 @@ Deletes string list, deallocating strings.
Adds string to list, allocating memory.
\membersection{wxStringList::Clear}
\func{void}{Clear}{\void}
Clears all strings from the list.
\membersection{wxStringList::Delete}
\func{void}{Delete}{\param{const wxString\& }{s}}

View File

@@ -11,7 +11,8 @@ This class represents a tab control, which manages multiple tabs.
\wxheading{See also}
\helpref{wxTabEvent}{wxtabevent}, \helpref{wxImageList}{wximagelist}
\helpref{wxTabEvent}{wxtabevent}, \helpref{wxImageList}{wximagelist},\rtfsp
\helpref{wxNotebook}{wxnotebook}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -117,7 +118,7 @@ Returns the string for the given tab.
\membersection{wxTabCtrl::GetRowCount}\label{wxtabctrlgetrowcount}
\constfunc{bool}{GetRowCount}{\void}
\constfunc{int}{GetRowCount}{\void}
Returns the number of rows in the tab control.
@@ -188,7 +189,7 @@ Sets the client data for a tab.
\func{bool}{SetItemImage}{\param{int}{ item}, \param{int }{image}}
Sets the image index for the given tab. {\it image} is an index into
the image list which was set with \helpref{wxTabCtrl::SetImageList}{setimagelist}.
the image list which was set with \helpref{wxTabCtrl::SetImageList}{wxtabctrlsetimagelist}.
\membersection{wxTabCtrl::SetImageList}\label{wxtabctrlsetimagelist}

48
docs/latex/wx/tconfig.tex Normal file
View File

@@ -0,0 +1,48 @@
\section{Config classes overview}\label{wxconfigoverview}
Classes: \helpref{wxConfig}{wxconfigbase}
This overview briefly describes what the config classes are and what are the
for. All the details about how to use them may be found in the description of
the \helpref{wxConfigBase}{wxconfigbase} class and the documentation of the
file, registry and INI file based implementations mentions all the
features/limitations specific to each one of these versions.
The config classes provide a way to store some application configuration
information. They were especially designed for this usage and, although may
probably be used for many other things as well, should be limited to it. It
means that this information should be:
\begin{itemize}
\item{1.} Typed, i.e. strings or numbers for the moment. You can not store
binary data, for example.
\item{2.} Small. For instance, it is not recommended to use the Windows
registry for amounts of data more than a couple of kilobytes.
\item{3.} Not performance critical, neither from speed nor from memory
consumption point of view.
\end{itemize}
On the other hand, the provided features make them very useful for storing all
kind of small to medioum volumes of hierarchically organized heterogenous
data. In short, this is a place where you can conveniently stuff all your data
(numbers and strings) organizing it in a tree where you use the
filesystem-like paths to specify the location of a piece of data. In
particular, these classes were designed to be as easy to use as possible.
From another point of view, they provide an interface which hides the
differences between the Windows registry and the standard Unix text format
configuration files. Other (future) implementations of wxConfigBase might also
understand GTK ressource files or their analogues on the KDE side.
In any case, each implementation of wxConfigBase does its best (although due
to the limitations of the underlying physical storage as in the case of
wxIniConfigs it may not implement 100\% of the base class functionality) to
make the data look the same way everywhere. So you have the groups of entries
and the entries themselves. Each entry contains either a string or a number
(or a boolean value... support for other types of data such as dates or
timestamps is planned) and is identified by the full path to it: something
like /MyApp/UserPreferences/Colors/Foreground. The previous elements in the
path are the group names, each name may contain an arbitrary number of entries
and subgroups. The path components are {\bf always} separated with a slash,
even though some implementations use the backslash internally. The further
details (including how to read/write these entries) may be found in
\helpref{wxConfigBase}{wxconfigbase} documentation.

View File

@@ -1,56 +1,84 @@
\section{Debugging overview}\label{debuggingoverview}
Classes: \helpref{wxDebugContext}{wxdebugcontext}, \helpref{wxDebugStreamBuf}{wxdebugstreambuf},
\rtfsp\helpref{wxObject}{wxobject}
Classes, functions and macros: \helpref{wxDebugContext}{wxdebugcontext}, \helpref{wxObject}{wxobject}, \helpref{wxLog}{wxlog},
\rtfsp\helpref{Log functions}{logfunctions}, \helpref{Debug macros}{debugmacros}
Various classes, functions and macros are provided in wxWindows to help you debug
your application. Most of these are only available if you compile both wxWindows,
your application and {\it all} libraries that use wxWindows with the DEBUG flag
set to 1 or more.
your application and {\it all} libraries that use wxWindows with the \_\_WXDEBUG\_\_ symbol
defined. You can also test the \_\_WXDEBUG\_\_ symbol in your own applications to execute
code that should be active only in debug mode.
wxDebugContext is a class that never gets instantiated, but ties together
various functions and variables. It allows you to set the debugging stream, dump
all objects to that stream, write statistics about object allocation, and
\wxheading{wxDebugContext}
\helpref{wxDebugContext}{wxdebugcontext} is a class that never gets instantiated, but ties together
various static functions and variables. It allows you to dump all objects to that stream, write statistics about object allocation, and
check memory for errors.
You can use the \helpref{WXTRACE}{trace} macro to output debugging information in DEBUG mode;
it will be defined to nothing for non-debugging code.
It is good practice to define a Dump member function for each class you derive
from a wxWindows class, so that wxDebugContext::Dump can call it and
It is good practice to define a \helpref{wxObject::Dump}{wxobjectdump} member function for each class you derive
from a wxWindows class, so that \helpref{wxDebugContext::Dump}{wxdebugcontextdump} can call it and
give valuable information about the state of the application.
If you have difficulty tracking down a memory leak, recompile
in debugging mode and call \helpref{wxDebugContext::Dump}{wxdebugcontextdump} and \helpref{wxDebugContext::PrintStatistics}{wxdebugcontextprintstatistics} at
appropriate places. They will tell you what objects have not yet been
deleted, and what kinds of object they are. In fact, in debug mode wxWindows will automatically
detect memory leaks when your application is about to exit, and if there are any leaks,
will give you information about the problem. (How much information depends on the operating system
and compiler -- some systems don't allow all memory logging to be enabled). See the
memcheck sample for example of usage.
For wxDebugContext to do its work, the {\it new} and {\it delete}\rtfsp
operators for wxObject have been redefined to store extra information
about dynamically allocated objects (but not statically declared
objects). This slows down a debugging version of an application, but can
in theory find difficult-to-detect memory leaks (objects are not
find difficult-to-detect memory leaks (objects are not
deallocated), overwrites (writing past the end of your object) and
underwrites (writing to memory in front of the object).
If you have difficulty tracking down a memory leak, recompile
in debugging mode and call wxDebugContext::Dump and wxDebugContext::Statistics
at appropriate places. They will tell you what objects have not yet been
deleted, and what kinds of object they are.
If you use the macro WXDEBUG\_NEW instead of the normal 'new', the debugging
output (and error messages reporting memory problems) will also tell you what
file and on what line you allocated the object.
To avoid the need for replacing existing new operators with WXDEBUG\_NEW, you
can write this at the top of each application file:
If debugging mode is on and the symbol wxUSE\_GLOBAL\_MEMORY\_OPERATORS is set
to 1 in setup.h, 'new' is defined to be:
{\small
\begin{verbatim}
#define new WXDEBUG\_NEW
#define new new(__FILE__,__LINE__)
\end{verbatim}
}%
In non-debugging mode, this will revert to the usual interpretation
of new. Note that for this not to mess up new-based allocation of non-wxObject derived classes and
built-in types, there are global definitions of new and delete which match
the syntax required for storing filename and line numbers. These merely
call malloc and free, and so do not do anything interesting. The definitions
may possibly cause multiple symbol problems for some compilers and so might
need to be omitted by setting the USE\_GLOBAL\_MEMORY\_OPERATORS to 0 in wx\_setup.h
All occurrences of 'new' in wxWindows and your own application will use
the overridden form of the operator with two extra arguments. This means that the debugging
output (and error messages reporting memory problems) will tell you what
file and on what line you allocated the object. Unfortunately not all
compilers allow this definition to work properly, but most do.
\wxheading{Debug macros}
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
will save a surprising amount of time in the long run.
\helpref{wxASSERT}{wxassert} is used to pop up an error message box when a condition
is not true. You can also use \helpref{wxASSERT\_MSG}{wxassertmsg} to supply your
own helpful error message. For example:
{\small
\begin{verbatim}
void MyClass::MyFunction(wxObject* object)
{
wxASSERT_MSG( (object != NULL), "object should not be NULL in MyFunction!" );
...
};
\end{verbatim}
}
The message box allows you to continue execution or abort the program. If you are running
the application inside a debugger, you will be able to see exactly where the problem was.
\wxheading{Logging functions}
You can use the \helpref{wxLogDebug}{wxlogdebug} and \helpref{wxLogTrace}{wxlogtrace} functions to output debugging information in debug mode;
it will do nothing for non-debugging code.
\subsection{wxDebugContext overview}\label{wxdebugcontextoverview}
@@ -59,8 +87,7 @@ need to be omitted by setting the USE\_GLOBAL\_MEMORY\_OPERATORS to 0 in wx\_set
Class: \helpref{wxDebugContext}{wxdebugcontext}
wxDebugContext is a class for performing various debugging and memory tracing
operations. wxDebugContext, and the related macros and function WXTRACE and
wxTrace, are only present if USE\_DEBUG\_CONTEXT is used.
operations.
This class has only static data and function members, and there should be
no instances. Probably the most useful members are SetFile (for directing output
@@ -70,35 +97,26 @@ Dump (for dumping the dynamically allocated objects) and PrintStatistics
Check to check memory blocks for integrity.
Here's an example of use. The SetCheckpoint ensures that only the
allocations done after the checkpoint will be dumped. Unfortunately
the define of new to WXDEBUG\_NEW does not work for Borland C++ (and
perhaps other compilers) because it fails to find the correct overloaded
operator for non-object usage of new. Instead, you need to use WXDEBUG\_NEW
explicitly if there are any examples of non-object new usage in the file.
allocations done after the checkpoint will be dumped.
\begin{verbatim}
#define new WXDEBUG_NEW
wxDebugContext::SetCheckpoint();
wxDebugContext::SetFile("c:\\temp\\debug.log");
wxString *thing = new wxString;
// Proves that defining 'new' to be 'WXDEBUG_NEW' doesn't mess up
// non-object allocation. Doesn't work for Borland C++.
char *ordinaryNonObject = new char[1000];
wxDebugContext::Dump();
wxDebugContext::PrintStatistics();
\end{verbatim}
You can use wxDebugContext if DEBUG is 1 or more, or you can use it
at any other time (if USE\_DEBUG\_CONTEXT is 1). It is not disabled
for DEBUG = 1 (as in earlier versions of wxWindows) because you
may not wish to recompile wxWindows and your entire application
just to make use of the error logging facility. This is especially
true in a Windows NT or Windows 95 environment, where you cannot
easily output to a debug window: wxDebugContext can be used to
write to log files instead.
You can use wxDebugContext if \_\_WXDEBUG\_\_ is defined, or you can use it
at any other time (if wxUSE\_DEBUG\_CONTEXT is set to 1 in setup.h). It is not disabled
in non-debug mode because you may not wish to recompile wxWindows and your entire application
just to make use of the error logging facility.
Note: wxDebugContext::SetFile has a problem at present, so use the default stream instead.
Eventually the logging will be done through the wxLog facilities instead.

View File

@@ -2,6 +2,7 @@
Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
\helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
\rtfsp\helpref{wxDocMDIParentFrame}{wxdocmdiparentframe}, \helpref{wxDocMDIChildFrame}{wxdocmdichildframe},
\rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
The document/view framework is found in most application frameworks, because it
@@ -254,42 +255,28 @@ the file history, that will be used for appending the filenames. They are
appended using menu identifiers in the range wxID\_FILE1 to wxID\_FILE9.
In order to respond to a file load command from one of these identifiers,
you need to handle them in your wxFrame::OnMenuCommand. Below is the
code used by the default document/view parent frame.
you need to handle them using an event handler, for example:
{\small
\begin{verbatim}
void wxDocParentFrame::OnMenuCommand(int id)
BEGIN_EVENT_TABLE(wxDocParentFrame, wxFrame)
EVT_MENU(wxID_EXIT, wxDocParentFrame::OnExit)
EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, wxDocParentFrame::OnMRUFile)
END_EVENT_TABLE()
void wxDocParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
{
switch (id)
{
case wxID_EXIT:
{
if (GetEventHandler()->OnClose())
delete this;
break;
}
case wxID_FILE1:
case wxID_FILE2:
case wxID_FILE3:
case wxID_FILE4:
case wxID_FILE5:
case wxID_FILE6:
case wxID_FILE7:
case wxID_FILE8:
case wxID_FILE9:
{
char *f = docManager->GetHistoryFile(id-wxID_FILE1);
if (f)
(void)docManager->CreateDocument(f, wxDOC_SILENT);
break;
}
default:
{
docManager->OnMenuCommand(id);
}
}
Close();
}
void wxDocParentFrame::OnMRUFile(wxCommandEvent& event)
{
wxString f(m_docManager->GetHistoryFile(event.GetSelection() - wxID_FILE1));
if (f != "")
(void)m_docManager->CreateDocument(f, wxDOC_SILENT);
}
\end{verbatim}
}
\subsection{wxWindows predefined command identifiers}\label{predefinedids}

View File

@@ -290,3 +290,9 @@
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
\newcommand{\windowstyle}[1]{{\bf #1}\index{#1}}
\addtolength{\textwidth}{1in}
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\topmargin}{-0.5in}
\addtolength{\textheight}{1in}
\sloppy

View File

@@ -46,6 +46,19 @@ as the following:
If your compiler does not support derivation from {\bf streambuf} and gives a compile error, define the symbol {\bf NO\_TEXT\_WINDOW\_STREAM} in the
wxTextCtrl header file.
\wxheading{Event handling}
To process input from a text control, use these event handler macros to direct input to member
functions that take a \helpref{wxCommandEvent}{wxcommandevent} argument.
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_UPDATED event,
generated when the text changes.}
\twocolitem{{\bf EVT\_TEXT\_ENTER(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_ENTER event,
generated when enter is pressed in a single-line text control.}
\end{twocollist}%
%\wxheading{See also}
%
%\helpref{wxRichTextCtrl}{wxrichtextctrl}

View File

@@ -38,8 +38,8 @@ These might override predefined event handlers such as \helpref{wxWindow::OnChar
\rtfsp\helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}.
Most modern applications will have an on-line, hypertext help system; for this, you
need wxHelp and the \helpref{wxHelpControllerBase}{wxhelpcontrollerbase} class to control
wxHelp. To add sparkle, you might use the wxToolBar class (documented separately)
need wxHelp and the \helpref{wxHelpController}{wxhelpcontroller} class to control
wxHelp. To add sparkle, you might use the wxToolBar class
which makes heavy use of the \helpref{wxBitmap}{wxbitmap}.
GUI applications aren't all graphical wizardry. List and hash table needs are

View File

@@ -52,7 +52,7 @@ calling thread.
\func{wxThreadError}{Destroy}{\void}
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{deferdestroy}.
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{wxthreaddeferdestroy}.
\wxheading{Return value}
@@ -80,9 +80,9 @@ The following priorities are already defined:
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
\end{twocollist}
\membersection{wxThread::IsAlive}\label{wxthreadisalive}
@@ -119,8 +119,13 @@ The following priorities are already defined:
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
\end{twocollist}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "referenc"
%%% End:

146
docs/latex/wx/tlog.tex Normal file
View File

@@ -0,0 +1,146 @@
\section{Log classes overview}\label{wxlogoverview}
Classes: \helpref{wxLog}{wxlog}
%\helpref{wxLogStderr}{wxlogstderr},%
%\helpref{wxLogOstream}{wxlogostream}, \helpref{wxLogTextCtrl}{wxlogtextctrl},%
%\helpref{wxLogWindow}{wxlogwindow}, \helpref{wxLogGui}{wxloggui},%
%\helpref{wxLogNull}{wxlognull}%
This is a general overview of logging classes provided by wxWindows. The word
logging here has a broad sense, including all of the program output, not only
non interactive messages. The logging facilities included in wxWindows provide
the base {\it wxLog} class which defines the standard interface for a {\it log
target} as well as several standard implementations of it and a family of
functions to use with them.
First of all, no knowledge of {\it wxLog} classes is needed to use them. For
this, you should only know about {\it wxLogXXX()} functions. All of them have
the same syntax as {\it printf()}, i.e. they take the format string as the
first argument and a variable number of arguments. Here are all of them:
\begin{itemize}\itemsep=0pt
\item{\bf wxLogFatalError} which is like {\it wxLogError}, but also
terminates the program with the exit code 3 (using {\it abort()} standard
function also terminates the program with this exit code).
\item{\bf wxLogError} is the function to use for error messages, i.e. the
messages that must be shown to the user. The default processing is to pop up a
message box to inform the user about it.
\item{\bf wxLogWarning} for warnings - they are also normally shown to the
user, but don't interrupt the program work.
\item{\bf wxLogMessage} is for all normal, informational messages. They also
appear in a message box by default (but it can be changed, see below). Notice
that the standard behaviour is to not show informational messages if there are
any errors later - the logic being that the later error messages make the
informational messages preceding them meaningless.
\item{\bf wxLogVerbose} is for verbose output. Normally, it's suppressed, but
might be activated if the user wishes to know more details about the program
progress (another, but possibly confusing name for the same function is {\bf
wxLogInfo}).
\item{\bf wxLogStatus} is for status messages - they will go into the status
bar of the active or specified (as the first argument) \helpref{wxFrame}{wxframe} if it has one.
\item{\bf wxLogSysError} is mostly used by wxWindows itself, but might be
handy for logging errors after system call (API function) failure. It logs the
specified message text as well as the last system error
code ({\it errno} or {\it ::GetLastError()} depending on the platform) and the corresponding error
message. The second form of this function takes the error code explitly as the
first argument.
\item{\bf wxLogDebug} is {\bf the} right function for debug output. It only
does anything at all in the debug mode (when the preprocessor symbol
\_\_WXDEBUG\_\_ is defined) and expands to nothing in release mode (otherwise).
\item{\bf wxLogTrace} as {\bf wxLogDebug} only does something in debug
build. The reason for making it a separate function from it is that usually
there are a lot of trace messages, so it might make sense to separate them
from other debug messages which would be flooded in them. Moreover, the second
version of this function takes a trace mask as the first argument which allows
to further restrict the amount of messages generated.
\end{itemize}
The usage of these functions should be fairly straightforward, however it may
be asked why not use the other logging facilities, such as C standard stdio
functions or C++ streams. The short answer is that they're all very good
generic mechanisms, but are not really adapted for wxWindows, while the log
classes are. Some of advantages in using wxWindows log functions are:
\begin{itemize}\itemsep=0pt
\item{\bf Portability} It's a common practice to use {\it printf()} statements or
cout/cerr C++ streams for writing out some (debug or otherwise) information.
Although it works just fine under Unix, these messages go strictly nowhere
under Windows where the stdout of GUI programs is not assigned to anything.
Thus, you might view {\it wxLogMessage()} as a simple substitute for {\it
printf()}.
\item{\bf Flexibility} The output of wxLog functions can be redirected or
suppressed entirely based on their importance, which is either impossible or
difficult to do with traditional methods. For example, only error messages, or
only error messages and warnings might be logged, filtering out all
informational messages.
\item{\bf Completeness} Usually, an error message should be presented to the user
when some operation fails. Let's take a quite simple but common case of a file
error: suppose that you're writing your data file on disk and there is not
enough space. The actual error might have been detected inside wxWindows code
(say, in {\it wxFile::Write}), so the calling function doesn't really know the
exact reason of the failure, it only knows that the data file couldn't be
written to the disk. However, as wxWindows uses {\it wxLogError()} in this
situation, the exact error code (and the corresponding error message) will be
given to the user together with "high level" message about data file writing
error.
\end{itemize}
After having enumerated all the functions which are normally used to log the
messages, and why would you want to use them we now describe how all this
works.
wxWindows has the notion of a {\it log target}: it's just a class deriving
from \helpref{wxLog}{wxlog}. As such, it implements the virtual functions of
the base class which are called when a message is logged. Only one log target
is {\it active} at any moment, this is the one used by \it{wxLogXXX()}
functions. The normal usage of a log object (i.e. object of a class derived
from wxLog) is to install it as the active target with a call to {\it
SetActiveTarget()} and it will be used automatically by all subsequent calls
to {\it wxLogXXX()} functions.
To create a new log target class you only need to derive it from wxLog and
implement one (or both) of {\it DoLog()} and {\it DoLogString()} in it. The
second one is enough if you're happy with the standard wxLog message
formatting (prepending "Error:" or "Warning:", timestamping \&c) but just want
to send the messages somewhere else. The first one may be overridden to do
whatever you want but you have to distinguish between the different message
types yourself.
There are some predefined classes deriving from wxLog and which might be
helpful to see how you can create a new log target class and, of course, may
also be used without any change. There are:
\begin{itemize}\itemsep=0pt
\item{\bf wxLogStderr} This class logs messages to a {\it FILE *}, using
stderr by default as its name suggests.
\item{\bf wxLogStream} This class has the same functionality as wxLogStderr,
but uses {\it ostream} and cerr instead of {\it FILE *} and stderr.
\item{\bf wxLogGui} This is the standard log target for wxWindows
applications (it's used by default if you don't do anything) and provides the
most reasonable handling of all types of messages for given platform.
\item{\bf wxLogWindow} This log target provides a "log console" which
collects all messages generated by the application and also passes them to the
previous active log target. The log window frame has a menu allowing user to
clear the log, close it completely or save all messages to file.
\item{\bf wxLogNull} The last log class is quite particular: it doesn't do
anything. The objects of this class may be instantiated to (temporarily)
suppress output of {\it wxLogXXX()} functions. As an example, trying to open a
non-existing file will usually provoke an error message, but if you for some
reason it's unwanted, just use this construction:
{\small
\begin{verbatim}
wxFile file;
// wxFile.Open() normally complains if file can't be opened, we don't want it
{
wxLogNull logNo;
if ( !file.Open("bar") )
... process error ourselves ...
} // ~wxLogNull called, old log sink restored
wxLogMessage("..."); // ok
\end{verbatim}
}
\end{itemize}

View File

@@ -1,12 +1,23 @@
\section{\class{wxToolBarBase}}\label{wxtoolbarbase}
\section{\class{wxToolBar}}\label{wxtoolbar}
{\bf wxToolBarBase} is the base class for a number of toolbar classes. The most portable
one of these is the generic \helpref{wxToolBarSimple}{wxtoolbarsimple} class. {\bf wxToolBarBase} defines
automatic scrolling management functionality which is identical to \helpref{wxScrolledWindow}{wxscrolledwindow},
so please refer to this class also.
The name wxToolBar is defined to be a synonym for one of the following classes:
\begin{itemize}\itemsep=0pt
\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above.
\item {\bf wxToolBarMSW} A Windows implementation. Used on 16-bit Windows.
\item {\bf wxToolBarGTK} The GTK toolbar.
\item {\bf wxToolBarSimple} A simple implementation, with scrolling.
Used on platforms with no native toolbar control, or where scrolling is required.
\end{itemize}
Note that the base class {\bf wxToolBarBase} defines
automatic scrolling management functionality which is identical
to \helpref{wxScrolledWindow}{wxscrolledwindow}, so please refer to this class also.
Not all toolbars support scrolling, but wxToolBarSimple does.
\wxheading{Derived from}
wxToolBarBase\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
@@ -14,58 +25,107 @@ so please refer to this class also.
\wxheading{Remarks}
Because there is a variety of toolbar classes, you may wish to choose which class
is best for your application on each platform, and define {\bf wxToolBar} appropriately. For example:
You may also create a toolbar that is managed by the frame, by
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
\begin{verbatim}
#if WIN95
class wxToolBar: public wxToolBar95
#elif defined(wx_msw)
class wxToolBar: public wxToolBarMSW
#else
class wxToolBar: public wxToolBarSimple
#endif
{
};
\end{verbatim}
{\bf wxToolBar95:} Note that this toolbar paints tools to reflect user-selected colours.
The toolbar orientation must always be {\bf wxVERTICAL}.
TODO: maybe change the confusing names: GetDefaultSize becomes GetToolBitmapSize, and
GetDefaultButtonSize becomes GetToolSize. Document SetRows for wxToolBar95, and make it
part of the base API?
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 only.}
\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the Windows 95
toolbar).}
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
Derive a new class from an existing toolbar class, and override appropriate virtual functions.
The toolbar class emits menu commands in the same was that a frame menubar does,
so you can use one EVT\_MENU macro for both a menu item and a toolbar button.
The event handler functions take a wxCommandEvent argument. For most event macros,
the identifier of the tool is passed, but for EVT\_TOOL\_ENTER the toolbar
window is passed and the tool id is retrieved from the wxCommandEvent.
This is because the id may be -1 when the mouse moves off a tool, and -1 is not
allowed as an identifier in the event system.
TODO: make consistent with other event handling; have wxToolBarEvent and appropriate macros.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
\twocolitem{{\bf EVT\_MENU(id, func)}}{The same as EVT\_TOOL.}
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
for a range id identifiers. Pass the ids of the tools.}
\twocolitem{{\bf EVT\_MENU\_RANGE(id1, id2, func)}}{The same as EVT\_TOOL\_RANGE.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
Pass the id of the tool.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
for a range of ids. Pass the ids of the tools.}
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
\end{twocollist}
\wxheading{See also}
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
\helpref{wxToolBarMSW}{wxtoolbarmsw},\rtfsp
\helpref{wxToolBar95}{wxtoolbar95},\rtfsp
\helpref{wxScrolledWindow}{wxscrolledwindow}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxToolBarBase::wxToolBarBase}\label{wxtoolbarbaseconstr}
\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr}
\func{}{wxToolBarBase}{\void}
\func{}{wxToolBar}{\void}
Default constructor.
%\wxheading{See also}
%
%\helpref{wxToolBarBase::Create}{wxtoolbarbasecreate}
%
\membersection{wxToolBarBase::\destruct{wxToolBarBase}}
\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
\param{const wxPoint\& }{pos = wxDefaultPosition},
\param{const wxSize\& }{size = wxDefaultSize},
\param{long }{style = wxTB\_HORIZONTAL \pipe wxNO\_BORDER},
\param{const wxString\& }{name = wxPanelNameStr}}
\func{void}{\destruct{wxToolBarBase}}{\void}
Constructs a toolbar.
\wxheading{Parameters}
\docparam{parent}{Pointer to a parent window.}
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxWindows
should generate a default position for the window. If using the wxWindow class directly, supply
an actual position.}
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWindows
should generate a default size for the window.}
\docparam{style}{Window style. See \helpref{wxToolBar}{wxtoolbar} for details.}
\docparam{name}{Window name.}
\wxheading{Remarks}
After a toolbar is created, you use \helpref{wxToolBar::AddTool}{wxtoolbaraddtool} and
perhaps \helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}, and then you
must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} to construct and display the toolbar
tools.
You may also create a toolbar that is managed by the frame, by
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
\membersection{wxToolBar::\destruct{wxToolBar}}
\func{void}{\destruct{wxToolBar}}{\void}
Toolbar destructor.
\membersection{wxToolBarBase::AddSeparator}\label{wxtoolbarbaseaddseparator}
\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator}
\func{void}{AddSeparator}{\void}
@@ -73,14 +133,14 @@ Adds a separator for spacing groups of tools.
\wxheading{See also}
\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}, \helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation}
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
\membersection{wxToolBarBase::AddTool}\label{wxtoolbarbaseaddtool}
\membersection{wxToolBar::AddTool}\label{wxtoolbaraddtool}
\func{wxToolBarBaseTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
\param{const wxBitmap\&}{ bitmap2 = (wxBitmap *)NULL}, \param{const bool}{ isToggle = FALSE},\rtfsp
\param{const float}{ xPos = -1}, \param{const float}{ yPos = -1},\rtfsp
\param{wxObject *}{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
\func{wxToolBarTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = FALSE},\rtfsp
\param{long}{ xPos = -1}, \param{long}{ yPos = -1},\rtfsp
\param{wxObject* }{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
Adds a tool to the toolbar.
@@ -106,7 +166,7 @@ wxBitmap object.}
\docparam{yPos}{Specifies the y position of the tool if automatic layout is not suitable.}
\docparam{clientData}{An optional pointer to client data which can be
retrieved later using \helpref{wxToolBarBase::GetToolClientData}{wxtoolbarbasegettoolclientdata}.}
retrieved later using \helpref{wxToolBar::GetToolClientData}{wxtoolbargettoolclientdata}.}
\docparam{shortHelpString}{Used for displaying a tooltip for the tool in the
Windows 95 implementation of wxButtonBar. Pass the empty string if this is not required.}
@@ -114,29 +174,31 @@ Windows 95 implementation of wxButtonBar. Pass the empty string if this is not r
\docparam{longHelpString}{Used to displayer longer help, such as status line help.
Pass the empty string if this is not required.}
\wxheading{Remarks}
After you have added tools to a toolbar, you must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} in
order to have the tools appear.
\wxheading{See also}
\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator},
\helpref{wxToolBar::Realize}{wxtoolbarrealize},
\membersection{wxToolBarBase::CreateTools}\label{wxtoolbarbasecreatetools}
\membersection{wxToolBar::CreateTools}\label{wxtoolbarcreatetools}
\func{bool}{CreateTools}{\void}
Call this function after all tools have been added to the toolbar, to actually
create the tools.
\wxheading{Remarks}
Strictly speaking, this is required only for the Windows 95 version of wxButtonBar,
but for portability it should be called anyway.
This function is implemented for some toolbar classes to create the tools and display them.
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
you have added tools and separators.
\wxheading{See also}
\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
\membersection{wxToolBarBase::DrawTool}\label{wxtoolbarbasedrawtool}
\membersection{wxToolBar::DrawTool}\label{wxtoolbardrawtool}
\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarBaseTool* }{tool}}
\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarTool* }{tool}}
Draws the specified tool onto the window using the given memory device context.
@@ -150,7 +212,7 @@ Draws the specified tool onto the window using the given memory device context.
For internal use only.
\membersection{wxToolBarBase::EnableTool}\label{wxtoolbarbaseenabletool}
\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool}
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
@@ -164,18 +226,18 @@ Enables or disables the tool.
\wxheading{Remarks}
For \helpref{wxToolBarSimple}{wxtoolbarsimple}, does nothing. Some other implementations
For wxToolBarSimple, does nothing. Some other implementations
will change the visible state of the tool to indicate that it is disabled.
\wxheading{See also}
\helpref{wxToolBarBase::GetToolEnabled}{wxtoolbarbasegettoolenabled},\rtfsp
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate},\rtfsp
\helpref{wxToolBarBase::ToggleTool}{wxtoolbarbasetoggletool}
\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate},\rtfsp
\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool}
\membersection{wxToolBarBase::FindToolForPosition}\label{wxtoolbarbasefindtoolforposition}
\membersection{wxToolBar::FindToolForPosition}\label{wxtoolbarfindtoolforposition}
\constfunc{wxToolBarBaseTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}}
\constfunc{wxToolBarTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}}
Finds a tool for the given mouse position.
@@ -193,35 +255,35 @@ A pointer to a tool if a tool is found, or NULL otherwise.
Used internally, and should not need to be used by the programmer.
\membersection{wxToolBarBase::GetDefaultButtonSize}\label{wxtoolbarbasegetdefaultbuttonsize}
\membersection{wxToolBar::GetToolSize}\label{wxtoolbargettoolsize}
\func{wxSize}{GetDefaultButtonSize}{\void}
\func{wxSize}{GetToolSize}{\void}
Returns the size of a whole button, which is usually larger than a tool bitmap because
of added 3D effects.
\wxheading{See also}
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize}
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize}
\membersection{wxToolBarBase::GetDefaultSize}\label{wxtoolbarbasegetdefaultsize}
\membersection{wxToolBar::GetToolBitmapSize}\label{wxtoolbargettoolbitmapsize}
\func{wxSize}{GetDefaultSize}{\void}
\func{wxSize}{GetToolBitmapSize}{\void}
Returns the size of bitmap that the toolbar expects to have. The default bitmap size is 16 by 15 pixels.
\wxheading{Remarks}
Note that this is the size of the bitmap you pass to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool},
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
and not the eventual size of the tool button.
\wxheading{See also}
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
\membersection{wxToolBarBase::GetMargins}\label{wxtoolbarbasegetmargins}
\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins}
\constfunc{wxSize}{GetMargins}{\void}
@@ -229,9 +291,9 @@ Returns the left/right and top/bottom margins, which are also used for inter-too
\wxheading{See also}
\helpref{wxToolBarBase::SetMargins}{wxtoolbarbasesetmargins}
\helpref{wxToolBar::SetMargins}{wxtoolbarsetmargins}
\membersection{wxToolBarBase::GetMaxSize}\label{wxtoolbarbasegetmaxsize}
\membersection{wxToolBar::GetMaxSize}\label{wxtoolbargetmaxsize}
\constfunc{void}{GetMaxSize}{\param{float*}{ w}, \param{float*}{ h}}
@@ -244,7 +306,7 @@ This can be used to size a frame around the toolbar window.
\docparam{h}{Receives the maximum vertical size.}
\membersection{wxToolBarBase::GetToolClientData}\label{wxtoolbarbasegettoolclientdata}
\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
@@ -252,13 +314,13 @@ Get any client data associated with the tool.
\wxheading{Parameters}
\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
\wxheading{Return value}
Client data, or NULL if there is none.
\membersection{wxToolBarBase::GetToolEnabled}\label{wxtoolbarbasegettoolenabled}
\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled}
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
@@ -274,9 +336,9 @@ TRUE if the tool is enabled, FALSE otherwise.
%\wxheading{See also}
%
%\helpref{wxToolBarBase::SetToolEnabled}{wxtoolbarbasesettoolenabled}
%\helpref{wxToolBar::SetToolEnabled}{wxtoolbarsettoolenabled}
%
\membersection{wxToolBarBase::GetToolLongHelp}\label{wxtoolbarbasegettoollonghelp}
\membersection{wxToolBar::GetToolLongHelp}\label{wxtoolbargettoollonghelp}
\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolIndex}}
@@ -288,10 +350,10 @@ Returns the long help for the given tool.
\wxheading{See also}
\helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp},\rtfsp
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
\membersection{wxToolBarBase::GetToolPacking}\label{wxtoolbarbasegettoolpacking}
\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking}
\constfunc{int}{GetToolPacking}{\void}
@@ -299,9 +361,9 @@ Returns the value used for packing tools.
\wxheading{See also}
\helpref{wxToolBarBase::SetToolPacking}{wxtoolbarbasesettoolpacking}
\helpref{wxToolBar::SetToolPacking}{wxtoolbarsettoolpacking}
\membersection{wxToolBarBase::GetToolSeparation}\label{wxtoolbarbasegettoolseparation}
\membersection{wxToolBar::GetToolSeparation}\label{wxtoolbargettoolseparation}
\constfunc{int}{GetToolSeparation}{\void}
@@ -309,9 +371,9 @@ Returns the default separator size.
\wxheading{See also}
\helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation}
\helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
\membersection{wxToolBarBase::GetToolShortHelp}\label{wxtoolbarbasegettoolshorthelp}
\membersection{wxToolBar::GetToolShortHelp}\label{wxtoolbargettoolshorthelp}
\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolIndex}}
@@ -325,10 +387,10 @@ Returns the long help for the given tool.
\wxheading{See also}
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
\membersection{wxToolBarBase::GetToolState}\label{wxtoolbarbasegettoolstate}
\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate}
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
@@ -344,9 +406,9 @@ TRUE if the tool is toggled on, FALSE otherwise.
%\wxheading{See also}
%
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate}
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate}
%
\membersection{wxToolBarBase::Layout}\label{wxtoolbarbaselayout}
\membersection{wxToolBar::Layout}\label{wxtoolbarlayout}
\func{void}{Layout}{\void}
@@ -354,16 +416,26 @@ Called by the application after the tools have been added to
automatically lay the tools out on the window. If you have given
absolute positions when adding the tools, do not call this.
\membersection{wxToolBarBase::OnLeftClick}\label{wxtoolbarbaseonleftclick}
This function is only implemented for some toolbar classes.
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
you have added tools and separators.
\wxheading{See also}
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
\membersection{wxToolBar::OnLeftClick}\label{wxtoolbaronleftclick}
\func{bool}{OnLeftClick}{\param{int}{ toolIndex}, \param{bool}{ toggleDown}}
Called when the user clicks on a tool with the left mouse button. The
programmer should override this function to detect left tool clicks.
Called when the user clicks on a tool with the left mouse button.
This is the old way of detecting tool clicks; although it will still work,
you should use the EVT\_MENU or EVT\_TOOL macro instead.
\wxheading{Parameters}
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
\docparam{toggleDown}{TRUE if the tool is a toggle and the toggle is down, otherwise is FALSE.}
@@ -375,16 +447,19 @@ specifying that toggle operations are not permitted in some circumstances.
\wxheading{See also}
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
\helpref{wxToolBarBase::OnRightClick}{wxtoolbarbaseonrightclick}
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick}
\membersection{wxToolBarBase::OnMouseEnter}\label{wxtoolbarbaseonmouseenter}
\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter}
\func{void}{OnMouseEnter}{\param{int}{ toolIndex}}
This is called when the mouse cursor moves into a tool or out of
the toolbar.
This is the old way of detecting mouse enter events; although it will still work,
you should use the EVT\_TOOL\_ENTER macro instead.
\wxheading{Parameters}
\docparam{toolIndex}{Greater than -1 if the mouse cursor has moved into the tool,
@@ -397,16 +472,19 @@ such as a short description on the status line.}
With some derived toolbar classes, if the mouse moves quickly out of the toolbar, wxWindows may not be able to
detect it. Therefore this function may not always be called when expected.
\membersection{wxToolBarBase::OnRightClick}\label{wxtoolbarbaseonrightclick}
\membersection{wxToolBar::OnRightClick}\label{wxtoolbaronrightclick}
\func{void}{OnRightClick}{\param{int}{ toolIndex}, \param{float}{ x}, \param{float}{ y}}
Called when the user clicks on a tool with the right mouse button. The
programmer should override this function to detect right tool clicks.
This is the old way of detecting tool right clicks; although it will still work,
you should use the EVT\_TOOL\_RCLICKED macro instead.
\wxheading{Parameters}
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
\docparam{x}{The x position of the mouse cursor.}
@@ -418,12 +496,24 @@ A typical use of this member might be to pop up a menu.
\wxheading{See also}
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
\helpref{wxToolBarBase::OnLeftClick}{wxtoolbarbaseonleftclick}
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
\helpref{wxToolBar::OnLeftClick}{wxtoolbaronleftclick}
\membersection{wxToolBarBase::SetDefaultSize}\label{wxtoolbarbasesetdefaultsize}
\membersection{wxToolBar::Realize}\label{wxtoolbarrealize}
\func{void}{SetDefaultSize}{\param{const wxSize\&}{ size}}
\func{bool}{Realize}{\void}
This function should be called after you have added tools. It
calls, according to the implementation,
either \helpref{wxToolBar::CreateTools}{wxtoolbarcreatetools} or
\helpref{wxToolBar::Layout}{wxtoolbarlayout}.
If you are using absolute positions for your tools when using a wxToolBarSimple object,
do not call this function. You must call it at all other times.
\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize}
\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}}
Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels.
@@ -436,15 +526,15 @@ Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 p
This should be called to tell the toolbar what the tool bitmap size is. Call
it before you add tools.
Note that this is the size of the bitmap you pass to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool},
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
and not the eventual size of the tool button.
\wxheading{See also}
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize},\rtfsp
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
\membersection{wxToolBarBase::SetMargins}\label{wxtoolbarbasesetmargins}
\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
@@ -467,9 +557,9 @@ default (zero-size) margins are to be overridden.
\wxheading{See also}
\helpref{wxToolBarBase::GetMargins}{wxtoolbarbasegetmargins}, \helpref{wxSize}{wxsize}
\helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize}
\membersection{wxToolBarBase::SetToolLongHelp}\label{wxtoolbarbasesettoollonghelp}
\membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp}
\func{void}{SetToolLongHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
@@ -487,10 +577,10 @@ You might use the long help for displaying the tool purpose on the status line.
\wxheading{See also}
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp},\rtfsp
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp
\membersection{wxToolBarBase::SetToolPacking}\label{wxtoolbarbasesettoolpacking}
\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking}
\func{void}{SetToolPacking}{\param{int}{ packing}}
@@ -507,9 +597,9 @@ and for spacing in the horizontal direction if the toolbar is vertical.
\wxheading{See also}
\helpref{wxToolBarBase::GetToolPacking}{wxtoolbarbasegettoolpacking}
\helpref{wxToolBar::GetToolPacking}{wxtoolbargettoolpacking}
\membersection{wxToolBarBase::SetToolShortHelp}\label{wxtoolbarbasesettoolshorthelp}
\membersection{wxToolBar::SetToolShortHelp}\label{wxtoolbarsettoolshorthelp}
\func{void}{SetToolShortHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
@@ -527,9 +617,9 @@ An application might use short help for identifying the tool purpose in a toolti
\wxheading{See also}
\helpref{wxToolBarBase::GetToolShortHelp}{wxtoolbarbasegettoolshorthelp}, \helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp}
\helpref{wxToolBar::GetToolShortHelp}{wxtoolbargettoolshorthelp}, \helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp}
\membersection{wxToolBarBase::SetToolSeparation}\label{wxtoolbarbasesettoolseparation}
\membersection{wxToolBar::SetToolSeparation}\label{wxtoolbarsettoolseparation}
\func{void}{SetToolSeparation}{\param{int}{ separation}}
@@ -541,9 +631,9 @@ Sets the default separator size. The default value is 5.
\wxheading{See also}
\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}
\membersection{wxToolBarBase::ToggleTool}\label{wxtoolbarbasetoggletool}
\membersection{wxToolBar::ToggleTool}\label{wxtoolbartoggletool}
\func{void}{ToggleTool}{\param{int }{toolIndex}, \param{const bool}{ toggle}}
@@ -561,213 +651,6 @@ Only applies to a tool that has been specified as a toggle tool.
\wxheading{See also}
\helpref{wxToolBarBase::GetToolState}{wxtoolbarbasegettoolstate}
\section{\class{wxToolBar95}}\label{wxtoolbar95}
This class should be used when a 3D-effect toolbar is required under Windows 95.
It uses the native toolbar control.
\wxheading{Derived from}
\helpref{wxToolBarBase}{wxtoolbarbase}\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style).}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Remarks}
Note that this toolbar paints tools to reflect user-selected colours.
The toolbar orientation must always be {\bf wxVERTICAL}.
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
\wxheading{See also}
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
\helpref{wxToolBarMSW}{wxtoolbarmsw}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxToolBar95::wxToolBar95}\label{wxtoolbar95constr}
\func{}{wxToolBar95}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
Constructs a toolbar.
\wxheading{Parameters}
\docparam{parent}{Parent window. Must not be NULL.}
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
the toolbar.}
\docparam{nRowsOrColumns}{Specifies the number of rows or
columns, whose meaning depends on {\it orientation}. If laid out
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
before the next column is started; if horizontal, it refers to the
number of columns to draw before the next row is started.}
\docparam{style}{Window style. See \helpref{wxToolBar95}{wxtoolbar95}.}
\docparam{name}{Window name.}
\section{\class{wxToolBarMSW}}\label{wxtoolbarmsw}
This class should be used when a 3D-effect toolbar is required for Windows versions earlier
than Windows 95.
\wxheading{Derived from}
\helpref{wxToolBarBase}{wxtoolbarbase}\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
There are no specific styles for this class.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Remarks}
Note that this toolbar does not paint tools to reflect user-selected colours: grey shading is used.
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
\wxheading{See also}
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
\helpref{wxToolBar95}{wxtoolbar95}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxToolBarMSW::wxToolBarMSW}\label{wxtoolbarmswconstr}
\func{}{wxToolBarMSW}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
Constructs a toolbar.
\wxheading{Parameters}
\docparam{parent}{Parent window. Must not be NULL.}
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
the toolbar.}
\docparam{nRowsOrColumns}{Specifies the number of rows or
columns, whose meaning depends on {\it orientation}. If laid out
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
before the next column is started; if horizontal, it refers to the
number of columns to draw before the next row is started.}
\docparam{style}{Window style. See \helpref{wxToolBarMSW}{wxtoolbarmsw}.}
\docparam{name}{Window name.}
\section{\class{wxToolBarSimple}}\label{wxtoolbarsimple}
This is the generic toolbar class which has an identical appearance
on all platforms.
\wxheading{Derived from}
\helpref{wxToolBarBase}{wxtoolbarbase}\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Window styles}
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives the simple toolbar a mild 3D look to its buttons.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Remarks}
In this class, disabling a toolbar tool does not change its appearance.
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
\wxheading{See also}
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
\helpref{wxToolBar95}{wxtoolbar95}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxToolBarSimple::wxToolBarSimple}\label{wxtoolbarsimpleconstr}
\func{}{wxToolBarSimple}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
Constructs a toolbar.
\wxheading{Parameters}
\docparam{parent}{Parent window. Must not be NULL.}
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
the toolbar.}
\docparam{nRowsOrColumns}{Specifies the number of rows or
columns, whose meaning depends on {\it orientation}. If laid out
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
before the next column is started; if horizontal, it refers to the
number of columns to draw before the next row is started.}
\docparam{style}{Window style. See \helpref{wxToolBarSimple}{wxtoolbarsimple}.}
\docparam{name}{Window name.}
\helpref{wxToolBar::GetToolState}{wxtoolbargettoolstate}

View File

@@ -5,10 +5,11 @@
This chapter contains a selection of topic overviews.
\input tapp.tex
\input tlog.tex
\input tconfig.tex
\input tbitmap.tex
\input tdialog.tex
\input tfont.tex
\input tstring.tex
\input tsplittr.tex
\input ttreectl.tex
\input tlistctl.tex
@@ -33,5 +34,6 @@ This chapter contains a selection of topic overviews.
\input tvalidat.tex
\input texpr.tex
\input tgrid.tex
\input tstring.tex
\input tusage.tex

View File

@@ -24,6 +24,27 @@ able to edit labels in the tree control.}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
To process input from a tree control, use these event handler macros to direct input to member
functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument.
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
\twocolitem{{\bf EVT\_TREE\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
\twocolitem{{\bf EVT\_TREE\_DELETE\_ITEM(id, func)}}{Delete an item.}
\twocolitem{{\bf EVT\_TREE\_GET\_INFO(id, func)}}{Request information from the application.}
\twocolitem{{\bf EVT\_TREE\_SET\_INFO(id, func)}}{Information is being supplied.}
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDED(id, func)}}{Parent has been expanded.}
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{Parent is being expanded.}
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing.}
\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
\end{twocollist}%
\wxheading{See also}
\helpref{wxTreeCtrl overview}{wxtreectrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxListCtrl}{wxlistctrl},\rtfsp
@@ -90,12 +111,35 @@ Deletes all the items in the control.
Deletes the specified item.
\membersection{wxTreeCtrl::Edit}\label{wxtreectrledit}
\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
\func{wxTextCtrl\&}{Edit}{\param{long }{item}}
\func{wxTextCtrl*}{EditLabel}{\param{long }{item}, \param{wxClassInfo*}{ textControlClass = CLASSINFO(wxTextCtrl)}}
Starts editing the label of the given item, returning the text control that the tree control uses for editing.
Pass another {\it textControlClass} if a derived class is required. It usually will be, in order for
the application to detect when editing has finished and to call \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}.
Do not delete the text control yourself.
This function is currently supported under Windows only.
\wxheading{See also}
\helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}
\membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel}
\func{bool}{EndEditLabel}{\param{bool }{cancelEdit}}
Ends label editing. If {\it cancelEdit} is TRUE, the edit will be cancelled.
This function is currently supported under Windows only.
\wxheading{See also}
\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}
\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
\func{bool}{EnsureVisible}{\param{long }{item}}

View File

@@ -8,10 +8,13 @@ Another is that instances of a class cannot be created just by knowing the name
which makes facilities such as persistent storage hard to implement.
Most C++ GUI frameworks overcome these limitations by means of a set of
macros and functions and wxWindows (from version 1.62) is no exception.
macros and functions and wxWindows is no exception.
Each class that you wish to be known the type system should have
a macro such as DECLARE\_DYNAMIC\_CLASS just inside the class declaration.
The macro IMPLEMENT\_DYNAMIC\_CLASS should be in the implementation file.
Note that these are entirely optional; use them if you wish to check object
types, or create instances of classes using the class name. However,
it is good to get into the habit of adding these macros for all classes.
Variations on these \helpref{macros}{macros} are used for multiple inheritance, and abstract
classes that cannot be instantiated dynamically or otherwise.

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,6 @@
\section{Toolbar overview}\label{wxtoolbaroverview}
Classes: \helpref{wxToolBarBase}{wxtoolbarbase}, \helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
\helpref{wxToolBarMSW}{wxtoolbarmsw}, \helpref{wxToolBar95}{wxtoolbar95}
Classes: \helpref{wxToolBar}{wxtoolbar}
The toolbar family of classes allows an application to use toolbars
in a variety of configurations and styles.
@@ -16,21 +15,10 @@ out the classes. This is because there are a number of different toolbar
styles that you may wish to use simultaneously, and also, future
toolbar implementations will emerge (for example, using the
new-style Windows `coolbar' as seen in Microsoft applications) which
cannot be shoe-horned into the one class.
cannot all be shoe-horned into the one class.
This does mean that if you wish to use a more sophisticated toolbar
on one platform (say, wxToolBar95) and a simple toolbar on another
platform (wxToolBarSimple), then you will need some simple ifdefing, such as:
\begin{verbatim}
#ifdef wx_msw
# define wxToolBar wxToolBar95
#else
# define wxToolBar wxToolBarSimple
#endif
\end{verbatim}
Fortunately, the APIs of the toolbar classes are virtually identical.
For each platform, the symbol {\bf wxToolBar} is defined to be one of the
specific toolbar classes.
The following is a summary of the toolbar classes and their differences.
@@ -43,15 +31,15 @@ with the Windows look and feel. This toolbar can scroll, and you can have arbitr
numbers of rows and columns.
\item {\bf wxToolBarMSW.} This class implements an old-style Windows toolbar, only on
Windows. There are small, three-dimensional buttons, which do not (currently) reflect
the current Windows colour settings: the buttons are grey.
the current Windows colour settings: the buttons are grey. This is the default wxToolBar
on 16-bit windows.
\item {\bf wxToolBar95.} Uses the native Windows 95 toolbar class. It dynamically adjusts its
background and button colours according to user colour settings.
CreateTools must be called after the tools have been added.
No absolute positioning is supported but you can specify the number
of rows, and add tool separators with {\bf AddSeparator}. {\bf Layout} does nothing.
Tooltips are supported. {\bf OnRightClick} is not supported.
For some reason, a wxToolBar95 control cannot be moved to any
position other than the top-left of the frame.
of rows, and add tool separators with {\bf AddSeparator}.
Tooltips are supported. {\bf OnRightClick} is not supported. This is the default wxToolBar
on Windows 95, Windows NT 4 and above.
\end{itemize}
A toolbar might appear as a single row of images under
@@ -68,61 +56,229 @@ around the bitmap (for colour displays where inverting will not have
the desired result).
The Windows-specific toolbar classes expect 16-colour bitmaps that are 16 pixels wide and 15 pixels
high. If you want to use a different size, call {\bf SetDefaultSize}\rtfsp
high. If you want to use a different size, call {\bf SetToolBitmapSize}\rtfsp
as the demo shows, before adding tools to the button bar. Don't supply more than
one bitmap for each tool, because the toolbar generates all three images (normal,
depressed and checked) from the single bitmap you give it.
Mouse click events for a given button are sent to a member called
\rtfsp{\bf OnLeftClick}, and so an application must derive from wxToolBar in order
to use it. The application can also handle {\bf OnMouseEnter} events for
the tools, to give the user extra feedback about the tools as the mouse
moves over them.
To intercept
\subsection{Using the toolbar library}
Include one of the files {\tt tbarsmpl.h, tbar95.h, tbarmsw.h}.
Include {\tt "wx/toolbar.h"}, or if using a class directly, one of:
Example of toolbar use are given in the sample programs tbarsmpl,
tbarmsw and tbar95.
\begin{itemize}\itemsep=0pt
\item {\tt "wx/msw/tbarmsw.h} for wxToolBarMSW
\item {\tt "wx/msw/tbar95.h} for wxToolBar95
\item {\tt "wx/tbarsmpl.h} for wxToolBarSimple
\end{itemize}
Each sample creates a main window, and two toolbars: a floating toolbar
with 24 tools, and a toolbar along the top of the main drawing window, divided into groups.
The test program defines a general-purpose derived frame called
\rtfsp{\bf wxFrameWithToolBar} which can manage a frame with one main subwindow
and one horizontal toolbar.
Note that one of the bitmaps on the floating toolbar is a small version of the
main graphic: this demonstrates how a memory device context can be used to
draw into a bitmap. An application which allowed the user to build up a symbol
library dynamically might create this kind of bitmap.
Left clicks and movements over the toolbars are intercepted and information
is displayed on the status line.
The following fragment illustrates the essence of creating a toolbar.
Example of toolbar use are given in the sample program ``toolbar''. The
source is given below.
{\small
\begin{verbatim}
/////////////////////////////////////////////////////////////////////////////
// Name: test.cpp
// Purpose: wxToolBar sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/toolbar.h"
#include "test.h"
IMPLEMENT_APP(MyApp)
#ifdef __X__
// TODO: include XBM or XPM icons for X apps
#endif
// The `main program' equivalent, creating the windows and returning the
// main frame
bool MyApp::OnInit(void)
{
// Create the main frame window
MyFrame* frame = new MyFrame(NULL, -1, "wxToolBar Sample",
wxPoint(100, 100), wxSize(450, 300));
// Give it a status line
frame->CreateStatusBar();
// Give it an icon
#ifdef __WXMSW__
frame->SetIcon(wxIcon("mondrian"));
#endif
#ifdef __X__
frame->SetIcon(wxIcon("mondrian.xbm"));
#endif
// Make a menubar
wxMenu *fileMenu = new wxMenu;
fileMenu->Append(wxID_EXIT, "E&xit");
wxMenu *helpMenu = new wxMenu;
helpMenu->Append(wxID_HELP, "&About");
wxMenuBar* menuBar = new wxMenuBar;
menuBar->Append(fileMenu, "&File");
menuBar->Append(helpMenu, "&Help");
// Associate the menu bar with the frame
frame->SetMenuBar(menuBar);
// Create the toolbar
frame->CreateToolBar(wxNO_BORDER|wxHORIZONTAL|wxTB_FLAT, ID_TOOLBAR);
InitToolbar(frame->GetToolBar());
// Force a resize. This should probably be replaced by a call to a wxFrame
// function that lays out default decorations and the remaining content window.
frame->OnSize(wxSizeEvent(wxSize(-1, -1), frame->GetId()));
frame->Show(TRUE);
frame->SetStatusText("Hello, wxWindows");
SetTopWindow(frame);
return TRUE;
}
bool MyApp::InitToolbar(wxToolBar* toolBar)
{
toolBar->SetMargins(5, 5);
// Set up toolbar
wxBitmap* toolBarBitmaps[8];
#ifdef __WXMSW__
toolBarBitmaps[0] = new wxBitmap("icon1");
toolBarBitmaps[1] = new wxBitmap("icon2");
toolBarBitmaps[2] = new wxBitmap("icon3");
...
toolBarBitmaps[3] = new wxBitmap("icon4");
toolBarBitmaps[4] = new wxBitmap("icon5");
toolBarBitmaps[5] = new wxBitmap("icon6");
toolBarBitmaps[6] = new wxBitmap("icon7");
toolBarBitmaps[7] = new wxBitmap("icon8");
#endif
#ifdef __X__
// TODO
toolBarBitmaps[0] = new wxBitmap(...);
toolBarBitmaps[1] = new wxBitmap(...);
toolBarBitmaps[2] = new wxBitmap(...);
toolBarBitmaps[3] = new wxBitmap(...);
toolBarBitmaps[4] = new wxBitmap(...);
toolBarBitmaps[5] = new wxBitmap(...);
toolBarBitmaps[6] = new wxBitmap(...);
toolBarBitmaps[7] = new wxBitmap(...);
#endif
toolBarFrame = new wxFrame(NULL, "Tools", -1, wxPoint(0, 0), wxSize(300, 200),
wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP);
#ifdef __WXMSW__
int width = 24;
#else
int width = 16;
#endif
int offX = 5;
int currentX = 5;
// 5 rows
toolBar = new TestToolBar(toolBarFrame, -1, wxPoint(10, 10), wxSize(-1, -1), 0, wxVERTICAL, 5);
toolBar->SetMargins(2, 2);
toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
currentX += width + 5;
toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
currentX += width + 5;
toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
currentX += width + 5;
toolBar->AddSeparator();
toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
currentX += width + 5;
toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
currentX += width + 5;
toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
currentX += width + 5;
toolBar->AddSeparator();
toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
currentX += width + 5;
toolBar->AddSeparator();
toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, NULL, "Help");
for (int i = 10; i < 25; i++)
toolBar->AddTool(i, toolBarBitmaps[i], NULL, TRUE);
toolBar->Realize();
toolBar->Layout();
float maxWidth, maxHeight;
wxSize size(toolBar->GetMaxSize());
toolBarFrame->SetClientSize(maxSize.x, maxSize.y);
toolBarFrame->Show(TRUE);
// Can delete the bitmaps since they're reference counted
int i;
for (i = 0; i < 8; i++)
delete toolBarBitmaps[i];
return TRUE;
}
// wxID_HELP will be processed for the 'About' menu and the toolbar help button.
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
EVT_MENU(wxID_HELP, MyFrame::OnAbout)
EVT_CLOSE(MyFrame::OnCloseWindow)
EVT_TOOL_RANGE(wxID_OPEN, wxID_PASTE, MyFrame::OnToolLeftClick)
EVT_TOOL_ENTER(ID_TOOLBAR, MyFrame::OnToolEnter)
END_EVENT_TABLE()
// Define my frame constructor
MyFrame::MyFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos,
const wxSize& size, long style):
wxFrame(parent, id, title, pos, size, style)
{
m_textWindow = new wxTextCtrl(this, -1, "", wxPoint(0, 0), wxSize(-1, -1), wxTE_MULTILINE);
}
void MyFrame::OnQuit(wxCommandEvent& event)
{
Close(TRUE);
}
void MyFrame::OnAbout(wxCommandEvent& event)
{
(void)wxMessageBox("wxWindows wxToolBar demo\n", "About wxToolBar");
}
// Define the behaviour for the frame closing
// - must delete all frames except for the main one.
void MyFrame::OnCloseWindow(wxCloseEvent& event)
{
Destroy();
}
void MyFrame::OnToolLeftClick(wxCommandEvent& event)
{
wxString str;
str.Printf("Clicked on tool %d", event.GetId());
SetStatusText(str);
}
void MyFrame::OnToolEnter(wxCommandEvent& event)
{
if (event.GetSelection() > -1)
{
wxString str;
str.Printf("This is tool number %d", event.GetSelection());
SetStatusText(str);
}
else
SetStatusText("");
}
\end{verbatim}
}

Some files were not shown because too many files have changed in this diff Show More