Compare commits

...

295 Commits

Author SHA1 Message Date
Bryan Petty
c5691153e4 This commit was manufactured by cvs2svn to create tag 'wxPy-2-1-4'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/wxPy-2-1-4@3889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-07 23:40:33 +00:00
Robin Dunn
064f8bf6f8 removed some test code that accidentally was left in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 16:27:10 +00:00
Karsten Ballüder
74697a5713 cvs debugging
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 15:42:04 +00:00
Karsten Ballüder
e87d60c93b cvs debugging
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 15:40:04 +00:00
Julian Smart
a181ac202f Corrected setting back
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 15:04:05 +00:00
Michael Bedward
e685e57bbd Have to set focus to edit control when it is shown otherwise the
insertion point stays at the beginning of the text control under wxMotif.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 08:23:29 +00:00
Robin Dunn
13971833d8 now supports wxCURSOR_BULLSEYE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 07:09:26 +00:00
Robin Dunn
8f17924e73 added font encoding support
some more demos
some contributed items into the library
many little tweaks and such


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 07:03:36 +00:00
Robin Dunn
f0261a7246 added font encoding support
some more demos
some contributed items into the library
many little tweaks and such


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 06:22:25 +00:00
Michael Bedward
91233253ec ifdef'd out wxEmptyString. This is defined in string.cpp.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 05:45:05 +00:00
Michael Bedward
f85afd4e46 Added new wxGrid classes. This is a work in progress !
Define wxUSE_NEW_GRID as 1 in setup.h to compile the new wxGrid
otherwise the old wxGrid class will be compiled.
Treat with caution and expect bugs and missing bits at this stage.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 05:13:20 +00:00
Michael Bedward
10434f3c24 Added comments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 04:58:38 +00:00
Michael Bedward
e442cc0d9d Sample program for new wxGrid classes.
Define wxUSE_NEW_GRID as 1 in setup.h to use the new wxGrid.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-06 04:55:17 +00:00
Václav Slavík
704d25e2a3 PS printing now uses afm instead of gs_afm metrics
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 22:56:29 +00:00
David Webster
f0a56ab0c3 wxOS2 updates for 10/5/99
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 22:10:56 +00:00
Robert Roebling
f7a11f8c8e Updated configure (not only configure.in)
Refresh improvements


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 19:38:05 +00:00
Sylvain Bougnoux
fe8aa971c4 after a seek, reset error if error==EOF
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 07:34:27 +00:00
Sylvain Bougnoux
a20cd16ca0 warn if visual isn't found
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 07:22:36 +00:00
Unknown (JL)
aee3892569 Debug version with compiler switch /MDd
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 06:40:42 +00:00
Robin Dunn
d6d2b6ae8f Inceremented the version number for the DLL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 06:32:15 +00:00
David Webster
27476f7368 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-05 04:22:59 +00:00
Vadim Zeitlin
1bd1d102fd use BMPs and npt PNGs under MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 22:55:47 +00:00
Vadim Zeitlin
73974df1f9 MSW compilation (and other) fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 22:55:10 +00:00
Vadim Zeitlin
e90c1d2a19 many changes; major ones:
1. start of !wxUSE_GUI support
2. _T() macro renamed to T()
3. wxConvertWX2MB and MB2WX macro added


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 20:15:38 +00:00
Karsten Ballüder
9841339c74 ping method almost there
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 20:03:07 +00:00
Robert Roebling
1d61ebaca1 OpenGl updates (still gives warnings..)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 19:54:25 +00:00
Julian Smart
5e0201eaa1 Removed some unused parameter warnings; compile error in dialup.cpp corrected;
some commits are redundant (sorry)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 15:07:20 +00:00
Vadim Zeitlin
c5342938e2 attempt to fix makefile for make -j
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 14:23:44 +00:00
Vadim Zeitlin
5b95b795cc more new items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 14:05:10 +00:00
Vadim Zeitlin
f19d58d551 several new items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 13:59:36 +00:00
Julian Smart
302aa842e9 Added ProjGen for generating sample VC++ project files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 13:31:50 +00:00
Julian Smart
4658cb18f1 Added some makefiles etc. to nettest sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 13:23:39 +00:00
Vadim Zeitlin
d443da9d54 -ldl only added if it exists
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 12:56:01 +00:00
Julian Smart
9b94d7f91e Version numbering change, small additions to ToDo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 12:31:15 +00:00
Unknown (JL)
ef3ab00998 Renameing funktions from DIB to prevent name clashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 11:40:50 +00:00
Unknown (JL)
a61ddc4715 Renameing funktions to prevent name clashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 11:39:13 +00:00
Unknown (JL)
d676ebcf25 Parameter "small" renamed. Defined in a header file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 11:28:23 +00:00
Václav Slavík
d57bf68500 added GetTextExtent test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 09:18:00 +00:00
Karsten Ballüder
fa3e4baf13 minor fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 09:16:54 +00:00
Robert Roebling
9b7e522ae9 Applied a few old patches,
Changed dclick handling in wxFileDialog,
  Added cursor code to wxToolBar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-04 09:03:48 +00:00
Václav Slavík
a439ecef10 more AFM metrics fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 19:41:16 +00:00
Robert Roebling
f35c265988 If we used 10% less inline functions in useless occasions,
we would have 50% less to debug.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 19:33:07 +00:00
Václav Slavík
b714136483 changed to use 2 html windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 18:02:19 +00:00
Václav Slavík
f036b31cde postscript DC didn't check for AFM metrics
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 18:01:17 +00:00
Václav Slavík
2131a664df wxHTML 8.3 convention
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 17:56:02 +00:00
Karsten Ballüder
275abf24e1 wxDialUpManager fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 17:26:45 +00:00
Karsten Ballüder
c756f74260 updated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 15:57:28 +00:00
Vadim Zeitlin
24df4c19d9 forgot this one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 01:36:06 +00:00
Vadim Zeitlin
a0b4c98b8a 1. Win9x support + async dialing + many more for wxDialUpManager
2. renamed files from net.h/cpp to dialup.h/cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 01:33:05 +00:00
Vadim Zeitlin
1949cd9c5c I'm having some weird problems with cvs...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 01:30:31 +00:00
Vadim Zeitlin
4cd056a7c1 fixes I previously forgot to check in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-03 00:05:52 +00:00
Robert Roebling
5fd11f0971 Added test for wxTreeCtrl::GetChildrenCount()
Fixed Reparent (added heaps of debug code for this)
  Small mods to glcanvas


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 19:43:56 +00:00
Karsten Ballüder
1c8515f9ab Unix implementation of wxDialUpManager.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 18:29:54 +00:00
Václav Slavík
6782163029 did not compile under GCC2.95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 18:21:20 +00:00
Václav Slavík
69941f0586 making wxHTML 8.3 compliant
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 18:19:46 +00:00
Václav Slavík
47f631042b added wxHTML
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 18:18:00 +00:00
Václav Slavík
ad1fa80802 global makefile for samples now include html
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 18:17:33 +00:00
Guillermo Rodriguez Garcia
5c15428b75 PROCESS_EVENTS macro added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 15:21:29 +00:00
Julian Smart
25a37c8cb1 Added roadmap.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 14:15:58 +00:00
Václav Slavík
df9cbfc2bf removed declarations of static wxLoadQueryFont, wxLoadQueryNearestFont
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 13:41:13 +00:00
Robert Roebling
e8b04eb349 Updated doc for wxFileExists()
Corrected redrawing and OpenGl canvas
  Made new font code in utilsunix compile (Why does
    Vadim never need any headers?)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 10:56:10 +00:00
David Webster
f1415824cc *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 03:15:13 +00:00
David Webster
ce44c50e9b *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-02 01:44:39 +00:00
Vadim Zeitlin
def6fb9bd8 fix for Append() bug for sorted comboboxes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 23:00:58 +00:00
Vadim Zeitlin
83b1f35395 Borland makefiles fixes for .c files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 23:00:30 +00:00
Vadim Zeitlin
7cc391bd39 minor correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 22:50:26 +00:00
Vadim Zeitlin
09884325fc wxDialUpManager class (first draft, works only under Windows NT for now)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 22:42:17 +00:00
Vadim Zeitlin
7a903311aa virtual functionsignature corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 18:31:57 +00:00
Vadim Zeitlin
0661ec3993 wxCALLBACK added, wxCOMPFUNC_CONV moved to defs.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 18:27:51 +00:00
Vadim Zeitlin
ddc8c2e3ab wxFontEnumerator class for Motif/X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 18:01:54 +00:00
Robert Roebling
e1811a014b Improved wxFileDialog behaviour wrt to remembering filenames
Ported new scrolling code from wxWindow to wxScrollBar and
    wxSlider


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 15:41:15 +00:00
Vadim Zeitlin
93ccaed869 wxMotif::wxFont supports encodings too (and shares 99% of font code with wxGTK)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 14:59:52 +00:00
Vadim Zeitlin
d391a34510 renamed gsockmot.cpp to *.c
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 13:53:26 +00:00
Vadim Zeitlin
e1393d82b3 fix from Ron for one-shot timers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 13:21:34 +00:00
Julian Smart
5427610e6b Updates to VC++ project files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 11:41:15 +00:00
Vadim Zeitlin
1ccd74daf9 small font demo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 00:50:45 +00:00
Vadim Zeitlin
b9b3ccd9ea basic support for encodings for wxMSW::wxFont
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-01 00:49:52 +00:00
Guillermo Rodriguez Garcia
f85d901fcb new sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 23:56:10 +00:00
Guillermo Rodriguez Garcia
483249fc1a bugfixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 23:53:10 +00:00
Guillermo Rodriguez Garcia
75d684d9f7 All events now internally watched
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 23:44:00 +00:00
Guillermo Rodriguez Garcia
5bb0807e96 Uses wxSocketBase::Unread instead of CreatePushback
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 23:42:36 +00:00
Guillermo Rodriguez Garcia
96db102a93 Several changes and updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 23:41:33 +00:00
Vadim Zeitlin
8dc9904630 fixed compilation and added support for all 4 images (as a side effect) to the
generic tree control


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 23:25:19 +00:00
Robin Dunn
37f6a9770c gernerated source code updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 22:28:18 +00:00
Robin Dunn
60edeacfb7 version string is now quoted properly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 22:27:28 +00:00
Robin Dunn
e918362128 fixed an error in the sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 22:26:02 +00:00
Vadim Zeitlin
2ebcd5f5fd wxListCtrl::InsertItem returns the index of the inserted item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 22:17:02 +00:00
Robert Roebling
5e014a0c44 Corrected filelist.txt a little - one gsocket.c is enough,
Corrected cursors - not yet perfect,
  Added some tests to scroll sample
  Made wxScrolledWindow::Scroll() call Refresh(),
  Change wxListCtrl to reflect the latter change (wxTreeCtrl will follow),
  Added activate event for wxMDIChildFrame
  Implemented wxSIMPLE_BORDER for wxWindow (no controls),
  Tried to correct positioning upon start-up - no way,
  Rewrote catching of scroll events - page-up, page-down, up and down
    work now. Don't know what TOP and BOTTOM are used for.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 22:13:45 +00:00
Robin Dunn
a9221a9508 fixed the rule for the DLL so it doesn't build the .lib file twice
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 21:28:29 +00:00
Robin Dunn
e0f83017f5 added missing fontcmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 21:26:44 +00:00
Unknown (MT)
36e2955a64 only set parent frame ontop when the current frame being destructed is active
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 08:01:13 +00:00
Robin Dunn
76e1c2debf updates for wxPython docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 07:13:40 +00:00
Robin Dunn
2f90df854e 1. wxHtmlHelpController and related classes
2. the C++ versions of wxSizer and firends, Python versions are
   'depreciated'
3. wxPyEvent and wxPyCommandEvent, event classes that can carry some
   python objects through the event system and safely come back out
   again.
4. wxGridSizer and wxFlexGridSizer
5. wxValidator
6. wxPyOnDemandOutputWindow
7. several tweaks, fixes and additions of missing methods, etc.
8. and probably several other things I am forgetting since CVS was
   down so long...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 07:11:20 +00:00
Robin Dunn
2348eaee20 Created and wrapped wxPyControlPoint
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-30 06:58:38 +00:00
Vadim Zeitlin
74b31181b3 1. Implemented support for different icons for different states (expanded,
selected, combination of them) for the tree control (and doc'd it)
2. removed code which was sending extra event if wxFrame::SetSize() was
   used
3. important changes to wxWizard interface
4. small compilation corrections


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 22:47:56 +00:00
Sylvain Bougnoux
4f3ac40926 Change wxGetCurrentUTime as wxGetCurrentMTime (milli not micro!)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 19:51:04 +00:00
Sylvain Bougnoux
f0599ea919 Factorize timercmm.cpp code
Added wxGetCurrentUtime
Put extern declaration in wx/timer.h instead of wx/*/timer.h
Added wxChrono class


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 19:40:04 +00:00
Vadim Zeitlin
0c5d3e1ccd 1. added a brief overview of Unicode support
2. added and documented wxBITMAP() macros (as wxICON)
3. restructured wxFont class, added support of encoding parameter
4. regenerated makefiles to compile the new fontcmn.cpp file
5. corrected bug with non existing files in document-view history


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 19:02:07 +00:00
J. Russell Smyth
7a3ac80489 Added wxNB_LEFT,RIGHT,BOTTOM styles to alter tab placement
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 17:45:41 +00:00
J. Russell Smyth
ab20a9a95a Added defines to allow altered tab placement under gcc-2.95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 17:44:14 +00:00
J. Russell Smyth
a3a7f8791c Added wxNB_RIGHT,LEFT,BOTTOM flags for tab placement
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 17:41:05 +00:00
Vadim Zeitlin
fdb7dadb6e param type of wxWindow::Reparent() fixed in wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 17:35:52 +00:00
J. Russell Smyth
4a0253b82b Added wxNB_LEFT,RIGHT,BOTTOM for notebook tab placement
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 17:34:58 +00:00
Robin Dunn
a77aa9d600 Removed call to SetValidator since CreateBase was doing it already
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 16:10:48 +00:00
Julian Smart
1b9315eb77 Misc changes, including to wxPropertyForm and sample to make it work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 15:55:50 +00:00
Vadim Zeitlin
51c0a521a9 wxListCtrlCompare typedef now is defined correctly (was missing CALLBACK)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-29 15:18:58 +00:00
Vadim Zeitlin
866592d872 //... => /* ... */
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 11:44:12 +00:00
Vadim Zeitlin
172d3acb55 item about constants naming added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 11:39:52 +00:00
Michael Bedward
556921dc4e Ifdef'd out sample code for wxStaticBitmap. It's not working under
wxMOTIF at the moment.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 05:32:59 +00:00
Michael Bedward
ba7ce6a0b7 Added check to ensure that style arg to ctor has either wxHORIZONTAL or
wxVERTICAL. Without one of these the slider doesn't display under
Motif.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 05:22:34 +00:00
David Webster
23e4b7d824 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 05:16:03 +00:00
Michael Bedward
0ba1a6f33c Added code to wxMemoryDC ctor to set default font. This fixes the controls
sample which was crashing when calling wxDC::DrawText.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 03:29:16 +00:00
Michael Bedward
17023320be Added code to implement wxTE_READONLY style for single line text controls.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-21 02:37:29 +00:00
David Webster
4486e1be1f no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 22:29:47 +00:00
Robin Dunn
269e82009d I got tired of some of the memory leak messages related to html and
filesystem classes, (even when I wasn't using them) so I added to the
cleanup code already there.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 20:15:31 +00:00
Sylvain Bougnoux
d57eb7b9b3 add imagall.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 19:06:44 +00:00
Sylvain Bougnoux
b5a4a47df5 change wxImage::InitAllHandlers to wxInitAllImageHandlers and put it in a separate file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 19:05:49 +00:00
Sylvain Bougnoux
6e58e01afa *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 19:03:59 +00:00
David Webster
86de7616de More OS/2 changes and fixes. Getting there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 17:19:25 +00:00
Vadim Zeitlin
22aed133d8 the bitmaps in wxPropertyList are created on demand: this speeds up the
program startup and also cures the crash under wxMotif


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 16:22:26 +00:00
Vadim Zeitlin
dd85fc6b89 started separating GUI parts of wxLog from the rest
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 16:10:03 +00:00
Harco de Hilster
77cff60663 header inclusion fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 11:53:41 +00:00
Harco de Hilster
9c3d0b59c4 Removed obsolete files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 11:52:56 +00:00
Sylvain Bougnoux
a14e57f9f7 Add wxImage::InitAllHandlers()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 09:03:37 +00:00
David Webster
45fcbf3b7a *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 04:49:19 +00:00
Robin Dunn
0c0d686fe5 Added userData to wxSizerItems and other things to make sizers more
usable/overrideable from wxPython.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-20 03:12:49 +00:00
Robin Dunn
76f78a96ce Added CVS module for wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-19 18:54:02 +00:00
Robin Dunn
9cce9de16f updates of some SWIG generated stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 18:33:39 +00:00
Robin Dunn
10534c0bb1 some ifdef'd out things added back in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 18:23:56 +00:00
Robin Dunn
26197023a7 minor changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 18:21:02 +00:00
Robin Dunn
b2bc50e4ca more things to ignore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 18:20:13 +00:00
Vadim Zeitlin
9dea50fc65 setlocale() argument corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 18:02:58 +00:00
Vadim Zeitlin
90a53a3aed small underscores fix for GTK 1.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 17:59:05 +00:00
Vadim Zeitlin
572d746108 underscores in menu items handled too under GTK+ 1.2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 17:54:14 +00:00
Vadim Zeitlin
a4c970041c unused parameter warnings suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 17:34:17 +00:00
Vadim Zeitlin
ae8f576913 serbase.cpp added to the list of files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 17:23:20 +00:00
Vadim Zeitlin
964688d8ec unused parameter warnings suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 17:17:04 +00:00
Vadim Zeitlin
60df2e7d97 FreeBSD linking fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 17:14:49 +00:00
Vadim Zeitlin
6e31e94063 unused parameter warnings suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:57:21 +00:00
Vadim Zeitlin
45c94d784d typo fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:53:10 +00:00
Vadim Zeitlin
d2682f231a more files to ignore (*.env)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:51:31 +00:00
Vadim Zeitlin
07d4b94c3b ambiguous ctor call resolved
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3709 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:50:48 +00:00
Vadim Zeitlin
ec6e0a192c typo fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:49:31 +00:00
Vadim Zeitlin
014b0d064e unused parameter warnings suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:49:30 +00:00
Vadim Zeitlin
1fa609b166 more files to ignore (*.d and configarg.cache)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:48:25 +00:00
Vadim Zeitlin
0b862e2069 font selector dialog doesn't work with GTK+ 1.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:42:13 +00:00
Vadim Zeitlin
c8c0e54c70 extra consts removed here and there
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:39:08 +00:00
Vadim Zeitlin
284b4c8866 unused parameter warnings suppressed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:34:02 +00:00
Vadim Zeitlin
7d5af6fa6b 'static not in the beginning of the decl' warnings fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:32:53 +00:00
Vadim Zeitlin
077968ca5e Mac and OS2 files excluded from wxGTK and wxMSW modules
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 16:30:44 +00:00
Robin Dunn
5aeeab1454 Fixed wxTreeCtrl to use the proper bacground color from
SystemSettings, and changed how wxListCtrl used SystemSettings
too (static method doesn't need an instance.)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-18 00:10:03 +00:00
Vadim Zeitlin
086c94af90 compilation error corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 23:37:27 +00:00
Vadim Zeitlin
5d47c8a0d2 now we initialize wxListEvent correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 23:26:38 +00:00
Guillermo Rodriguez Garcia
186005466d Solved problem with wxhInstance name being mangled by MSVC; wxGetInstance is now extern C
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 22:24:28 +00:00
Guillermo Rodriguez Garcia
eb254be6df Solved problem with wxhInstance name being mangled by MSVC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 22:23:37 +00:00
David Webster
a419c3b116 More OS/2 stubs and caret fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 21:46:51 +00:00
David Webster
0616b8382d More stubs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 21:45:56 +00:00
Robin Dunn
2d0294308d uncommented a try...except that I had removed for testing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 15:43:05 +00:00
Robin Dunn
0190e1faf8 Don't need these in the demo directory anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 05:58:27 +00:00
Robin Dunn
e166644c53 New wxHtml stuff, including a TagHandler for placing wxPython widgets
on the html page.

Some other tweaks and fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 05:55:00 +00:00
Unknown (MT)
2819545569 set tooltip to be TOPMOST
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 04:03:10 +00:00
David Webster
77cd51c3de *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 03:29:33 +00:00
Guillermo Rodriguez Garcia
af2fd9613a - NOWAIT flag now implemented
- WaitForXXX are now correct (will not report readability / writability if
in the middle of a defered read / write operation)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 01:51:06 +00:00
Guillermo Rodriguez Garcia
236ef8a966 typedef unsigned int bool (instead of int) for consistency with defs.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-17 01:45:36 +00:00
Unknown (AN)
a3daed0276 call HasMask() before writing PNG files, as was done in WX_2_0_FIXES
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-16 19:24:01 +00:00
Vadim Zeitlin
9f6af110ff vetoing item collapse works again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-16 13:32:03 +00:00
Vadim Zeitlin
0b26605d52 use "cd dir && make" instead of "cd dir; make" which results in infinite loop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-16 11:37:41 +00:00
Michael Bedward
7183e38bec Added GetMainWidget() to fix bug that was causing crashes under wxMOTIF.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-16 10:32:03 +00:00
Patrick Albert
1e2c86ca5c Correcting minor painting problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-16 08:56:32 +00:00
Michael Bedward
1e8abce5e8 Modified wxTranslateMouseEvent so that it can recognize double clicks.
This allows double click events to be intercepted by panel items.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-16 07:33:16 +00:00
David Webster
9fea1a5d62 Updated makefiles for VisualAge C++ V3.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 21:56:39 +00:00
J. Russell Smyth
a6f989f3db corrected to allow drag and drop for mingw32/gcc295
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 21:45:36 +00:00
Vadim Zeitlin
7fb233050c added test for changing toolbar on the fly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 16:15:50 +00:00
Vadim Zeitlin
93840b31b9 removed some unneeded bit of test code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 15:22:48 +00:00
Vadim Zeitlin
455fadaa6a underscors are handled better in the menu item labels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 15:06:19 +00:00
Vadim Zeitlin
503f414edd corrected the bad patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 14:27:04 +00:00
Vadim Zeitlin
2e4f15693a patch for AIX compilation (Hans-Joachim Baader)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 14:12:22 +00:00
Guillermo Rodriguez Garcia
0ce742cf09 Checking for wxUSE_SOCKETS and __GSOCKET_STANDALONE__ should be right, now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 02:21:15 +00:00
Guillermo Rodriguez Garcia
7c235f0914 Now uses wxSocketBase::Error() to see if last IO call failed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 00:17:15 +00:00
Guillermo Rodriguez Garcia
17aa2bec08 Various small bugfixes
Serious bugfix in ReadMsg (Read was being called with buffer == NULL !)
Added m_error
Added error handling to all IO functions
Discard now correctly updates m_lcount
Implemented wxSocketBase::SetTimeout
Deleted wxSocketClient::OnRequest (all is handled inside wxSocketBase's)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 00:15:39 +00:00
Guillermo Rodriguez Garcia
68317b6d3f You CAN'T check for wxUSE_SOCKET *before* #including <wx/setup.h>!!! Who has done this?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 00:09:54 +00:00
Guillermo Rodriguez Garcia
7c395bf3a1 wxSocketBase::OnRequest is non.virtual now (and there is no wxSocketClient::OnRequest
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 00:04:44 +00:00
Guillermo Rodriguez Garcia
c21b68f7dd Added _GSOCKET_STANDALONE_ symbol
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-15 00:02:49 +00:00
Robin Dunn
3ef01ce5e3 Added GetParser method to wxHtmlWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 21:09:30 +00:00
J. Russell Smyth
4c2d8a30f6 Patches for mingw32/gcc-2.95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 21:03:19 +00:00
J. Russell Smyth
2d996ed1c4 Mingw32/gcc-2.95 change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 20:57:06 +00:00
J. Russell Smyth
6627a4b049 Changes for mingw32/gcc-2.95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 20:55:29 +00:00
J. Russell Smyth
0045dee3f4 Makefile for mingw/gcc-2.95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 20:54:48 +00:00
J. Russell Smyth
d04d2fb520 Added makeg295.env file for building with gcc-2.95/mingw
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 20:53:04 +00:00
J. Russell Smyth
eaac466a40 Added files for mingw32/gcc-2.95/norlander headers build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 20:52:00 +00:00
J. Russell Smyth
a98404cd24 Added makefile and resource script for building under mingw32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 20:30:33 +00:00
Harco de Hilster
91f491639e Changed AppendCommon (called by all Append methods) so it doesn't
call ApplyWidgetStyle (which applies the current style to all list_items,
which should already have the right style), but instead only applies
the style to the new list_item. This results in a *great* speedup for large
listboxes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 19:32:20 +00:00
Robin Dunn
761a9d2b1f ifdef'ed out GetBoundingRect for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 03:34:00 +00:00
Robin Dunn
a65c6e1446 No need to separate generated code for html because there are no
platform differences.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-14 02:17:59 +00:00
Robin Dunn
0f66a9f39d wxPython html module updates. The beginings of tag handler support.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:34:01 +00:00
Robin Dunn
5b626e7f84 Added ogl to the module list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:32:26 +00:00
Robin Dunn
ec3e670f9f The beginings of wxHtmlWindow support in the wxPython demo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:31:50 +00:00
Robin Dunn
d426c97e9a More tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:29:53 +00:00
Robin Dunn
389c55270a Moved wxPy_ConvertList function from oglhelpers to helpers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:28:10 +00:00
Robin Dunn
18ba9da6b9 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:20:10 +00:00
Robin Dunn
d098a3572c Changed HWND --> WXHWND in tooltip.h so it can be included in files
that don't include windows headers.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 19:19:57 +00:00
Robin Dunn
c23bbc11ea Now specifies the corrent EVT_ macro names for wxScrollBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 18:21:38 +00:00
Harco de Hilster
2e39ec8448 small fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 18:11:31 +00:00
Julian Smart
7cb86a4c28 Added DLL versions of project files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 17:53:28 +00:00
Robin Dunn
5454a9276b Now setting the right library switches for both platforms...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 17:46:50 +00:00
Harco de Hilster
6b5286d112 Fixed surplus space in help output.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 17:17:45 +00:00
Harco de Hilster
0940bcf7f5 Changed configure option --with-libgif to --enable-gif
gif now defines wxUSE_GIF instead of wxUSE_LIBGIF
also added --enable-pcx (wxUSE_PCX) and --enable-pnm (wxUSE_PNM).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 17:15:43 +00:00
Julian Smart
a19fb96bd0 Added VC++ 5 wxWin project files (not generated sample project files)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 14:31:48 +00:00
Julian Smart
28468136d0 Made HelpGen into a wxWin app (still uses command-line args); moved includes
into src for simplicity; added VC++ 5 project file


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 14:29:41 +00:00
Harco de Hilster
46c6b9c0ec new include file for change to new wxHtmlHelp classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 13:24:06 +00:00
Julian Smart
b31ba28885 Took anonymous class out of wxHtmlHelpFrame; corrected some typos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 13:16:28 +00:00
Robin Dunn
c596875e23 Configure support for OGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:18:36 +00:00
Unknown (MT)
ca8a9e603a add detachmenu, insert menu, replace menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:17:09 +00:00
Unknown (MT)
c399c2de41 use global hwndTT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:16:40 +00:00
Unknown (MT)
ea9a4296a2 Add detachmenu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:16:18 +00:00
Unknown (MT)
7682a175b6 Add wxTE_AUTO_SCROLL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:15:46 +00:00
Unknown (MT)
066f302c6c use a global hwndTT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:15:11 +00:00
Unknown (MT)
2c738dd87a add wxTE_AUTO_SCROLL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:14:27 +00:00
Unknown (MT)
ebb206a33d blit using icon mask
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:13:52 +00:00
Unknown (MT)
1cf27c6349 Add detachmenu, insert menu, replace menu.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 07:13:16 +00:00
Unknown (MT)
bfa2e032ef Added callback to start in current directory
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 06:38:43 +00:00
Robin Dunn
b661e6759e Allowed gsocket to compile when wxUSE_SOCKETS is 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 05:31:20 +00:00
Robin Dunn
2bbf461836 Makefile updates from new filelist.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 05:30:01 +00:00
Robin Dunn
f42b1601d6 Fixed some compile errors (MSVC++ 6) and some very strange link errors when
building a DLL.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 05:27:36 +00:00
Robin Dunn
e6a5dc94a4 Added implicit rule for building .c files in msw directory (gsocket)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 05:25:30 +00:00
Robin Dunn
fcd4694c3e Allowed tbarsmpl to be built for win32 as it still has its uses.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 05:24:57 +00:00
Robin Dunn
a0250ba3e5 Added WXDLLEXPORT's to the class definitions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 03:49:33 +00:00
Robin Dunn
a097c93d4f Some OGl updates:
uses wxINVERT instead of wxXOR

	a couple minor tweaks

	VC makefiles now use Debug and Release for object files
	depending on FINAL


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 03:08:57 +00:00
Robin Dunn
93c95e18f4 Made wxNO_DEFAULT set the "no" button as the default, according to the docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-13 02:50:35 +00:00
Harco de Hilster
90bb2919de fixed typo (?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-12 18:49:59 +00:00
Harco de Hilster
8ec2b48446 New HTML help system. The old controller class has been split in
three parts; basic data, a frame and a controller. Docs will appear
shortly...

All Makefiles should be correctly updated. To be sure, I put an
#error pragma in the old files, which will be removed in a few days.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-12 17:45:34 +00:00
Guillermo Rodriguez Garcia
a0378c28b8 fixed (didn't work at all)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-12 11:19:35 +00:00
Guillermo Rodriguez Garcia
4c28d606dd Added _GSocket_Configure()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-12 11:18:15 +00:00
Guillermo Rodriguez Garcia
2f7c2af547 Fixed a bug when GSocket_SetCallback was used before allocating the internal socket
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-12 11:17:00 +00:00
Guillermo Rodriguez Garcia
83802b0bd9 little changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-11 20:30:17 +00:00
Guillermo Rodriguez Garcia
fade627a81 Prototypes for some _internal_ functions had to be changed (API remains the same)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-11 20:29:50 +00:00
Guillermo Rodriguez Garcia
e9e3e3abaf Added GSocket_Select() and removed some unused functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-11 20:29:14 +00:00
Guillermo Rodriguez Garcia
56d8adc0c0 - Completed WaitOnAccept
- Rewritten all the WaitXXX functions so that they do not depend on the
event notification system.
- Rewritten all the internal event system; now all events are internally
monitorized, but users are notified only of these events they are
interested in. This solves a lot of hard-to-catch little problems
and bugs which could arise sometimes.
- Rewritten all the automatic event notifier code.
- Added callback management code, which had been forgotten (badly needed
for wxTCPConnection in IPC classes)
- Fixed wxSocketBase::Write(), which didn't honour the WAITALL flag.
- Fixed some other bugs.
- The code is now much more stable and robust than before (because
the architecture is more robust, but it still needs testing).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-11 20:27:55 +00:00
Guillermo Rodriguez Garcia
ef25e6386d Added GSocket_Select()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-11 20:17:49 +00:00
Guillermo Rodriguez Garcia
483c6690e9 Added GSocket_Select() and fixed some things
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-11 20:14:30 +00:00
Harco de Hilster
1235650ffb sensible default...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 19:14:15 +00:00
Robin Dunn
b730516c98 Made wxNO_DEFAULT set the "no" button as the default, according to the docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 17:57:47 +00:00
Robin Dunn
e91a9dfcc3 wxPython module for OGL added.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 06:25:47 +00:00
Robin Dunn
1afc06c2d8 Some tweaks and updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 06:23:48 +00:00
Robin Dunn
922dc97681 Better dependency checking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 06:23:03 +00:00
Robin Dunn
3ab72185cb Put Get/Set/Push/PopEventHandler methods back in.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 06:11:12 +00:00
Robin Dunn
d559219f40 Lots more support for event-less callbacks
Exported some symbols for the other modules to use
etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-10 06:05:32 +00:00
Guillermo Rodriguez Garcia
228b910aea wxUSE_GIF instead of wxUSE_LIBGIF
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:20:37 +00:00
Guillermo Rodriguez Garcia
9ab6ee851e Ops. wxUSE_XXX and wxUSE_STREAMS are separated again :-)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:19:18 +00:00
Guillermo Rodriguez Garcia
2b98cb1f84 small changes here and there
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:16:11 +00:00
Guillermo Rodriguez Garcia
83b1bfaac9 wxUSE_GIF instead of wxUSE_LIBGIF
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:14:22 +00:00
Guillermo Rodriguez Garcia
83413d6d2d *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:12:08 +00:00
Guillermo Rodriguez Garcia
35809fe3d7 Accept, AcceptWith -> wait parameter
WaitOnAccept
m_establishing member for correct WaitOnConnect


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:08:31 +00:00
Guillermo Rodriguez Garcia
d80d1aba10 Fixed WaitOnConnect().
Added wait parameter to Accept() and AcceptWith()
Added WaitOnAccept() (incomplete)
Added about a dozen or so small bugfixes here and there.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:03:20 +00:00
Guillermo Rodriguez Garcia
7be110e30d Replaced wxUSE_LIBGIF with wxUSE_GIF
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 22:01:30 +00:00
Guillermo Rodriguez Garcia
b9b32d5c4f Added #include "wx/setup.h" (or "wx/defs.h") before checking for
wxUSE_***

Merged wxUSE_*** and wxUSE_STREAM (is this right?)

Replaced wxUSE_LIBGIF with wxUSE_GIF everywhere


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 21:58:54 +00:00
David Webster
6f349458f6 VisualAge C++ V4.0 configuration files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 21:24:24 +00:00
David Webster
feeb816597 Latest OS/2 compiler bug fixes for common and generic
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 21:22:51 +00:00
Guillermo Rodriguez Garcia
cb421e53cb Fixed some bus in Connect()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 19:16:23 +00:00
Karsten Ballüder
a16d3c04d7 cosmetic fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 13:41:40 +00:00
Guillermo Rodriguez Garcia
11235b74ce Nothing serious here :-)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 12:25:47 +00:00
Julian Smart
33bbfe4b23 Small bug fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 11:22:20 +00:00
Karsten Ballüder
0b1c443719 no more errors in make clean
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-09 08:56:09 +00:00
Guillermo Rodriguez Garcia
aa3981f2c6 Bugfix in GSocket_Cleanup()
GSocket_Connect and GSocket_WaitConnection now detect EWOULDBLOCK
errors and act accordingly (this is needed for correct wxSocket
behaviour)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-08 22:13:48 +00:00
Julian Smart
2f85113366 Fixed cursor loading on Win95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-08 12:39:41 +00:00
Julian Smart
b70ababc14 Added wxTE_NO_VSCROLL style; corrected joystick event class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-08 08:29:49 +00:00
Guillermo Rodriguez Garcia
2618484fed Little changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 16:23:46 +00:00
Guillermo Rodriguez Garcia
881eba2c0d Added -lwsock32 (needed for socket support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 15:40:37 +00:00
Guillermo Rodriguez Garcia
a9775f1f58 Added gsocket.c for MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 15:37:31 +00:00
Guillermo Rodriguez Garcia
791b24c405 wxSocketClient::Connect() now honours the 'wait' parameter.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 15:34:27 +00:00
Guillermo Rodriguez Garcia
9bbd7ba3ea GSocket for MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 15:25:48 +00:00
Guillermo Rodriguez Garcia
904ec517d3 Header file for MSW GSocket
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 15:20:51 +00:00
Julian Smart
2ef1f50a94 Corrected #include in gsockmot.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 08:22:23 +00:00
J. Russell Smyth
1a9469d7cb Fixed include gsockunix.h line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-07 05:28:25 +00:00
Guilhem Lavaux
533c7161fc Moved gsockunx.h from src/unix to include/wx/unix
Added include/wx/unix/gsockunx.h to Makefile.in


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-06 19:06:46 +00:00
Patrick Albert
63dcfc151b Added documentation for wxMenuBar::Refresh()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-06 12:54:56 +00:00
Patrick Albert
fbb90f7f2b Changed scope of wxMenuBar::Refresh() from protected to public.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-06 12:53:09 +00:00
Julian Smart
2f435842c5 Added missing constant
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-06 12:15:33 +00:00
Julian Smart
24126cdde8 Changed value of wxGA_SMOOTH (clashed with wxVERTICAL)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-06 12:12:53 +00:00
Julian Smart
543f08a676 Added wxFontEnumerator class for wxMSW, and fixed text validator for French
decimal point (",").


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-06 09:36:21 +00:00
Vadim Zeitlin
d87a962086 some fixes for VC++ 1.5 makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 20:45:24 +00:00
Julian Smart
7e9a386e10 Fixed some doc problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 19:42:03 +00:00
Julian Smart
1044a386f0 Misc. 16-bit compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 15:14:50 +00:00
Julian Smart
ed75793627 Updating corrupt file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 14:09:49 +00:00
Guilhem Lavaux
aa6d970619 Updated wxSocket documentation
Renamed GSOCK_TIMEOUT to GSOCK_TIMEDOUT
Added wxURL::ConvertFromURI
Use wxUSE_LIBGIF in imaggif.cpp and samples/html/test/test.cpp
Full implementation of "timeout"s in gsocket.c
Non-blocking WaitConnection()/Connect() are supported now.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 10:23:22 +00:00
Guilhem Lavaux
de3131e784 Changed some more name in wxSocket (internal)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 06:46:38 +00:00
Michael Bedward
da4a658da4 What is it doing here anyway ?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 06:33:31 +00:00
Guilhem Lavaux
aa8fb7a016 Added GSocket/wxSocket alias to socket.h to prevent us from using GSocket
internal symbols
Added G721 filter for Wave
Fixed a bug in wxsocket sample


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 05:51:05 +00:00
Michael Bedward
11d737b409 Modifed ShowModal() function so that you can have dialogs with yes, no and cancel buttons.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-05 03:31:27 +00:00
Harco de Hilster
e951f847fa fixed crashing generic dir dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-03 10:54:26 +00:00
Michael Bedward
b387781ceb Added statline, checklst and spinbutt file to wxMotif compilation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-03 05:19:10 +00:00
Michael Bedward
d84b1219a5 Enabled wxStaticLine for wxMotif. Added checklst.cpp and spinbutt.cpp to Motif compilation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-03 05:16:19 +00:00
Michael Bedward
7a4b8f2770 Fixes for gcc 2.95 and AIX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-03 04:18:50 +00:00
Guilhem Lavaux
765e386bfa Added a test to wxSocket sample (client side socket event test)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-02 19:11:38 +00:00
Julian Smart
da4b7ffc78 SetMenuBar potential memory leak fixed; added wxTAB_TRAVERSAL as dummy (0) style
for backward compatibility


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-09-02 08:23:23 +00:00
895 changed files with 104155 additions and 58966 deletions

View File

@@ -3,6 +3,7 @@ bin
.gdb_history
Test
config.cache
configarg.cache
config.status
system.list
linux.system.cache
@@ -17,6 +18,7 @@ linux-gnu.system.cache
*.ncb
*.pro
*.opt
*.d
Release
Debug
ReleaseDLL

View File

@@ -1,5 +1,5 @@
#
# This file was automatically generated by tmake at 15:02, 1999/08/29
# This file was automatically generated by tmake at 15:20, 1999/10/04
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE UNX.T!
#
@@ -555,17 +555,19 @@ PROTOCOL_HEADERS = \
protocol/protocol.h
HTML_HEADERS = \
html/forcelink.h \
html/forcelnk.h \
html/helpctrl.h \
html/helpdata.h \
html/helpfrm.h \
html/htmlcell.h \
html/htmldefs.h \
html/htmlfilter.h \
html/htmlhelp.h \
html/htmlparser.h \
html/htmlfilt.h \
html/htmlpars.h \
html/htmltag.h \
html/htmlwin.h \
html/htmlwinparser.h \
html/mod_templ.h \
html/version.h
html/m_templ.h \
html/version.h \
html/winpars.h
GTK_GENERICOBJS = \
busyinfo.o \
@@ -581,6 +583,7 @@ GTK_GENERICOBJS = \
imaglist.o \
laywin.o \
listctrl.o \
logg.o \
msgdlgg.o \
numdlgg.o \
panelg.o \
@@ -613,6 +616,7 @@ GTK_GENERICDEPS = \
imaglist.d \
laywin.d \
listctrl.d \
logg.d \
msgdlgg.d \
numdlgg.d \
panelg.d \
@@ -652,6 +656,7 @@ GTK_COMMONOBJS = \
fileconf.o \
filefn.o \
filesys.o \
fontcmn.o \
framecmn.o \
fs_inet.o \
fs_zip.o \
@@ -661,6 +666,7 @@ GTK_COMMONOBJS = \
hash.o \
helpbase.o \
http.o \
imagall.o \
imagbmp.o \
image.o \
imaggif.o \
@@ -688,6 +694,7 @@ GTK_COMMONOBJS = \
sckfile.o \
sckipc.o \
sckstrm.o \
serbase.o \
sizer.o \
socket.o \
strconv.o \
@@ -736,6 +743,7 @@ GTK_COMMONDEPS = \
fileconf.d \
filefn.d \
filesys.d \
fontcmn.d \
framecmn.d \
fs_inet.d \
fs_zip.d \
@@ -745,6 +753,7 @@ GTK_COMMONDEPS = \
hash.d \
helpbase.d \
http.d \
imagall.d \
imagbmp.d \
image.d \
imaggif.d \
@@ -772,6 +781,7 @@ GTK_COMMONDEPS = \
sckfile.d \
sckipc.d \
sckstrm.d \
serbase.d \
sizer.d \
socket.d \
strconv.d \
@@ -932,6 +942,7 @@ MOTIF_GENERICOBJS = \
imaglist.o \
laywin.o \
listctrl.o \
logg.o \
msgdlgg.o \
notebook.o \
numdlgg.o \
@@ -945,6 +956,7 @@ MOTIF_GENERICOBJS = \
sashwin.o \
scrolwin.o \
splitter.o \
statline.o \
statusbr.o \
tabg.o \
textdlgg.o \
@@ -967,6 +979,7 @@ MOTIF_GENERICDEPS = \
imaglist.d \
laywin.d \
listctrl.d \
logg.d \
msgdlgg.d \
notebook.d \
numdlgg.d \
@@ -980,6 +993,7 @@ MOTIF_GENERICDEPS = \
sashwin.d \
scrolwin.d \
splitter.d \
statline.d \
statusbr.d \
tabg.d \
textdlgg.d \
@@ -1010,6 +1024,7 @@ MOTIF_COMMONOBJS = \
fileconf.o \
filefn.o \
filesys.o \
fontcmn.o \
framecmn.o \
fs_inet.o \
fs_zip.o \
@@ -1019,6 +1034,7 @@ MOTIF_COMMONOBJS = \
hash.o \
helpbase.o \
http.o \
imagall.o \
imagbmp.o \
image.o \
imaggif.o \
@@ -1047,6 +1063,7 @@ MOTIF_COMMONOBJS = \
sckfile.o \
sckipc.o \
sckstrm.o \
serbase.o \
sizer.o \
socket.o \
strconv.o \
@@ -1097,6 +1114,7 @@ MOTIF_COMMONDEPS = \
fileconf.d \
filefn.d \
filesys.d \
fontcmn.d \
framecmn.d \
fs_inet.d \
fs_zip.d \
@@ -1106,6 +1124,7 @@ MOTIF_COMMONDEPS = \
hash.d \
helpbase.d \
http.d \
imagall.d \
imagbmp.d \
image.d \
imaggif.d \
@@ -1134,6 +1153,7 @@ MOTIF_COMMONDEPS = \
sckfile.d \
sckipc.d \
sckstrm.d \
serbase.d \
sizer.d \
socket.d \
strconv.d \
@@ -1170,6 +1190,7 @@ MOTIF_GUIOBJS = \
brush.o \
button.o \
checkbox.o \
checklst.o \
choice.o \
clipbrd.o \
colour.o \
@@ -1185,6 +1206,7 @@ MOTIF_GUIOBJS = \
dialog.o \
filedlg.o \
font.o \
fontenum.o \
frame.o \
gauge.o \
gdiobj.o \
@@ -1205,6 +1227,7 @@ MOTIF_GUIOBJS = \
scrolbar.o \
settings.o \
slider.o \
spinbutt.o \
statbmp.o \
statbox.o \
stattext.o \
@@ -1223,6 +1246,7 @@ MOTIF_GUIDEPS = \
brush.d \
button.d \
checkbox.d \
checklst.d \
choice.d \
clipbrd.d \
colour.d \
@@ -1238,6 +1262,7 @@ MOTIF_GUIDEPS = \
dialog.d \
filedlg.d \
font.d \
fontenum.d \
frame.d \
gauge.d \
gdiobj.d \
@@ -1258,6 +1283,7 @@ MOTIF_GUIDEPS = \
scrolbar.d \
settings.d \
slider.d \
spinbutt.d \
statbmp.d \
statbox.d \
stattext.d \
@@ -1273,6 +1299,7 @@ MSW_GENERICOBJS = \
dirdlgg.o \
gridg.o \
laywin.o \
logg.o \
numdlgg.o \
panelg.o \
progdlgg.o \
@@ -1294,6 +1321,7 @@ MSW_GENERICDEPS = \
dirdlgg.d \
gridg.d \
laywin.d \
logg.d \
numdlgg.d \
panelg.d \
progdlgg.d \
@@ -1332,6 +1360,7 @@ MSW_COMMONOBJS = \
fileconf.o \
filefn.o \
filesys.o \
fontcmn.o \
framecmn.o \
fs_inet.o \
fs_zip.o \
@@ -1341,6 +1370,7 @@ MSW_COMMONOBJS = \
hash.o \
helpbase.o \
http.o \
imagall.o \
imagbmp.o \
image.o \
imaggif.o \
@@ -1368,12 +1398,14 @@ MSW_COMMONOBJS = \
sckfile.o \
sckipc.o \
sckstrm.o \
serbase.o \
sizer.o \
socket.o \
strconv.o \
stream.o \
string.o \
tbarbase.o \
tbarsmpl.o \
textcmn.o \
textfile.o \
time.o \
@@ -1417,6 +1449,7 @@ MSW_COMMONDEPS = \
fileconf.d \
filefn.d \
filesys.d \
fontcmn.d \
framecmn.d \
fs_inet.d \
fs_zip.d \
@@ -1426,6 +1459,7 @@ MSW_COMMONDEPS = \
hash.d \
helpbase.d \
http.d \
imagall.d \
imagbmp.d \
image.d \
imaggif.d \
@@ -1453,12 +1487,14 @@ MSW_COMMONDEPS = \
sckfile.d \
sckipc.d \
sckstrm.d \
serbase.d \
sizer.d \
socket.d \
strconv.d \
stream.d \
string.d \
tbarbase.d \
tbarsmpl.d \
textcmn.d \
textfile.d \
time.d \
@@ -1514,6 +1550,7 @@ MSW_GUIOBJS = \
frame.o \
gauge95.o \
gdiobj.o \
gsocket.o \
helpwin.o \
icon.o \
imaglist.o \
@@ -1599,6 +1636,7 @@ MSW_GUIDEPS = \
frame.d \
gauge95.d \
gdiobj.d \
gsocket.d \
helpwin.d \
icon.d \
imaglist.d \
@@ -1650,49 +1688,53 @@ MSW_GUIDEPS = \
xpmhand.d
HTMLOBJS = \
helpctrl.o \
helpdata.o \
helpfrm.o \
htmlcell.o \
htmlfilter.o \
htmlhelp.o \
htmlhelp_io.o \
htmlparser.o \
htmlfilt.o \
htmlpars.o \
htmltag.o \
htmlwin.o \
htmlwinparser.o \
mod_fonts.o \
mod_hline.o \
mod_image.o \
mod_layout.o \
mod_links.o \
mod_list.o \
mod_pre.o \
mod_tables.o \
search.o
m_fonts.o \
m_hline.o \
m_image.o \
m_layout.o \
m_links.o \
m_list.o \
m_pre.o \
m_tables.o \
search.o \
winpars.o
HTMLDEPS = \
helpctrl.d \
helpdata.d \
helpfrm.d \
htmlcell.d \
htmlfilter.d \
htmlhelp.d \
htmlhelp_io.d \
htmlparser.d \
htmlfilt.d \
htmlpars.d \
htmltag.d \
htmlwin.d \
htmlwinparser.d \
mod_fonts.d \
mod_hline.d \
mod_image.d \
mod_layout.d \
mod_links.d \
mod_list.d \
mod_pre.d \
mod_tables.d \
search.d
m_fonts.d \
m_hline.d \
m_image.d \
m_layout.d \
m_links.d \
m_list.d \
m_pre.d \
m_tables.d \
search.d \
winpars.d
UNIXOBJS = \
dialup.o \
gsocket.o \
threadpsx.o \
utilsunx.o
UNIXDEPS = \
dialup.d \
gsocket.d \
threadpsx.d \
utilsunx.d
@@ -1779,16 +1821,55 @@ JPEGOBJS = \
jquant2.o \
jdmerge.o
BASE_OBJS = \
dynarray.o \
event.o \
hash.o \
intl.o \
init.o \
file.o \
filefn.o \
list.o \
log.o \
object.o \
string.o \
utilscmn.o \
utilsunx.o
OBJECTS = $(@GUIOBJS@) $(@COMMONOBJS@) $(@GENERICOBJS@) $(@UNIXOBJS@) $(HTMLOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
BASE_DEPS = \
dynarray.d \
event.d \
hash.d \
intl.d \
init.d \
file.d \
filefn.d \
list.d \
log.d \
object.d \
string.d \
utilscmn.d \
utilsunx.d
DEPFILES = $(@GUIDEPS@) $(@COMMONDEPS@) $(@GENERICDEPS@) $(UNIXDEPS) $(HTMLDEPS)
BASE_HEADERS =
HEADERS = $(@GUIHEADERS@) $(HTML_HEADERS) $(UNIX_HEADERS) $(PROTOCOL_HEADERS) \
$(GENERIC_HEADERS) $(WX_HEADERS)
GUIOBJS = @GUIOBJS@
GUIDEPS = @GUIDEPS@
GUIHEADERS = @GUIHEADERS@
COMMONOBJS = @COMMONOBJS@
COMMONDEPS = @COMMONDEPS@
GENERICOBJS = @GENERICOBJS@
GENERICDEPS = @GENERICDEPS@
UNIXOBJS = @UNIXOBJS@
UNIXDEPS = @UNIXDEPS@
all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@
OBJECTS = @ALL_OBJECTS@
DEPFILES = @ALL_DEPFILES@
HEADERS = @ALL_HEADERS@
all: @WX_CREATE_LINKS@
@WX_LIBRARY_NAME_STATIC@: $(OBJECTS)
@$(INSTALL) -d ./lib
@@ -1799,7 +1880,7 @@ all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@
@$(INSTALL) -d ./lib
$(SHARED_LD) ./lib/$@ $(OBJECTS) $(EXTRALIBS)
CREATE_LINKS: ./lib/@WX_TARGET_LIBRARY@
CREATE_LINKS: @WX_TARGET_LIBRARY@
@$(RM) ./lib/@WX_LIBRARY_LINK1@
@$(RM) ./lib/@WX_LIBRARY_LINK2@
@$(RM) ./lib/@WX_LIBRARY_LINK3@

118
Mingw32-gcc295.patches Normal file
View File

@@ -0,0 +1,118 @@
*** \gcc-inc\basetyps.h Sat Jul 31 16:48:36 1999
--- basetyps.h Fri Aug 06 11:14:36 1999
***************
*** 74,91 ****
--- 74,97 ----
STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
}
#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
+ #ifndef GUID_DEFINED
+ #define GUID_DEFINED
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
+ #endif /* GUID_DEFINED */
typedef GUID *REFGUID;
typedef GUID *LPGUID;
+ #ifndef UUID_DEFINED
+ #define UUID_DEFINED
typedef GUID UUID;
+ #endif /* UUID_DEFINED */
typedef GUID IID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef IID *LPIID;
*** \gcc-inc\oaidl.h Sat Jul 31 16:48:42 1999
--- oaidl.h Fri Aug 06 13:18:48 1999
***************
*** 39,44 ****
--- 39,53 ----
#define IMPLTYPEFLAG_FRESTRICTED 4
#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
+ #define DISPID_UNKNOWN ( -1 )
+ #define DISPID_VALUE ( 0 )
+ #define DISPID_PROPERTYPUT ( -3 )
+ #define DISPID_NEWENUM ( -4 )
+ #define DISPID_EVALUATE ( -5 )
+ #define DISPID_CONSTRUCTOR ( -6 )
+ #define DISPID_DESTRUCTOR ( -7 )
+ #define DISPID_COLLECT ( -8 )
+
typedef interface ITypeLib *LPTYPELIB;
typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
***************
*** 49,54 ****
--- 58,73 ----
typedef interface IDispatch *LPDISPATCH;
typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
+ extern "C" const IID IID_ITypeLib;
+ extern "C" const IID IID_ICreateTypeInfo;
+ extern "C" const IID IID_ICreateTypeInfo2;
+ extern "C" const IID IID_ICreateTypeLib;
+ extern "C" const IID IID_ICreateTypeLib2;
+ extern "C" const IID IID_ITypeInfo;
+ extern "C" const IID IID_IErrorInfo;
+ extern "C" const IID IID_IDispatch;
+ extern "C" const IID IID_ICreateErrorInfo;
+
typedef enum tagSYSKIND {
SYS_WIN16,SYS_WIN32,SYS_MAC
} SYSKIND;
***************
*** 375,382 ****
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID)
PURE;
! STDMETHOD(Invoked)(THIS_
DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
};
#ifdef __cplusplus
--- 394,401 ----
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*)
PURE;
! STDMETHOD(Invoke)(THIS_
DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
};
#ifdef __cplusplus
*** \gcc-inc\objidl.h Sat Jul 31 16:48:42 1999
--- objidl.h Fri Aug 06 11:00:19 1999
***************
*** 627,633 ****
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC*) PURE;
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);
--- 627,633 ----
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE;
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);

1659
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -64,8 +64,8 @@ main ()
if (gtk_minor_version == 1) return FALSE;
return !((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
@@ -661,7 +661,6 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_ZLIB=no
DEFAULT_wxUSE_LIBPNG=no
DEFAULT_wxUSE_LIBGIF=no
DEFAULT_wxUSE_LIBJPEG=no
DEFAULT_wxUSE_ODBC=no
@@ -674,6 +673,7 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_CONFIG=no
DEFAULT_wxUSE_STREAMS=no
DEFAULT_wxUSE_SOCKETS=no
DEFAULT_wxUSE_DIALUP_MANAGER=no
DEFAULT_wxUSE_SERIAL=no
DEFAULT_wxUSE_JOYSTICK=no
DEFAULT_wxUSE_DYNLIB_CLASS=no
@@ -744,6 +744,10 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no
DEFAULT_wxUSE_GIF=no
DEFAULT_wxUSE_PCX=no
DEFAULT_wxUSE_PNM=no
else
DEFAULT_wxUSE_THREADS=yes
@@ -768,7 +772,6 @@ else
DEFAULT_wxUSE_ZLIB=yes
DEFAULT_wxUSE_LIBPNG=yes
DEFAULT_wxUSE_LIBGIF=yes
DEFAULT_wxUSE_LIBJPEG=yes
DEFAULT_wxUSE_ODBC=no
@@ -781,6 +784,7 @@ else
DEFAULT_wxUSE_CONFIG=yes
DEFAULT_wxUSE_STREAMS=yes
DEFAULT_wxUSE_SOCKETS=yes
DEFAULT_wxUSE_DIALUP_MANAGER=yes
DEFAULT_wxUSE_SERIAL=yes
DEFAULT_wxUSE_JOYSTICK=yes
DEFAULT_wxUSE_DYNLIB_CLASS=yes
@@ -851,6 +855,10 @@ else
DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no
DEFAULT_wxUSE_GIF=yes
DEFAULT_wxUSE_PCX=yes
DEFAULT_wxUSE_PNM=yes
fi
dnl WX_ARG_WITH should be used to select whether an external package will be
@@ -872,6 +880,85 @@ for toolkit in `echo $ALL_TOOLKITS`; do
fi
done
dnl ---------------------------------------------------------------------------
dnl --disable-gui will build only non-GUI part of wxWindows: check for this
dnl first to disable many other switches if it's given
dnl
dnl NB: this is still in testing stage, don't use if you don't know what you're
dnl doing
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
dnl disable everything GUI related then
if test "$wxUSE_GUI" = "no"; then
DEFAULT_wxUSE_ZLIB=no
DEFAULT_wxUSE_LIBPNG=no
DEFAULT_wxUSE_LIBJPEG=no
DEFAULT_wxUSE_SOCKETS=no
DEFAULT_wxUSE_JOYSTICK=no
DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
DEFAULT_wxUSE_POSTSCRIPT=no
DEFAULT_wxUSE_X_RESOURCES=no
DEFAULT_wxUSE_CLIPBOARD=no
DEFAULT_wxUSE_TOOLTIPS=no
DEFAULT_wxUSE_DRAG_AND_DROP=no
DEFAULT_wxUSE_SPLINES=no
DEFAULT_wxUSE_MDI_ARCHITECTURE=no
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
DEFAULT_wxUSE_PROLOGIO=no
DEFAULT_wxUSE_RESOURCES=no
DEFAULT_wxUSE_CONSTRAINTS=no
DEFAULT_wxUSE_IPC=no
DEFAULT_wxUSE_HELP=no
DEFAULT_wxUSE_WXTREE=no
DEFAULT_wxUSE_METAFILE=no
DEFAULT_wxUSE_COMMONDLGS=no
DEFAULT_wxUSE_DIRDLG=no
DEFAULT_wxUSE_TEXTDLG=no
DEFAULT_wxUSE_STARTUP_TIPS=no
DEFAULT_wxUSE_PROGRESSDLG=no
DEFAULT_wxUSE_MINIFRAME=no
DEFAULT_wxUSE_HTML=no
DEFAULT_wxUSE_FS_INET=no
DEFAULT_wxUSE_FS_ZIP=no
DEFAULT_wxUSE_BUSYINFO=no
DEFAULT_wxUSE_ZIPSTREAM=no
DEFAULT_wxUSE_VALIDATORS=yes
DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_CARET=no
DEFAULT_wxUSE_BMPBUTTON=no
DEFAULT_wxUSE_CHECKBOX=no
DEFAULT_wxUSE_CHECKLST=no
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_COMBOBOX=no
DEFAULT_wxUSE_GAUGE=no
DEFAULT_wxUSE_GRID=no
DEFAULT_wxUSE_IMAGLIST=no
DEFAULT_wxUSE_LISTBOX=no
DEFAULT_wxUSE_LISTCTRL=no
DEFAULT_wxUSE_NOTEBOOK=no
DEFAULT_wxUSE_RADIOBOX=no
DEFAULT_wxUSE_RADIOBTN=no
DEFAULT_wxUSE_SASH=no
DEFAULT_wxUSE_SCROLLBAR=no
DEFAULT_wxUSE_SLIDER=no
DEFAULT_wxUSE_SPINBTN=no
DEFAULT_wxUSE_SPLITTER=no
DEFAULT_wxUSE_STATBMP=no
DEFAULT_wxUSE_STATBOX=no
DEFAULT_wxUSE_STATLINE=no
DEFAULT_wxUSE_STATUSBAR=yes
DEFAULT_wxUSE_TABDIALOG=no
DEFAULT_wxUSE_TOOLBAR=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_GIF=no
DEFAULT_wxUSE_PCX=no
DEFAULT_wxUSE_PNM=no
fi
AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
@@ -886,7 +973,6 @@ AC_ARG_WITH(gtk-exec-prefix, [ --with-gtk-exec-prefix=PFX Exec prefix where GT
WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
WX_ARG_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
WX_ARG_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
WX_ARG_WITH(libgif, [ --with-libgif use libgif (GIF file format)], wxUSE_LIBGIF)
WX_ARG_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
@@ -922,15 +1008,6 @@ WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without exce
WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
dnl ---------------------------------------------------------------------------
dnl --disable-gui will build only non-GUI part of wxWindows
dnl
dnl NB: this is still in testing stage, don't use if you don't know what you're
dnl doing
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
dnl ---------------------------------------------------------------------------
dnl (small) optional non GUI classes
dnl ---------------------------------------------------------------------------
@@ -938,6 +1015,7 @@ dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER)
WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE)
WX_ARG_ENABLE(timedate, [ --enable-timedate use date/time classes], wxUSE_TIMEDATE)
@@ -1115,6 +1193,14 @@ WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code],
WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
dnl ---------------------------------------------------------------------------
dnl support for image formats that do not rely on external library
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF)
WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX)
WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM)
dnl cache the options values before (may be) aborting below
WX_ARG_CACHE_FLUSH
@@ -1123,6 +1209,8 @@ dnl we have a default one
AC_MSG_CHECKING(for toolkit)
if test "$wxUSE_GUI" = "yes"; then
if test "$TOOLKIT_GIVEN" = 1; then
dnl convert "yes" to 1 and "no" to 0
for toolkit in `echo $ALL_TOOLKITS`; do
@@ -1171,6 +1259,11 @@ for toolkit in `echo $ALL_TOOLKITS`; do
fi
done
dnl from "if wxUSE_GUI"
else
AC_MSG_RESULT(base only)
fi
dnl ---------------------------------------------------------------------------
dnl Checks for programs
dnl ---------------------------------------------------------------------------
@@ -1182,12 +1275,12 @@ dnl cross-compiling support: we're cross compiling if the build system is
dnl different from the target one (assume host and target be always the same)
if eval "test $host != $build"; then
if eval "test $host_alias != NONE"; then
CC=$host_alias-gcc
CXX=$host_alias-c++
CC=$host_alias-gcc
CXX=$host_alias-c++
AR=$host_alias-ar
RANLIB=$host_alias-ranlib
DLLTOOL=$host_alias-dlltool
LD=$host_alias-ld
DLLTOOL=$host_alias-dlltool
LD=$host_alias-ld
NM=$host_alias-nm
STRIP=$host_alias-strip
fi
@@ -1374,6 +1467,8 @@ dnl ----------------------------------------------------------------
dnl search for toolkit (widget sets)
dnl ----------------------------------------------------------------
if test "$wxUSE_GUI" = "yes"; then
TOOLKIT=
TOOLKIT_INCLUDE=
@@ -1389,34 +1484,34 @@ WXGTK12=
WXWINE=
dnl Extension for programs; '.exe' for msw builds
PROGRAM_EXT=
PROGRAM_EXT=
if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
if test "$cross_compiling" = "yes" ; then
AC_MSG_WARN(Cross compiling --- skipping windows.h check)
AC_MSG_WARN(Cross compiling --- skipping windows.h check)
else
AC_MSG_CHECKING(for Windows headers)
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_CHECKING(for Windows headers)
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found $ac_find_includes)
TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
else
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
fi
fi
fi
INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
dnl --- Quick & Dirty ; link against most/all libraries
dnl --- This will bloat the executable, but it'll work for now...
LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
TOOLKIT=MSW
GUIOBJS=MSW_GUIOBJS
GUIHEADERS=MSW_HEADERS
COMMONOBJS=MSW_COMMONOBJS
GENERICOBJS=MSW_GENERICOBJS
GUIOBJS="\$(MSW_GUIOBJS)"
GUIHEADERS="\$(MSW_HEADERS)"
COMMONOBJS="\$(MSW_COMMONOBJS)"
GENERICOBJS="\$(MSW_GENERICOBJS)"
UNIXOBJS=
GUIDIST=MSW_DIST
PROGRAM_EXT=.exe
@@ -1431,17 +1526,17 @@ if test "$wxUSE_GTK" = 1; then
fi
TOOLKIT_INCLUDE="$GTK_CFLAGS"
GUI_TK_LIBRARY="$GTK_LIBS -ldl"
GUI_TK_LIBRARY="$GTK_LIBS"
TOOLKIT=GTK
GUIHEADERS=GTK_HEADERS
GUIOBJS=GTK_GUIOBJS
COMMONOBJS=GTK_COMMONOBJS
GENERICOBJS=GTK_GENERICOBJS
GUIDEPS=GTK_GUIDEPS
COMMONDEPS=GTK_COMMONDEPS
GENERICDEPS=GTK_GENERICDEPS
UNIXOBJS=UNIXOBJS
GUIOBJS="\$(GTK_GUIOBJS)"
GUIHEADERS="\$(GTK_HEADERS)"
COMMONOBJS="\$(GTK_COMMONOBJS)"
GENERICOBJS="\$(GTK_GENERICOBJS)"
GUIDEPS="\$(GTK_GUIDEPS)"
COMMONDEPS="\$(GTK_COMMONDEPS)"
GENERICDEPS="\$(GTK_GENERICDEPS)"
UNIXOBJS="\$(UNIX_OBJS)"
GUIDIST=GTK_DIST
fi
@@ -1468,7 +1563,7 @@ if test "$wxUSE_WINE" = 1; then
AC_MSG_RESULT(no)
AC_MSG_WARN(library will be compiled without support for images in XPM format)
fi
MESA_LINK=""
AC_MSG_CHECKING(for Mesa library)
WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
@@ -1480,19 +1575,19 @@ if test "$wxUSE_WINE" = 1; then
AC_MSG_ERROR(no)
fi
GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -ldl -lm"
GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -lm"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
WXWINE=1
TOOLKIT=MSW
GUIHEADERS=MSW_HEADERS
GUIOBJS=MSW_GUIOBJS
COMMONOBJS=MSW_COMMONOBJS
GENERICOBJS=MSW_GENERICOBJS
GUIDEPS=MSW_GUIDEPS
COMMONDEPS=MSW_COMMONDEPS
GENERICDEPS=MSW_GENERICDEPS
UNIXOBJS=UNIXOBJS
GUIHEADERS="\$(MSW_HEADERS)"
GUIOBJS="\$(MSW_GUIOBJS)"
COMMONOBJS="\$(MSW_COMMONOBJS)"
GENERICOBJS="\$(MSW_GENERICOBJS)"
GUIDEPS="\$(MSW_GUIDEPS)"
COMMONDEPS="\$(MSW_COMMONDEPS)"
GENERICDEPS="\$(MSW_GENERICDEPS)"
UNIXOBJS="\$(UNIX_OBJS)"
GUIDIST=MSW_DIST
fi
@@ -1556,21 +1651,28 @@ if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN(library will be compiled without support for images in XPM format)
fi
GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -ldl -lm"
GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
TOOLKIT=MOTIF
GUIHEADERS=MOTIF_HEADERS
GUIOBJS=MOTIF_GUIOBJS
COMMONOBJS=MOTIF_COMMONOBJS
GENERICOBJS=MOTIF_GENERICOBJS
GUIDEPS=MOTIF_GUIDEPS
COMMONDEPS=MOTIF_COMMONDEPS
GENERICDEPS=MOTIF_GENERICDEPS
UNIXOBJS=UNIXOBJS
GUIHEADERS="\$(MOTIF_HEADERS)"
GUIOBJS="\$(MOTIF_GUIOBJS)"
COMMONOBJS="\$(MOTIF_COMMONOBJS)"
GENERICOBJS="\$(MOTIF_GENERICOBJS)"
GUIDEPS="\$(MOTIF_GUIDEPS)"
COMMONDEPS="\$(MOTIF_COMMONDEPS)"
GENERICDEPS="\$(MOTIF_GENERICDEPS)"
UNIXOBJS="\$(UNIX_OBJS)"
GUIDIST=MOTIF_DIST
fi
dnl someone explicitly added -ldl to the list of libraries for these targets -
dnl I don't know why has this been done, but let's respect this - with the
dnl exception of the systems which don't have libdl at all (VZ)
if test "$wxUSE_GTK" = 1 || test "$wxUSE_MOTIF" = 1 || test "$wxUSE_WINE" = 1; then
AC_CHECK_LIB(dl, main, GUI_TK_LIBRARY="$GUI_TK_LIBRARY -ldl")
fi
dnl the name of the directory where the files for this toolkit live
TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
@@ -1580,19 +1682,35 @@ TOOLKIT_DEF="-D__WX${TOOLKIT}__"
dnl the name of the (libtool) library
WX_LIBRARY="wx_${TOOLKIT_DIR}"
dnl the sources, their dependenices and the headers
ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(JPEGOBJS) \$(PNGOBJS) \$(ZLIBOBJS)"
ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS)"
ALL_HEADERS="\$(GUIHEADERS) \$(HTML_HEADERS) \$(UNIX_HEADERS) \$(PROTOCOL_HEADERS) \$(GENERIC_HEADERS) \$(WX_HEADERS)"
else
dnl leave all TOOLKIT_XXX vars empty
dnl the sources, their dependenices and the headers
ALL_OBJECTS="\$(BASE_OBJS)"
ALL_DEPFILES="\${BASE_DEPS}"
ALL_HEADERS="\${BASE_HEADERS}"
dnl building wxBase only
WX_LIBRARY="wxbase"
fi
dnl the name of the (libtool) library
WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
WX_LIBRARY_NAME="lib${WX_LIBRARY}.la"
dnl the name of the static library
WX_LIBRARY_NAME_STATIC="libwx_${TOOLKIT_DIR}.a"
WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
dnl the name of the shared library
WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
dnl the name of the links to the shared library
WX_LIBRARY_LINK1="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so.${WX_CURRENT}"
WX_LIBRARY_LINK2="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so"
WX_LIBRARY_LINK3="libwx_${TOOLKIT_DIR}.so"
WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}"
WX_LIBRARY_LINK2="lib${WX_LIBRARY}-${WX_RELEASE}.so"
WX_LIBRARY_LINK3="lib${WX_LIBRARY}.so"
dnl shared library settings
SHARED_LD=
@@ -1702,8 +1820,11 @@ dnl defines HAVE_WCSTR_H
AC_CHECK_HEADERS(wcstr.h)
dnl defines HAVE_FNMATCH_H
AC_CHECK_HEADERS(fnmatch.h)
dnl defines HAVE_X11_XKBLIB_H
AC_CHECK_HEADERS(X11/XKBlib.h)
if test "$wxUSE_GUI" = "yes"; then
dnl defines HAVE_X11_XKBLIB_H
AC_CHECK_HEADERS(X11/XKBlib.h)
fi
dnl ---------------------------------------------------------------------------
dnl Checks for typedefs
@@ -1840,6 +1961,9 @@ AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
dnl check for uname (POSIX) and gethostname (BSD)
AC_CHECK_FUNCS(uname gethostname, break)
dnl check for MT-safe version of strtok
AC_CHECK_FUNCS(strtok_r)
dnl check for inet_addr, inet_aton, ...
AC_CHECK_FUNCS(inet_addr)
AC_CHECK_FUNCS(inet_aton)
@@ -1875,7 +1999,7 @@ fi
if test "$wxUSE_THREADS" = "yes" ; then
dnl find if POSIX threads are available
dnl standard lib name is pthread
dnl We no longer test for pthread-0.7 as it breaks compilation on some
dnl glibc2 systems, especially for static linkage.
@@ -2028,10 +2152,10 @@ fi
DEP_INFO_FLAGS=
if test "$GCC" = yes ; then
if test "$wxUSE_NO_RTTI" = "yes" ; then
WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti"
WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-rtti"
fi
if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-exceptions"
WXDEBUG_DEFINE="$WXDEBUG_DEFINE -fno-exceptions"
fi
if test "$wxUSE_PERMISSIVE" = "yes" ; then
CFLAGS="${CFLAGS} -fpermissive"
@@ -2040,9 +2164,9 @@ if test "$GCC" = yes ; then
if test "$wxUSE_NO_DEPS" = "no" ; then
DEP_INFO_FLAGS="-MMD"
fi
fi
fi
CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
if test "$wxUSE_OPTIMISE" = "no" ; then
@@ -2077,10 +2201,6 @@ if test "$wxUSE_LIBPNG" = "yes" ; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
fi
if test "$wxUSE_LIBGIF" = "yes" ; then
AC_DEFINE(wxUSE_LIBGIF)
fi
JPEG_INCLUDE=
if test "$wxUSE_LIBJPEG" = "yes" ; then
AC_DEFINE(wxUSE_LIBJPEG)
@@ -2219,6 +2339,10 @@ if test "$wxUSE_SOCKETS" = "yes" ; then
fi
fi
if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
AC_DEFINE(wxUSE_DIALUP_MANAGER)
fi
if test "$wxUSE_STREAMS" = "yes" ; then
AC_DEFINE(wxUSE_STREAMS)
fi
@@ -2285,13 +2409,13 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
[AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
if test "$HAVE_DL_FUNCS" = 0; then
if test "$USE_UNIX" = 1; then
if test "$USE_UNIX" = 1; then
AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
wxUSE_ODBC=no
wxUSE_DYNLIB_CLASS=no
else
AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.")
fi
else
AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.")
fi
fi
fi
@@ -2406,13 +2530,13 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
if test "$wxUSE_GTK" = 1; then
if test "$WXGTK12" != 1; then
AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
wxUSE_DRAG_AND_DROP=no
wxUSE_DRAG_AND_DROP=no
fi
fi
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN([Drag and drop is not yet supported under Motif])
wxUSE_DRAG_AND_DROP=no
wxUSE_DRAG_AND_DROP=no
fi
if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
@@ -2533,11 +2657,7 @@ if test "$wxUSE_STATLINE" = "yes"; then
if test "$wxUSE_WINE" = 1 ; then
AC_MSG_WARN([wxStaticLine is not supported under WINE])
else
if test "$wxUSE_MOTIF" = 1 ; then
AC_MSG_WARN([wxStaticLine is not supported under Motif])
else
AC_DEFINE(wxUSE_STATLINE)
fi
AC_DEFINE(wxUSE_STATLINE)
fi
fi
@@ -2637,20 +2757,29 @@ if test "$wxUSE_VALIDATORS" = "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
fi
if test "$wxUSE_GIF" = "yes" ; then
AC_DEFINE(wxUSE_GIF)
fi
if test "$wxUSE_PCX" = "yes" ; then
AC_DEFINE(wxUSE_PCX)
fi
if test "$wxUSE_PNM" = "yes" ; then
AC_DEFINE(wxUSE_PNM)
fi
dnl ---------------------------------------------------------------------------
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
dnl if we add wxUSE_GUI in the future, it might be handy to separate the libs
dnl into GUI and non-GUI parts
GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
dnl all additional libraries (except wxWindows itself) we link with
EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $GUILIBS"
dnl all the libraries needed to link wxWindows programs (when the library is not
dnl yet installed)
LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK"
if test "$wxUSE_GUI" = "yes"; then
EXTRA_LIBS="$EXTRA_LIBS $GUILIBS"
fi
dnl all the libraries needed to link wxWindows programs when using the
dnl makefile system without libtool
@@ -2663,8 +2792,8 @@ dnl C/C++ compiler options used to compile wxWindows
if test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
CXXWARNINGS="-Wall"
dnl there is one weird warning in docview.h:71 which prevents me from doing
dnl this...
dnl FIXME: there is one weird warning in docview.h:71 which prevents me from
dnl doing this... (VZ)
dnl CXXWARNINGS="-Wall -Werror"
fi
EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
@@ -2681,6 +2810,8 @@ if test "$wxUSE_GUI" = "yes"; then
dnl mfc, nativdlg, oleauto, ownerdrw, proplist
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
forty fractal image wxpoem"
else
SAMPLES_SUBDIRS=""
fi
dnl for convenience, sort the samples in alphabetical order
@@ -2729,6 +2860,10 @@ AC_SUBST(GUIDEPS)
AC_SUBST(COMMONDEPS)
AC_SUBST(GENERICDEPS)
AC_SUBST(UNIXOBJS)
AC_SUBST(UNIXDEPS)
AC_SUBST(ALL_OBJECTS)
AC_SUBST(ALL_DEPFILES)
AC_SUBST(ALL_HEADERS)
AC_SUBST(GUIDIST)
dnl additional subdirectories where we will build
@@ -2766,9 +2901,9 @@ dnl (the original file name may be overriden by appending another name after a
dnl colon)
AC_OUTPUT([
wx-config
src/make.env
src/makeprog.env
src/makelib.env
src/make.env
src/makeprog.env
src/makelib.env
Makefile
samples/Makefile
samples/bombs/Makefile
@@ -2776,61 +2911,63 @@ AC_OUTPUT([
samples/checklst/Makefile
samples/config/Makefile
samples/controls/Makefile
samples/dialogs/Makefile
samples/docview/Makefile
samples/docvwmdi/Makefile
samples/dnd/Makefile
samples/drawing/Makefile
samples/dynamic/Makefile
samples/image/Makefile
samples/internat/Makefile
samples/layout/Makefile
samples/listctrl/Makefile
samples/mdi/Makefile
samples/minifram/Makefile
samples/minimal/Makefile
samples/notebook/Makefile
samples/dialogs/Makefile
samples/docview/Makefile
samples/docvwmdi/Makefile
samples/dnd/Makefile
samples/drawing/Makefile
samples/dynamic/Makefile
samples/image/Makefile
samples/internat/Makefile
samples/layout/Makefile
samples/listctrl/Makefile
samples/mdi/Makefile
samples/minifram/Makefile
samples/minimal/Makefile
samples/notebook/Makefile
samples/printing/Makefile
samples/proplist/Makefile
samples/sashtest/Makefile
samples/scroll/Makefile
samples/splitter/Makefile
samples/text/Makefile
samples/thread/Makefile
samples/toolbar/Makefile
samples/treectrl/Makefile
samples/typetest/Makefile
samples/validate/Makefile
samples/wxpoem/Makefile
samples/wxsocket/Makefile
samples/wizard/Makefile
samples/html/Makefile
samples/html/about/Makefile
samples/html/help/Makefile
samples/html/printing/Makefile
samples/html/test/Makefile
samples/html/zip/Makefile
samples/html/virtual/Makefile
samples/html/widget/Makefile
utils/Makefile
utils/wxMMedia2/Makefile
utils/wxMMedia2/lib/Makefile
utils/wxMMedia2/sample/Makefile
utils/glcanvas/Makefile
utils/glcanvas/${GL_TOOLKIT_DIR}/Makefile
samples/sashtest/Makefile
samples/scroll/Makefile
samples/splitter/Makefile
samples/text/Makefile
samples/thread/Makefile
samples/toolbar/Makefile
samples/treectrl/Makefile
samples/typetest/Makefile
samples/validate/Makefile
samples/wxpoem/Makefile
samples/wxsocket/Makefile
samples/wizard/Makefile
samples/html/Makefile
samples/html/about/Makefile
samples/html/help/Makefile
samples/html/printing/Makefile
samples/html/test/Makefile
samples/html/zip/Makefile
samples/html/virtual/Makefile
samples/html/widget/Makefile
utils/Makefile
utils/wxMMedia2/Makefile
utils/wxMMedia2/lib/Makefile
utils/wxMMedia2/sample/Makefile
utils/glcanvas/Makefile
utils/glcanvas/${GL_TOOLKIT_DIR}/Makefile
utils/ogl/Makefile
utils/ogl/src/Makefile
],
[
chmod +x wx-config
if test ! -d include; then
mkdir include
fi
if test ! -d include/wx; then
mkdir include/wx
fi
if test ! -d include/wx/${TOOLKIT_DIR}; then
mkdir include/wx/${TOOLKIT_DIR}
fi
cp -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
if test ! -d include; then
mkdir include
fi
if test ! -d include/wx; then
mkdir include/wx
fi
if test ! -d include/wx/${TOOLKIT_DIR}; then
mkdir include/wx/${TOOLKIT_DIR}
fi
cp -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
],
[
LN_S="${ac_cv_prog_LN_S}"

View File

@@ -20,6 +20,12 @@ makefile.unx.in
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/tardist
distrib/msw/tmake/*.t
distrib/msw/tmake/Makefile
distrib/msw/tmake/filelist.txt
distrib/msw/tmake/makeall.bat
distrib/msw/tmake/makeall.sh
distrib/msw/tmake/wxwin.pro
distrib/gtk/*
locale/*.po
@@ -37,6 +43,7 @@ docs/bugs.txt
docs/*.htm
docs/html/*.htm
docs/html/*.gif
docs/html/*.png
src/*.inc
src/mkdir
@@ -66,6 +73,7 @@ src/html/*.h
src/html/bitmaps/*.xpm
src/unix/*.cpp
src/unix/*.c
src/png/*.c
src/png/*.h
@@ -97,6 +105,7 @@ include/wx/protocol/*.h
include/wx/wx_setup.vms
include/wx/common/*.h
include/wx/generic/*.h
include/wx/generic/*.xpm
include/wx/unix/*.h
include/wx/html/*.h
include/wx/html/msw/*.bmp

View File

@@ -1,3 +1,4 @@
utils/glcanvas/Makefile.in
utils/glcanvas/docs/*.*
utils/glcanvas/win/*.cpp
utils/glcanvas/win/*.h

View File

@@ -1,3 +1,5 @@
configure
distrib/gtk/copy_src
distrib/gtk/README.txt
distrib/gtk/Setup
@@ -8,6 +10,7 @@ docs/gtk/COPYING.LIB
docs/gtk/makewxgtk
include/wx/gtk/*.h
include/wx/gtk/*.xpm
include/install-sh
include/wx/install-sh

View File

@@ -1,3 +1,4 @@
Makefile.in
src/Makefile
locale/Makefile
samples/Makefile.in

View File

@@ -5,7 +5,6 @@ docs/wine/COPYING.LIB
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/tmake/*.t
tools/gettext/xgettext.exe
tools/gettext/msgfmt.exe
@@ -52,6 +51,7 @@ src/msw/*.lst
src/msw/*.def
src/msw/*.inc
src/msw/winestub.c
src/msw/gsocket.c
src/msw/ctl3d/*.*
src/msw/ctl3d/msvc/*.*

View File

@@ -1,3 +1,4 @@
utils/ogl/Makefile.in
utils/ogl/Makefile
utils/ogl/src/*.cpp

View File

@@ -13,6 +13,7 @@ all: $(MSW_MAKEFILES_DIR)/makefile.vc \
$(MSW_MAKEFILES_DIR)/makefile.sc \
$(MSW_MAKEFILES_DIR)/makefile.wat \
$(MSW_MAKEFILES_DIR)/makefile.g95 \
$(MSW_MAKEFILES_DIR)/makefile.g295 \
$(WXDIR)/Makefile.in
$(MSW_MAKEFILES_DIR)/makefile.vc: filelist.txt wxwin.pro
@@ -36,5 +37,8 @@ $(MSW_MAKEFILES_DIR)/makefile.wat: filelist.txt wxwin.pro
$(MSW_MAKEFILES_DIR)/makefile.g95: filelist.txt wxwin.pro
$(TMAKE) -t g95 wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.g295: filelist.txt wxwin.pro g295.t
$(TMAKE) -t g295 wxwin.pro -o $@
$(WXDIR)/Makefile.in: filelist.txt wxwin.pro
$(TMAKE) -t unx wxwin.pro -o $@

View File

@@ -38,6 +38,8 @@
next;
}
$isCFile = $file =~ /\.c$/;
my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
$file =~ s/cp?p?$/obj/;
my $obj = "\$(MSWDIR)\\" . $file . " ";
@@ -47,7 +49,7 @@
#! remember that this file is in ole subdir
$project{"WXOLEOBJS"} .= $obj;
}
$project{"WXCOBJS"} .= $obj if $isCFile;
}
#$}
@@ -201,7 +203,8 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
foreach (@objs) {
$text .= $_ . ": ";
if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
s/obj$/\$(SRCSUFF)/;
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/obj$/$suffix/;
$text .= $_ . "\n\n";
}
#$}
@@ -334,7 +337,10 @@ cleanall: clean
MFTYPE=b32
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
# Can't use this or we'll have to distribute all tmake files with wxWindows
# makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
self:
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -42,8 +42,11 @@
#! don't take files not appropriate for 16-bit Windows
next if $wxMSW{$file} =~ /\b(32|O)\b/;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
$obj = "\$(MSWDIR)\\" . $file . " ";
$project{"WXMSWOBJS"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
}
#$}
@@ -162,7 +165,8 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
s/obj/\$(SRCSUFF)/;
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/obj/$suffix/;
$text .= $_ . "\n\n";
}
#$}
@@ -302,7 +306,10 @@ cleanall: clean
MFTYPE=bcc
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
# Can't use this or we'll have to distribute all tmake files with wxWindows
#makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
self:
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -15,7 +15,7 @@
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
#! this file for some reason was compiled for VC++ 1.52
#! this file for some reason wasn't compiled for VC++ 1.52
next unless $file =~ /^prntdlgg\./;
}
@@ -27,8 +27,11 @@
#! socket files don't compile under Win16 currently
next if $wxCommon{$file} =~ /\b(32|S)\b/;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\" . $file . " "
$obj = "\$(COMMDIR)\\" . $file . " ";
$project{"WXCOMMONOBJS"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
}
foreach $file (sort keys %wxMSW) {
@@ -177,11 +180,20 @@ $(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
$_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
s:\\:/:;
$text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
"<<\n\n";
if ( $project{"WXCOBJS"} =~ /\Q$_/ ) {
s:\\:/:;
$text .= $_ . ': $*.c' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" .
"<<\n\n";
}
else {
s:\\:/:;
$text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
"<<\n\n";
}
}
#$}

View File

@@ -28,6 +28,7 @@
# compiler, &c)
#
# Known flags:
# B makes part of the base library too
# 16 a generic file implementing Win32 control for Win16
# 32 only can be compiled under Win32
# PS PostScript related file, normally not compiled under Windows
@@ -37,6 +38,7 @@
# S Socket file (currently doesn't compile under Win16 nor with GNU)
# R Not required for the GTK port
# X Not required for the Motif port
#
# WX Base header
# GTK GTK header
# MSW MSW header
@@ -66,6 +68,7 @@ helpxlp.cpp G G,R
imaglist.cpp G 16
laywin.cpp G
listctrl.cpp G 16
logg.cpp G
msgdlgg.cpp G G
notebook.cpp G 16,R
panelg.cpp G
@@ -78,6 +81,7 @@ proplist.cpp G
sashwin.cpp G
scrolwin.cpp G
splitter.cpp G
statline.cpp G U,R
statusbr.cpp G
tabg.cpp G R
numdlgg.cpp G
@@ -88,9 +92,9 @@ wizard.cpp G
choiccmn.cpp C R
cmndata.cpp C
config.cpp C
config.cpp C B
ctrlcmn.cpp C R
date.cpp C
date.cpp C B
datstrm.cpp C
db.cpp C
dbtable.cpp C
@@ -98,75 +102,78 @@ dcbase.cpp C
dlgcmn.cpp C
docmdi.cpp C
docview.cpp C
dynarray.cpp C
dynlib.cpp C
dynarray.cpp C B
dynlib.cpp C B
event.cpp C
extended.c C
ffile.cpp C
file.cpp C
fileconf.cpp C
filefn.cpp C
filesys.cpp C
extended.c C B
ffile.cpp C B
file.cpp C B
fileconf.cpp C B
filefn.cpp C B
filesys.cpp C B
fontcmn.cpp C
framecmn.cpp C
fs_inet.cpp C
fs_zip.cpp C
ftp.cpp C S
gdicmn.cpp C
gifdecod.cpp C
hash.cpp C
hash.cpp C B
helpbase.cpp C
http.cpp C S
imagbmp.cpp C
image.cpp C
imagall.cpp C
imaggif.cpp C
imagjpeg.cpp C
imagpcx.cpp C
imagpng.cpp C
imagpnm.cpp C
intl.cpp C
imagjpeg.cpp C 32
imagpcx.cpp C 32
imagpng.cpp C 32
imagpnm.cpp C 32
intl.cpp C B
ipcbase.cpp C
layout.cpp C
list.cpp C
log.cpp C
list.cpp C B
log.cpp C B
memory.cpp C
mimetype.cpp C 32
module.cpp C
mimetype.cpp C 32,B
module.cpp C B
mstream.cpp C
object.cpp C
object.cpp C B
objstrm.cpp C
odbc.cpp C R
paper.cpp C
prntbase.cpp C
process.cpp C 32
process.cpp C 32,B
protocol.cpp C S
resource.cpp C
sckaddr.cpp C S
sckfile.cpp C S
sckipc.cpp C S
sckstrm.cpp C S
serbase.cpp C
sizer.cpp C
socket.cpp C S
stream.cpp C
strconv.cpp C
string.cpp C
strconv.cpp C B
string.cpp C B
tbarbase.cpp C
tbarsmpl.cpp C 16
tbarsmpl.cpp C
textcmn.cpp C
textfile.cpp C
time.cpp C
timercmn.cpp C
tokenzr.cpp C
textfile.cpp C B
time.cpp C B
timercmn.cpp C B
tokenzr.cpp C B
txtstrm.cpp C
unzip.c C
url.cpp C S
utilscmn.cpp C
utilscmn.cpp C B
valgen.cpp C
validate.cpp C
valtext.cpp C
variant.cpp C
variant.cpp C B
wfstream.cpp C
wincmn.cpp C
wxchar.cpp C
wxchar.cpp C B
wxexpr.cpp C
zipstrm.cpp C
zstream.cpp C
@@ -232,7 +239,7 @@ ownerdrw.cpp M
palette.cpp M
pen.cpp M
penwin.cpp M
pnghand.cpp M
pnghand.cpp M 32
printdlg.cpp M
printwin.cpp M
radiobox.cpp M
@@ -265,7 +272,9 @@ uuid.cpp M O
wave.cpp M
window.cpp M
xpmhand.cpp M
gsocket.c M S
dialup.cpp U
threadpsx.cpp U
utilsunx.cpp U
gsocket.c U
@@ -299,7 +308,6 @@ fontdlg.cpp R
frame.cpp R
gauge.cpp R
gdiobj.cpp R
gsockgtk.c R
icon.cpp R
listbox.cpp R
main.cpp R
@@ -329,7 +337,7 @@ utilsres.cpp R
wave.cpp R
window.cpp R
gsockmot.cpp X
gsockmot.c X S
accel.cpp X
app.cpp X
bitmap.cpp X
@@ -337,6 +345,7 @@ bmpbuttn.cpp X
brush.cpp X
button.cpp X
checkbox.cpp X
checklst.cpp X
choice.cpp X
clipbrd.cpp X
colour.cpp X
@@ -352,6 +361,7 @@ dcscreen.cpp X
dialog.cpp X
filedlg.cpp X
font.cpp X
fontenum.cpp X
frame.cpp X
gauge.cpp X
gdiobj.cpp X
@@ -371,6 +381,7 @@ region.cpp X
scrolbar.cpp X
settings.cpp X
slider.cpp X
spinbutt.cpp X
statbmp.cpp X
statbox.cpp X
stattext.cpp X
@@ -380,22 +391,23 @@ timer.cpp X
utils.cpp X
window.cpp X
helpdata.cpp H
helpfrm.cpp H
helpctrl.cpp H
htmlcell.cpp H
htmlfilter.cpp H
htmlhelp.cpp H
htmlhelp_io.cpp H
htmlparser.cpp H
htmlfilt.cpp H
htmlpars.cpp H
htmltag.cpp H
htmlwin.cpp H
htmlwinparser.cpp H
mod_fonts.cpp H
mod_hline.cpp H
mod_image.cpp H
mod_layout.cpp H
mod_links.cpp H
mod_list.cpp H
mod_pre.cpp H
mod_tables.cpp H
winpars.cpp H
m_fonts.cpp H
m_hline.cpp H
m_image.cpp H
m_layout.cpp H
m_links.cpp H
m_list.cpp H
m_pre.cpp H
m_tables.cpp H
search.cpp H
arrimpl.cpp W
@@ -816,16 +828,18 @@ ftp.h P
http.h P
protocol.h P
forcelink.h L
forcelnk.h L
helpdata.h L
helpfrm.h L
helpctrl.h L
htmlcell.h L
htmldefs.h L
htmlfilter.h L
htmlhelp.h L
htmlparser.h L
htmlfilt.h L
htmlpars.h L
htmltag.h L
htmlwin.h L
htmlwinparser.h L
mod_templ.h L
winpars.h L
m_templ.h L
version.h L
caret.h N

263
distrib/msw/tmake/g295.t Normal file
View File

@@ -0,0 +1,263 @@
#!#############################################################################
#! File: g295.t
#! Purpose: tmake template file from which makefile.g295 is generated by running
#! tmake -t g295 wxwin.pro -o makefile.g295
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
#! so take the generic version
if ( $wxGeneric{$file} =~ /\b(PS|G|U|16)\b/ ) {
next;
}
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\b(16)\b/;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
}
foreach $file (sort keys %wxMSW) {
#! Mingw32 doesn't have the OLE headers and has some troubles with
#! socket code
next if $wxMSW{$file} =~ /\b(16)\b/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)/';
$project{"WXMSWOBJS"} .= 'ole/' if $wxMSW{$file} =~ /\bO\b/;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXMSWOBJS"} .= $file . " "
}
foreach $file (sort keys %wxHTML) {
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXHTMLOBJS"} .= '$(HTMLDIR)/' . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G295.T!
#
# File: makefile.g295
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
# Created: 1993
# Updated: 1999
# Copyright:(c) 1993, AIAI, University of Edinburgh,
# Copyright:(c) 1999, Vadim Zeitlin
# Copyright:(c) 1999, Robert Roebling
#
# Makefile for libwx.a
# Replace this with your own path if necessary
WXDIR = ../..
# All common compiler flags and options are now in
# this central makefile.
include $(WXDIR)/src/makeg95.env
# Subordinate library possibilities
EXTRAOBJS=
GENDIR = $(WXDIR)/src/generic
COMMDIR = $(WXDIR)/src/common
HTMLDIR = $(WXDIR)/src/html
XPMDIR = $(WXDIR)/src/xpm
PNGDIR = $(WXDIR)/src/png
JPEGDIR = $(WXDIR)/src/jpeg
ZLIBDIR = $(WXDIR)/src/zlib
OLEDIR = $(WXDIR)/src/msw/ole
MSWDIR = $(WXDIR)/src/msw
DOCDIR = $(WXDIR)\docs
GENERICOBJS = \
#$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(COMMDIR)/y_tab.$(OBJSUFF) \
#$ ExpandList("WXCOMMONOBJS");
HTMLOBJS = \
#$ ExpandList("WXHTMLOBJS");
MSWOBJS = \
#$ ExpandList("WXMSWOBJS");
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
$(ZLIBDIR)/crc32.$(OBJSUFF) \
$(ZLIBDIR)/gzio.$(OBJSUFF) \
$(ZLIBDIR)/uncompr.$(OBJSUFF) \
$(ZLIBDIR)/deflate.$(OBJSUFF) \
$(ZLIBDIR)/trees.$(OBJSUFF) \
$(ZLIBDIR)/zutil.$(OBJSUFF) \
$(ZLIBDIR)/inflate.$(OBJSUFF) \
$(ZLIBDIR)/infblock.$(OBJSUFF) \
$(ZLIBDIR)/inftrees.$(OBJSUFF) \
$(ZLIBDIR)/infcodes.$(OBJSUFF) \
$(ZLIBDIR)/infutil.$(OBJSUFF) \
$(ZLIBDIR)/inffast.$(OBJSUFF)
PNGOBJS = \
$(PNGDIR)/png.$(OBJSUFF) \
$(PNGDIR)/pngread.$(OBJSUFF) \
$(PNGDIR)/pngrtran.$(OBJSUFF) \
$(PNGDIR)/pngrutil.$(OBJSUFF) \
$(PNGDIR)/pngpread.$(OBJSUFF) \
$(PNGDIR)/pngtrans.$(OBJSUFF) \
$(PNGDIR)/pngwrite.$(OBJSUFF) \
$(PNGDIR)/pngwtran.$(OBJSUFF) \
$(PNGDIR)/pngwutil.$(OBJSUFF) \
$(PNGDIR)/pngerror.$(OBJSUFF) \
$(PNGDIR)/pngmem.$(OBJSUFF) \
$(PNGDIR)/pngwio.$(OBJSUFF) \
$(PNGDIR)/pngrio.$(OBJSUFF) \
$(PNGDIR)/pngget.$(OBJSUFF) \
$(PNGDIR)/pngset.$(OBJSUFF)
JPEGOBJS = \
$(JPEGDIR)/jcomapi.$(OBJSUFF) \
$(JPEGDIR)/jutils.$(OBJSUFF) \
$(JPEGDIR)/jerror.$(OBJSUFF) \
$(JPEGDIR)/jmemmgr.$(OBJSUFF) \
$(JPEGDIR)/jmemnobs.$(OBJSUFF) \
$(JPEGDIR)/jcapimin.$(OBJSUFF) \
$(JPEGDIR)/jcapistd.$(OBJSUFF) \
$(JPEGDIR)/jctrans.$(OBJSUFF) \
$(JPEGDIR)/jcparam.$(OBJSUFF) \
$(JPEGDIR)/jdatadst.$(OBJSUFF) \
$(JPEGDIR)/jcinit.$(OBJSUFF) \
$(JPEGDIR)/jcmaster.$(OBJSUFF) \
$(JPEGDIR)/jcmarker.$(OBJSUFF) \
$(JPEGDIR)/jcmainct.$(OBJSUFF) \
$(JPEGDIR)/jcprepct.$(OBJSUFF) \
$(JPEGDIR)/jccoefct.$(OBJSUFF) \
$(JPEGDIR)/jccolor.$(OBJSUFF) \
$(JPEGDIR)/jcsample.$(OBJSUFF) \
$(JPEGDIR)/jchuff.$(OBJSUFF) \
$(JPEGDIR)/jcphuff.$(OBJSUFF) \
$(JPEGDIR)/jcdctmgr.$(OBJSUFF) \
$(JPEGDIR)/jfdctfst.$(OBJSUFF) \
$(JPEGDIR)/jfdctflt.$(OBJSUFF) \
$(JPEGDIR)/jfdctint.$(OBJSUFF) \
$(JPEGDIR)/jdapimin.$(OBJSUFF) \
$(JPEGDIR)/jdapistd.$(OBJSUFF) \
$(JPEGDIR)/jdtrans.$(OBJSUFF) \
$(JPEGDIR)/jdatasrc.$(OBJSUFF) \
$(JPEGDIR)/jdmaster.$(OBJSUFF) \
$(JPEGDIR)/jdinput.$(OBJSUFF) \
$(JPEGDIR)/jdmarker.$(OBJSUFF) \
$(JPEGDIR)/jdhuff.$(OBJSUFF) \
$(JPEGDIR)/jdphuff.$(OBJSUFF) \
$(JPEGDIR)/jdmainct.$(OBJSUFF) \
$(JPEGDIR)/jdcoefct.$(OBJSUFF) \
$(JPEGDIR)/jdpostct.$(OBJSUFF) \
$(JPEGDIR)/jddctmgr.$(OBJSUFF) \
$(JPEGDIR)/jidctfst.$(OBJSUFF) \
$(JPEGDIR)/jidctflt.$(OBJSUFF) \
$(JPEGDIR)/jidctint.$(OBJSUFF) \
$(JPEGDIR)/jidctred.$(OBJSUFF) \
$(JPEGDIR)/jdsample.$(OBJSUFF) \
$(JPEGDIR)/jdcolor.$(OBJSUFF) \
$(JPEGDIR)/jquant1.$(OBJSUFF) \
$(JPEGDIR)/jquant2.$(OBJSUFF) \
$(JPEGDIR)/jdmerge.$(OBJSUFF)
XPMOBJECTS = $(XPMDIR)/crbuffri.o\
$(XPMDIR)/crdatfri.o\
$(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\
$(XPMDIR)/crifrdat.o\
$(XPMDIR)/data.o\
$(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\
$(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\
$(XPMDIR)/rdftoi.o\
$(XPMDIR)/rgb.o $(XPMDIR)/scan.o\
$(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
all: $(OBJECTS) $(WXLIB)
$(WXLIB): $(OBJECTS) $(EXTRAOBJS)
ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
$(RANLIB) $@
$(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
$(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
$(CCLEX) -c $(CPPFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS -o $@ $(COMMDIR)/y_tab.c
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
copy ..\common\dosyacc.c ..\common\y_tab.c
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
copy ..\common\doslex.c ..\common\lex_yy.c
# Replace lex with flex if you run into compilation
# problems with lex_yy.c. See also note about LEX_SCANNER
# above.
# $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l
# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
#
# Try one of these if the above line doesn't work.
# Alternative syntax (1)
# $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c
# Alternative syntax (2)
# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
#
# sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \
# sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
# sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c
# rm -f lex.yy.c
#
# Replace yacc with bison if you run into compilation
# problems with y_tab.c.
#
# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
# $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y
#
# If you use e.g. gcc on Unix, uncomment these lines
# and comment out the above.
#
# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
# $(YACC) $(COMMDIR)/parser.y
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
-erase *.o
-erase *.bak
-erase core
-erase ..\common\y_tab.c
-erase ..\common\lex_yy.c
-erase ..\common\*.o
-erase ..\common\*.bak
-erase ..\generic\*.o
-erase ..\generic\*.bak
-erase ..\html\*.o
-erase ..\png\*.o
-erase ..\png\*.bak
-erase ..\zlib\*.o
-erase ..\zlib\*.bak
-erase ..\jpeg\*.o
-erase ..\..\lib\libwx.a
cleanall: clean

View File

@@ -484,7 +484,7 @@ DEPFILES = $(@GUIDEPS@) $(@COMMONDEPS@) $(@GENERICDEPS@) $(UNIXDEPS) $(HTMLDEPS)
HEADERS = $(@GUIHEADERS@) $(HTML_HEADERS) $(UNIX_HEADERS) $(PROTOCOL_HEADERS) \
$(GENERIC_HEADERS) $(WX_HEADERS)
all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@
all: @WX_CREATE_LINKS@
@WX_LIBRARY_NAME_STATIC@: $(OBJECTS)
@$(INSTALL) -d ./lib
@@ -495,7 +495,7 @@ all: $(OBJECTS) @WX_TARGET_LIBRARY@ @WX_CREATE_LINKS@
@$(INSTALL) -d ./lib
$(SHARED_LD) ./lib/$@ $(OBJECTS) $(EXTRALIBS)
CREATE_LINKS: ./lib/@WX_TARGET_LIBRARY@
CREATE_LINKS: @WX_TARGET_LIBRARY@
@$(RM) ./lib/@WX_LIBRARY_LINK1@
@$(RM) ./lib/@WX_LIBRARY_LINK2@
@$(RM) ./lib/@WX_LIBRARY_LINK3@

View File

@@ -41,6 +41,14 @@
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= '$D\\' . $file . " ";
}
foreach $file (sort keys %wxHTML) {
next if $wxHTML{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXHTMLOBJS"} .= "..\\html\\\$D\\" . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
@@ -112,6 +120,11 @@ $(CPPFLAGS2) /Fo$@ /c /Tc $<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
{..\msw}.c{..\msw\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
@@ -134,28 +147,12 @@ COMMONOBJS = \
MSWOBJS = #$ ExpandList("WXMSWOBJS");
HTMLOBJS = \
..\html\$D\htmlcell.obj \
..\html\$D\htmlfilter.obj \
..\html\$D\htmlhelp.obj \
..\html\$D\htmlhelp_io.obj \
..\html\$D\htmlparser.obj \
..\html\$D\htmltag.obj \
..\html\$D\htmlwin.obj \
..\html\$D\htmlwinparser.obj \
..\html\$D\mod_fonts.obj \
..\html\$D\mod_hline.obj \
..\html\$D\mod_image.obj \
..\html\$D\mod_layout.obj \
..\html\$D\mod_links.obj \
..\html\$D\mod_list.obj \
..\html\$D\mod_pre.obj \
..\html\$D\mod_tables.obj \
..\html\$D\search.obj
HTMLOBJS = #$ ExpandList("WXHTMLOBJS");
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
# Add $(HTMLOBJS) if wanting wxHTML classes
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
# Normal, static library
all: dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
@@ -240,7 +237,7 @@ $(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
<<
# Update the dynamic link library
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
$(link) @<<
$(LINKFLAGS)
-out:$(WXDIR)\lib\$(WXLIBNAME).dll

View File

@@ -30,6 +30,11 @@
my $tag = $wxMSW{$file} =~ /\bO\b/ ? "WXOLESRCS" : "WXMSWSRCS";
$project{$tag} .= $file . " "
}
foreach $file (sort keys %wxHTML) {
next if $wxHTML{$file} =~ /\b16\b/;
$project{"WXHTMLSRCS"} .= $file . " "
}
#$}
# Microsoft Developer Studio Project File - Name="wxWindows" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
@@ -125,6 +130,7 @@ SOURCE=.\src\msw\dummy.cpp
#$ ExpandGlue("WXGENERICSRCS", "# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n");
#$ ExpandGlue("WXCOMMONSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n");
#$ ExpandGlue("WXCSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n");
#$ ExpandGlue("WXHTMLSRCS", "# Begin Source File\n\nSOURCE=.\\src\\html\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\html\\", "\n# End Source File\n");
# Begin Source File

View File

@@ -17,6 +17,8 @@ General:
- Fixed day_of_week bug (Peter Stadel).
- Added Inside(), SetLeft/Right/Top/Bottom, +, += to wxRect.
- Added wxHTML, an HTML library and widget.
- Added ZIP input stream.
2.1.0, b4, May 9th 1999
-----------------------

213
docs/html/roadmap.htm Normal file
View File

@@ -0,0 +1,213 @@
<HTML>
<HEAD>
<TITLE>wxWindows Roadmap</TITLE>
</HEAD>
<BODY>
<a name="top"></a>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows Roadmap
</font>
</td>
</tr>
</table>
<P>
<CENTER>
<a href="#schedule">Schedule</a> | <a href="#todo">To-Do List</a>
</CENTER>
<P>
This page represents current thinking about where wxWindows is going in the near,
medium and long-term. It also serves as a schedule for new releases so
that both developers and users can know what to expect when, at least approximately.<P>
Note (1): as the wxWindows effort is voluntary, these are not hard-and-fast deadlines:
but we will endeavour to follow them as closely as possible.<P>
Note (2): the releases described are for wxGTK, wxMSW and wxMotif ports. wxMac currently follows
its own development path but is due to merge with the main code base in November/December.
Also, minor snapshot releases for specific platforms may be
available at dates convenient to the developers.<P>
<CENTER>
<HR> <FONT SIZE=+2><I><B><a name="schedule">Schedule</a></B></I></FONT> <HR>
</CENTER>
<P>
<H4>Release 2.0.?</H4>
<ul>
<li>Release date: October 3rd, 1999
<li>This beta is intended to be the last stable snapshot before wxWindows
is split into base and GUI libraries.
<li>New wxGrid in beta.
<li>wxWizard (beta)
<li>wxDialUpManager and wxPhoneDialer (beta)
<li>wxFontEnumerator (beta)
<li>Preliminary support for different encodings
<li>wxPostEvent function
</ul>
<P>
<H2>Release 2.1</H2>
<ul>
<li>Release date: November 7th, 1999
<li>Splits wxWindows into base and GUI libraries. Most, but not all makefiles
are expected to support this: for the rest, the makefiles will build a valid
combined base/GUI library for GUI applications only.
<li>New wxGrid.
<li>wxSocket working.
<li>Full support for fonts in different encodings
<li>Tested multithreading support (wxThread)
<li>wxHTML printing (possibly).
<li>Better i18n support (i.e. more translations)
<li>Animation classes (possibly, low priority).
<li>PCX writing capability (possibly, low priority).
<li>wxImage handlers in separate .h and .cpp files.
<li>Rewritten timer.cpp, possible wxChrono class.
<li>Bug tracking system in place.
</ul>
<P>
<H4>Release 2.1.1</H4>
<ul>
<li>Release date: January 9th, 2000
<li>Miscellaneous fixes and small enhancements.
</ul>
<P>
<H4>Release 2.1.2</H4>
<ul>
<li>Release date: March 5th, 2000
<li>Miscellaneous fixes and small enhancements.
<li>wxDateTime class in beta.
</ul>
<P>
<H4>Release 2.1.3</H4>
<ul>
<li>Release date: May 7th, 2000
<li>Unicode compilation starting to work in wxGTK and wxMSW.
</ul>
<P>
<H2>Release 2.2</H2>
<ul>
<li>Release date: c. July 2nd, 2000
<li>Unicode compilation working in wxGTK and wxMSW.
<li>wxDateTime class.
<li>Regular expressions support.
</ul>
<P>
<H2>Release 2.3</H2>
<ul>
<li>Release date: unknown
<li>WinCE port available.
</ul>
<P>
<CENTER>
<HR> <FONT SIZE=+2><I><B><a name="todo">To-Do List</a></B></I></FONT> <HR>
</CENTER>
<P>
Developers: please feel free to add to these, and delete them when they are done.
<P>
<B><I>General</I></B><P>
<ul>
<li>wxHTML printing. When finished, this will allow an application to generate
printed reports with very little effort.
<li>wxSocket.
<li>Split library into several, for base (classes and functions usable by console and GUI
applications), console (classes and functions usable by console application only)
and GUI (classes and functions usable by GUI application only).
<li>Extend and unify drag and drop handling (e.g. we need to specify multiple drop targets
that can handle multiple formats).
<li>Expand the number of controls that can be specified in a WXR file;
add constraint specification to WXR syntax and Dialog Editor; add multilanguage support to WXR.
May be we'd better change the format completely and replace WXR with XML
(providing conversion utility for old files)?
<li>Rewrite Dialog Editor.
<li>Modem-oriented classes: wxDialUpManager for dialing up the ISP and
determining if there is a connection to Internet on the machine and
wxPhoneDialer for dialing arbitrary phone numbers and otherwise communicating
with the modem.
<li>PCX writing code.
<li>GIF animation code.
<li>Tidying of timer code, addition of wxChrono class.
<li>Debug wxPostScriptDC further.
<li>wxDateTime class.
<li>Expansion of wxHTML to support further tags, and frames.
<li>MGL port (see Backroom/Future Ports page).
<li>Rotated text support.
<li>FreeType support.
<li>Support for 'skins', perhaps using a set of alternative control and window classes
written generically in wxWindows.
<li>Serial and parallel port support.
<li>Modem and telephony support.
<li>Book, tutorial.
<li>More examples.
</ul>
<P>
<B><I>wxMSW</I></B><P>
<ul>
<li>Windows CE port.
<li>Cure bug whereby in a panel within another panel, all buttons become
default buttons (heavy black border).
<li>Write a RC->WXR converter.
</ul>
<P>
<B><I>wxGTK</I></B><P>
<ul>
<li>GNOME/KDE integration libraries.
</ul>
<P>
<B><I>wxMotif</I></B><P>
<ul>
<li>Fix menu accelerators
<li>Fix refresh problems
<li>Allow wxSystemSettings to be configurable, perhaps via a control
panel application.
</ul>
</BODY>
</HTML>

View File

@@ -34,7 +34,7 @@ variety of platforms. The second part details the wxWindows code organization an
its goal it to make wxWindows as uniform as possible without imposing too
many restrictions on the programmer.
<P>
Acknowledgements: This guide is partly based on <A
Acknowledgements: This guide is partly based on <A
HREF=http://www.mozilla.org/docs/tplist/catBuild/portable-cpp.html target=_top>
C++ portability guide</A> by David Williams.
@@ -50,6 +50,7 @@ C++ portability guide</A> by David Williams.
<LI><A HREF="#no_stl">Don't use STL</A></LI>
<LI><A HREF="#no_fordecl">Don't declare variables inside <TT>for()</TT></A></LI>
<LI><A HREF="#no_nestedclasses">Don't use nested classes</A></LI>
<LI><A HREF="#no_ternarywithobjects">Use ternary operator ?: carefully</A></LI>
</OL>
<BR>
<LI>General recommendations</LI>
@@ -100,14 +101,15 @@ C++ portability guide</A> by David Williams.
<LI><A HREF="#indentation">Indent your code with 4 spaces (no tabs!)</A></LI>
<LI><A HREF="#class_decl">Order of parts in a class declarations</A></LI>
</OL>
<BR>
<LI>More about naming conventions</LI>
<OL>
<LI><A HREF="#wx_prefix">Use wx or WX prefix for all public symbols</A></LI>
<LI><A HREF="#wxdllexport">Use WXDLLEXPORT with all classes/functions in
<LI><A HREF="#wxdllexport">Use WXDLLEXPORT with all classes/functions in
wxMSW/common code</A></LI>
<LI><A HREF="#set_get">Use Set/Get prefixes for accessors</A></LI>
<LI><A HREF="#constants">wxNAMING_CONSTANTS</A></LI>
</OL>
<BR>
@@ -123,7 +125,7 @@ C++ portability guide</A> by David Williams.
<H3>General C++ Rules</H3>
<UL>
<LI>New or not widely supported C++ features</LI>
<P>The usage of all features in this section is not recommended for one reason: they appeared in C++ relatively recently and are not yet
supported by all compilers. Moreover, when they're supported, there are
differences between different vendor's implementations. It's understandable that
@@ -133,7 +135,7 @@ of your favourite C++ abilities are indicated.
<P>Just to suppress any doubts that there are compilers which don't support
these new features, you can think about Win16 (a.k.a. Win 3.1) compilers,
<I>none</I> of which supports <I>any</I> feature from the list below.
<OL>
<P><LI><A NAME="no_templates"></A><B>Don't use C++ templates</B></LI><P>
Besides the reasons mentioned above, template usage also makes the
@@ -145,7 +147,7 @@ most commonly, polymorphic containers (in the sense that they can contain object
any type without compromising C++ type system, i.e. using <TT>void *</TT>
is out of question). wxWindows provides <A HREF="TODO">dynamic
arrays and lists</A> which are sufficient in 99% of cases - please don't hesitate
to use them. Lack of template is not a reason to use static arrays or
to use them. Lack of template is not a reason to use static arrays or
type-less (passing by <TT>void *</TT>) containers.
<P><LI><A NAME="no_exceptions"></A><B>Don't use C++ exceptions</B></LI><P>
@@ -180,10 +182,10 @@ might help here:<P>
void ReadAddressBookFile(const wxString& strName)
{
wxFile file;
if ( !file.Open(strFile) )
return;
...process it...
}
</PRE>
@@ -193,19 +195,19 @@ void ReadAddressBookFile(const wxString& strName)
bool ReadAddressBookFile(const wxString& strName)
{
wxFile file;
if ( !file.Open(strFile) ) {
// wxFile logged an error because file couldn't be opened which
// contains the system error code, however it doesn't know what
// this file is for and an error message "can't open $GLCW.ADB"
// can be quite confusing for the user. Here we say what we mean.
wxLogError("Can't read address book from '%s'!",
wxLogError("Can't read address book from '%s'!",
strName.c_str());
return false;
}
...process it...
return true;
}
</PRE>
@@ -217,22 +219,22 @@ bool ReadAddressBookFile(const wxString& strName)
bool ReadAddressBookFile(const wxString& strName)
{
wxFile file;
// start a block inside which all log messages are suppressed
{
wxLogNull noLog;
if ( !file.Open(strFile) )
return false;
}
...process it...
return true;
}
</PRE></LI>
</UL>
</OL>
<P><LI><A NAME="no_rtti"></A><B>Don't use RTTI</B></LI><P>
RTTI stands for Run-Time Type Information and there is probably no other
reason not to use it except the portability issue and the fact that it adds
@@ -240,7 +242,7 @@ reason not to use it except the portability issue and the fact that it adds
in the implementations I'm aware of).
<P><U>Workaround</U>: use wxWindows RTTI system which allows you to do almost
everything which the new C++ RTTI, except that, of course, you have to use
macros instead of the (horrible looking, BTW) <TT>dynamic_cast</TT>.
macros instead of the (horrible looking, BTW) <TT>dynamic_cast</TT>.
<P><LI><A NAME="no_namespaces"></A><B>Don't use namespaces</B></LI><P>
This topic is subject to change with time, however for the moment all wxWindows
@@ -312,17 +314,17 @@ you can try the following:
private:
class PrivateLibClass *m_pObject;
};
// in the .cpp file
class PrivateLibClass { ... };
PublicLibClass::PublicLibClass()
{
m_pObject = new PrivateLibClass;
...
}
PublicLibClass::~PublicLibClass()
{
delete m_pObject;
@@ -331,20 +333,39 @@ you can try the following:
<P>A nice side effect is that you don't need to recompile all the files
including the header if you change the PrivateLibClass declaration (it's
an example of a more general interface/implementation separation idea).
<P><LI><A NAME="no_ternarywithobjects"></A><B>Use ternary operator ?: carefully</B></LI><P>
The ternary operator <TT>?:</TT> shouldn't be used with objects (i.e. if any
of its operands are objects) because some compilers (notable Borland C++) fail
to compile such code.
<P><U>Workaround</U>: use <TT>if/else</TT> instead.
<PRE>
wxString s1, s2;
// Borland C++ won't compile the line below
wxString s = s1.Len() < s2.Len() ? s1 : s2;
// but any C++ compiler will compile this
wxString s;
if ( s1.Len() < s2.Len() )
s = s1;
else
s = s2;
</PRE>
</OL>
<BR>
<LI>General recommendations</B></LI><P>
While the recommendations in the previous section may not apply to you if you're
only working with perfect compilers which implement the very newest directives of
C++ standard, this section contains compiler- (and language-) independent advice
C++ standard, this section contains compiler- (and language-) independent advice
which <B>must</B> be followed if you wish to write correct, i.e. working, programs. It
also contains some C/C++ specific remarks in the end which are less
also contains some C/C++ specific remarks in the end which are less
important.
<OL>
<P><LI><A NAME="no_globals"></A><B>No global variables with constructors</B></LI><P>
In C++, the constructors of global variables are called before the
<TT>main()</TT> function (or <TT>WinMain()</TT> or any other program entry point)
<TT>main()</TT> function (or <TT>WinMain()</TT> or any other program entry point)
starts executing. Thus, there is no possibility to initialize <I>anything</I>
before the constructor call. The order of construction is largely
implementation-defined, meaning that there is no guarantee that one global
@@ -423,7 +444,7 @@ sizes are different. A small table illustrates it quite well:
Although close to the heart of many C programmers (I plead guilty), code like
classical <TT>if ( (c = getchar()) != EOF )</TT> is bad because it prevents you
from enabling "assignment in conditional expression" warning (see also
<A HREF="#no_warnings">above</A>) warning which is helpful to detect common
<A HREF="#no_warnings">above</A>) which is helpful to detect common
mistypes like <TT>if ( x = 2 )</TT> instead of <TT>if ( x == 2 )</TT>.
<P><LI><A NAME="no_comment_code"></A><B>Use <TT>#if 0</TT> rather than comments to temporarily
@@ -495,10 +516,10 @@ like files without terminating new-line. Such files also give a warning message
when loaded to vim (the Unix programmer's editor of choice :-)), so please think
about terminating the last line.
</OL>
<BR>
<LI>Style choices</B></LI><P>
All wxWindows specific style guidelines are specified in the next
All wxWindows specific style guidelines are specified in the next
section, here are the choices which are not completely arbitrary,
but have some deeper and not wxWindows-specific meaning.
@@ -518,9 +539,9 @@ following code fragment is:
void Foo::Bar(int x_)
{
...
x = x_;
...
}
</PRE>
@@ -591,7 +612,7 @@ However, the <TT>const</TT> keyword is confusing here, adds nothing to the code
and even cannot be removed if <TT>Foo()</TT> is virtual and overridden (because
the names are mangled differently). So, <I>for arguments passed by value</I>
you shouldn't use <TT>const</TT>.
<P>Of course, it doesn't apply to functions such as
<P>Of course, it doesn't apply to functions such as
<TT>void PrintMessage(const char *text)</TT> where <TT>const</TT> is mandatory.
</OL>
</UL>
@@ -607,7 +628,7 @@ The wxWindows files for each supported platform have their own subdirectories
in "include" and "src". So, for example, there is "src/msw", "include/gtk"
etc. There are also two special subdirectories called "common" and
"generic". The common subdirectory contains the files which are platform
independent (wxObject, wxString, ...) and the generic one the generic
independent (wxObject, wxString, ...) and the generic one the generic
implementations of GUI widgets, i.e. those which use only other wxWindows
classes to implement them. For the platforms where the given functionality
cannot be implemented natively, the generic implementation is used and the native
@@ -712,12 +733,12 @@ usage 'public domain' (the copyright holder does not assert the copyright).<P>
<P><LI><A NAME="indentation"></LI><B>Indent your code with 4 spaces (no tabs!)</B>
<P><LI><A NAME="class_decl"></LI><B>Order of parts in a class declarations</B><P>
</OL>
<P><LI>More about naming conventions</LI><P>
<OL>
<P><LI><A NAME="wx_prefix"></LI><B>Use wx or WX prefix for all public symbols</B>.
wx should be used for functions and classes, WX for macros.
<P><LI><A NAME="wxdllexport"</LI><B>Use WXDLLEXPORT with all classes/functions in
<P><LI><A NAME="wxdllexport"</LI><B>Use WXDLLEXPORT with all classes/functions in
wxMSW/common code</B>
The title says it all - every public (in the sense that it is not internal to
the library) function or class should have WXDLLEXPORT macro in its
@@ -734,14 +755,33 @@ keyword ordering for exporting data.
<P>There also several other places where you should take care of shared
library case: all IMPLEMENT_xxx macros which are usually used in the
corresponding .cpp files must be taken inside
corresponding .cpp files must be taken inside
"<TT>&#35;if !USE_SHARED_LIBRARY</TT>" and in the <TT>&#35;if USE_SHARED_LIBRARY</TT>
case you should put them inside <TT>common/cmndata.cpp</TT> file.
<P><LI><A NAME="set_get"></LI><B>Use Set/Get prefixes for accessors</B><P>
There is a convention in wxWindows to prefix the accessors (i.e. any simple, in
general, inline function which does nothing else except changing or returning
There is a convention in wxWindows to prefix the accessors (i.e. any simple, in
general, inline function which does nothing else except changing or returning
the value of a member variable) with either <TT>Set</TT> or <TT>Get</TT>.
<P><LI><A NAME="constants"></LI><B>wxNAMING_CONSTANTS</B><P>
The constants in wxWindows code should be defined using <TT>enum</TT> C++
keyword (and not with <TT>#define</TT> or <TT>static const int</TT>). They
should be declared in the global scope (and not inside class declaration) and
their names should start with a <TT>wx</TT> prefix. Finally, the constants
should be in all capital letters (except the first 2) to make it easier to
distinguish them from the variables with underscores separating the words.
<P>For example, file-related constants should be declared like this:
<pre>
enum
{
wxFILEOPEN_READ,
wxFILEOPEN_WRITE,
wxFILEOPEN_READWRITE
};
</pre>
</OL>
<P><LI>Miscellaneous</LI><P>
@@ -751,7 +791,7 @@ It's really a trivial piece of advice, but remember that using forward declarati
instead of including the header of corresponding class is better because not
only does it minimize the compile time, it also simplifies the dependencies
between different source files.
<P>On a related subject, in general, you should try not to include other
<P>On a related subject, in general, you should try not to include other
headers from a header file.
<P><LI><A NAME="debug_macros"></LI><B>Use debugging macros</B><P>
@@ -764,7 +804,7 @@ stubs for not (yet) implemented functions which silently return incorrect
values - otherwise, a person using a not implemented function has no idea that
it is, in fact, not implemented.
<P>As all debugging macros only do something useful if the symbol
<TT>__DEBUG__</TT> is defined, you should compile your programs in debug mode to profit
<TT>__WXDEBUG__</TT> is defined, you should compile your programs in debug mode to profit
from them.
</OL>
</UL>

View File

@@ -137,6 +137,10 @@ Loads the accelerator table from a Windows resource (Windows only).
\docparam{resource}{Name of a Windows accelerator.}
\pythonnote{The wxPython constructor accepts a list of
wxAcceleratorEntry objects, or 3-tuples consisting of flags, keyCode,
and cmd values like you would construct wxAcceleratorEntry objects with.}
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
\func{}{\destruct{wxAcceleratorTable}}{\void}

View File

@@ -16,8 +16,8 @@ the buttons shall be centred as the width of the dialog changes.
It is the unique feature of a box sizer, that it can grow in both directions (height and
width) but can distribute its growth in the main direction (horizontal for a row) {\it unevenly}
among its children. In our example case, the vertical sizer is supposed to propagate all its
height changes to only the text area, not to the button area. This is determined by the
{\it option} parameter when adding a window (or another sizer) to a sizer. It is interpreted
height changes to only the text area, not to the button area. This is determined by the {\it option} parameter
when adding a window (or another sizer) to a sizer. It is interpreted
as a weight factor, i.e. it can be zero, indicating that the window may not be resized
at all, or above zero. If several windows have a value above zero, the value is interpreted
relative to the sum of all weight factors of the sizer, so when adding two windows with
@@ -77,11 +77,9 @@ MyDialog::MyDialog(wxFrame *parent, wxWindowID id, const wxString &title ) :
topsizer->Fit( this ); // set size to minimum size as calculated by the sizer
topsizer->SetSizeHints( this ); // set size hints to honour mininum size
}
\end{verbatim}
\wxheading{Derived from}
\helpref{wxSizer}{wxsizer}

View File

@@ -418,6 +418,9 @@ Gets the current pen (see \helpref{wxDC::SetPen}{wxdcsetpen}).
Sets {\it colour} to the colour at the specified location. Windows only; an X implementation
is being worked on. Not available for wxPostScriptDC or wxMetafileDC.
\pythonnote{For wxPython the wxColour value is returned and is not
required as a parameter.}
\membersection{wxDC::GetSize}\label{wxdcgetsize}
\func{void}{GetSize}{\param{long *}{width}, \param{long *}{height}}

View File

@@ -41,7 +41,8 @@ wxSWISS\_FONT}
Default constructor.
\func{}{wxFont}{\param{int}{ pointSize}, \param{int}{ family}, \param{int}{ style}, \param{int}{ weight},
\param{const bool}{ underline = FALSE}, \param{const wxString\& }{faceName = ""}}
\param{const bool}{ underline = FALSE}, \param{const wxString\& }{faceName = ""},
\param{wxFontEncoding }{encoding = wxFONTENCODING\_DEFAULT}}
Creates a font object.
@@ -70,6 +71,22 @@ Creates a font object.
\docparam{faceName}{An optional string specifying the actual typeface to be used. If the empty string,
a default typeface will chosen based on the family.}
\docparam{encoding}{An encoding which may be one of
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxFONTENCODING\_SYSTEM}}{Default system encoding.}
\twocolitem{{\bf wxFONTENCODING\_DEFAULT}}{Default application encoding: this
is the encoding set by calls to
\helpref{SetDefaultEncoding}{wxfontsetdefaultencoding} and which may beset to,
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
default application encoding is the same as default system encoding.}
\twocolitem{{\bf wxFONTENCODING\_ISO8859\_1...15}}{ISO8859 encodings.}
\twocolitem{{\bf wxFONTENCODING\_KOI8}}{The standard russian encoding for Internet.}
\twocolitem{{\bf wxFONTENCODING\_CP1250...1252}}{Windows encodings similar to ISO8859 (but not identical).}
\end{twocollist}
If the specified encoding isn't available, no font is created.
}
\wxheading{Remarks}
If the desired font does not exist, the closest match will be chosen.

View File

@@ -31,7 +31,8 @@ slashes.
\func{bool}{wxFileExists}{\param{const wxString\& }{filename}}
Returns TRUE if the file exists.
Returns TRUE if the file exists. It also returns TRUE if the file is
a directory.
\membersection{::wxFileNameFromPath}
@@ -80,6 +81,17 @@ See \helpref{wxFindFirstFile}{wxfindfirstfile} for an example.
Returns the Windows directory under Windows; on other platforms returns the empty string.
\membersection{::wxInitAllImageHandlers}\label{wxinitallimagehandlers}
\func{void}{wxInitAllImageHandlers}{\void}
Adds some common image format handlers, which, depending on wxWindows
configuration, can be handlers for BMP (loading) (always installed), GIF
(loading and saving), PCX (loading and saving), PNM (loading and saving as raw
rgb), PNG (loading and saving), JPEG (loading and saving), file formats.
See also: \helpref{wxImage}{wximage} \helpref{wxImageHandler}{wximagehandler}
\membersection{::wxIsAbsolutePath}
\func{bool}{wxIsAbsolutePath}{\param{const wxString\& }{filename}}
@@ -1917,6 +1929,23 @@ base classes.
<wx/object.h>
\membersection{wxBITMAP}\label{wxbitmap}
\func{}{wxBITMAP}{bitmapName}
This macro loads a bitmap from either application resources (on the platforms
for which they exist, i.e. Windows and OS2) or from an XPM file. It allows to
avoid using {\tt #ifdef}s when creating bitmaps.
\wxheading{See also}
\helpref{Bitmaps and icons overview}{wxbitmapoverview},
\helpref{wxICON}{wxicon}
\wxheading{Include files}
<wx/gdicmn.h>
\membersection{WXDEBUG\_NEW}\label{debugnew}
\func{}{WXDEBUG\_NEW}{arg}
@@ -1964,6 +1993,23 @@ Example:
\helpref{RTTI overview}{runtimeclassoverview}
\membersection{wxICON}\label{wxicon}
\func{}{wxICON}{iconName}
This macro loads an icon from either application resources (on the platforms
for which they exist, i.e. Windows and OS2) or from an XPM file. It allows to
avoid using {\tt #ifdef}s when creating icons.
\wxheading{See also}
\helpref{Bitmaps and icons overview}{wxbitmapoverview},
\helpref{wxBITMAP}{wxbitmap}
\wxheading{Include files}
<wx/gdicmn.h>
\membersection{WXTRACE}\label{trace}
\wxheading{Include files}

View File

@@ -21,6 +21,7 @@ wxDC::DrawBitmap.
\wxheading{See also}
\helpref{wxBitmap}{wxbitmap}
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -278,15 +279,16 @@ Returns TRUE if there is a mask active, FALSE otherwise.
\func{static void}{InitStandardHandlers}{\void}
Adds the standard image format handlers, which, depending on wxWindows
configuration, can be handlers for Windows BMP (loading), PNG
(loading and saving) and JPEG (loading and saving) file formats.
Internal use only. Adds standard image format handlers. It only install BMP
for the time being, which is use by wxBitmap.
This function is called by wxWindows on startup.
This function is called by wxWindows on startup, and shouldn't be called by
the user.
\wxheading{See also}
\helpref{wxImageHandler}{wximagehandler}
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
\membersection{wxImage::InsertHandler}
@@ -303,11 +305,13 @@ of a given handler class in an application session.}
\membersection{wxImage::LoadFile}\label{wximageloadfile}
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{long}{ type}}
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{long}{ type = wxBITMAP\_TYPE\_ANY}}
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{const wxString\&}{ mimetype}}
Loads an image from a file.
Loads an image from a file. If no handler type is provided, the library will
try to use wxBITMAP\_TYPE\_BMP or all known handlers previously installed
through a call to \helpref{wxImage::InitAllHandlers}{wximageinitallhandlers}.
\func{bool}{LoadFile}{\param{wxInputStream\&}{ stream}, \param{long}{ type}}
@@ -328,8 +332,11 @@ The meaning of {\it stream} data is determined by the {\it type} parameter.}
\twocolwidtha{5cm}%
\begin{twocollist}
\twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Load a Windows image file.}
\twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Load a PNG image file.}
\twocolitem{{\bf wxBITMAP\_TYPE\_GIF}}{Load a GIF image file.}
\twocolitem{{\bf wxBITMAP\_TYPE\_JPEG}}{Load a JPEG image file.}
\twocolitem{{\bf wxBITMAP\_TYPE\_PCX}}{Load a PCX image file.}
\twocolitem{{\bf wxBITMAP\_TYPE\_PNG}}{Load a PNG image file.}
\twocolitem{{\bf wxBITMAP\_TYPE\_PNM}}{Load a PNM image file.}
\end{twocollist}
The validity of these flags depends on the platform and wxWindows configuration.}
@@ -587,6 +594,7 @@ created by IJG.)
\wxheading{See also}
\helpref{wxImage}{wximage}
\helpref{wxInitAllImageHandlers}{wxinitallimagehandlers}
\latexignore{\rtfignore{\wxheading{Members}}}

View File

@@ -282,6 +282,9 @@ Insert the given number of strings before the specified position.
\docparam{pos}{Position before which to insert the items: for example, if {\it pos} is 0 the items
will be inserted in the beginning of the listbox}
\pythonnote{The first two parameters are collapsed into a single
parameter for wxPython, which is a list of strings.}
\membersection{wxListBox::Number}\label{wxlistboxnumber}
\constfunc{int}{Number}{\void}

View File

@@ -163,7 +163,7 @@ EVT\_LIST\_BEGIN\_LABEL\_EDIT event which can be vetoed so that no
text control will appear for in-place editing.
If the user changed the label (i.e. s/he does not press ESC or leave
the text control without changes, a EVT\_LIST\_END\_LABEL\_EDIT event
the text control without changes, a EVT\_LIST\_END\_LABEL\_EDIT event
will be sent which can be vetoed as well.
\membersection{wxListCtrl::EnsureVisible}\label{wxlistctrlensurevisible}
@@ -246,8 +246,8 @@ Returns the specified image list. {\it which} may be one of:
Gets information about the item. See \helpref{wxListCtrl::SetItem}{wxlistctrlsetitem} for more
information.
\pythonnote{The wxPython version of this method takes a parameter
representing the item ID, and returns the wxListItem object.
\pythonnote{The wxPython version of this method takes an integer parameter
for the item ID, and returns the wxListItem object.
}
\membersection{wxListCtrl::GetItemData}\label{wxlistctrlgetitemdata}
@@ -376,6 +376,10 @@ giving details in {\it flags}. {\it flags} will be a combination of the followin
wxLIST\_HITTEST\_ONITEMSTATEICON.}
\end{twocollist}
\pythonnote{A tuple of values is returned in the wxPython version of
thsi method. The first value is the item id and the second is the
flags value mentioned above.}
\membersection{wxListCtrl::InsertColumn}\label{wxlistctrlinsertcolumn}
\func{long}{InsertColumn}{\param{long }{col}, \param{wxListItem\& }{info}}

View File

@@ -52,6 +52,7 @@ empty, {\it HasPendingMessages()} is also provided which allows to explicitly
verify it.
\helpref{Flush}{wxlogflush}\\
\helpref{FlushActive}{wxlogflushactive}\\
\helpref{HasPendingMessages}{haspendingmessages}
\membersection{Customization}\label{wxlogcustomization}
@@ -142,6 +143,16 @@ currently. (Almost) for internal use only.
Shows all the messages currently in buffer and clears it. If the buffer
is already empty, nothing happens.
\membersection{wxLog::FlushActive}\label{wxlogflushactive}
\func{static void}{FlushActive}{\void}
Flushes the current log target if any, does nothing if there is none.
See also:
\helpref{Flush}{wxlogflush}
\membersection{wxLog::HasPendingMessages}\label{haspendingmessages}
\constfunc{bool}{HasPendingMessages}{\void}
@@ -169,7 +180,7 @@ Returns whether the verbose mode is currently active.
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 a null value (not empty string) to this function disables message timestamping.
Passing a NULL value (not empty string) to this function disables message timestamping.
\membersection{wxLog::GetTimestamp}\label{wxloggettimestamp}

View File

@@ -635,6 +635,12 @@ Determines whether an item is enabled.
TRUE if the item was found and is enabled, FALSE otherwise.
\membersection{wxMenuBar::Refresh}\label{wxmenubarrefresh}
\func{void}{Refresh}{\void}
Redraw the menu bar
\membersection{wxMenuBar::SetHelpString}\label{wxmenubarsethelpstring}
\func{void}{SetHelpString}{\param{int}{ id}, \param{const wxString\& }{helpString}}

View File

@@ -5,7 +5,7 @@ box around the sizer. Note that this static box has to be created
separately.
See also \helpref{wxSizer}{wxsizer}, \helpref{wxStaticBox}{wxstaticbox} and
\helpref{wxBoxSizer}{wxboxsizer}.
\helpref{wxBoxSizer}{wxboxsizer}.
\wxheading{Derived from}
@@ -26,4 +26,5 @@ as parameters - orient can be either of wxVERTICAL or wxHORIZONTAL.
\func{wxStaticBox*}{GetStaticBox}{\void}
Returns the static box associated with the sizer.
Returns the static box associated with the sizer.

View File

@@ -50,25 +50,6 @@ Default destructor.
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
%

View File

@@ -57,13 +57,13 @@ 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\_COMMAND\_SCROLL\_TOP(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL\_BOTTOM(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL\_LINEUP(id, func)}}{Catch a line up command.}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL\_LINEDOWN(id, func)}}{Catch a line down command.}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL\_PAGEUP(id, func)}}{Catch a page up command.}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL\_PAGEDOWN(id, func)}}{Catch a page down command.}
\twocolitem{{\bf EVT\_COMMAND\_SCROLL\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
\end{twocollist}%
\wxheading{See also}

View File

@@ -1,15 +1,15 @@
\section{\class{wxSizer}}\label{wxsizer}
wxSizer is the abstract base class used for layouting subwindows in a window. You
wxSizer is the abstract base class used for laying out subwindows in a window. You
cannot use wxSizer directly; instead, you'll have to use \helpref{wxBoxSizer}{wxboxsizer}
or \helpref{wxStaticBoxSizer}{wxstaticboxsizer}.
The layouting algorithm used by sizers in wxWindows closely related to layouting
The layout algorithm used by sizers in wxWindows closely related to layout
in other GUI toolkits, such as Java's AWT, the GTK toolkit or the Qt toolkit. It is
based upon the idea of the individual subwindows reporting their minimal required
size and their ability to get stretched if the size of the parent window has changed.
This will most often mean, that the programmer does not set the original size of
the dialog in the beginning, rather the top-most sizer will get queried and it will
the dialog in the beginning, rather the top-most sizer will get queried and it will
then query its children. Its children can be normal windows or other sizers, so that
a hierachy of sizer can be constructed. Note that sizer are not derived from wxWindows
and thus do not interfere with tab ordering and require very little resources compared
@@ -21,13 +21,16 @@ or different window (dialog item) sizes on different platforms without problems.
the standard font as well as the overall design of Motif widgets requires more space than
on Windows, the intial dialog size will automatically be bigger on Motif than on Windows.
\pythonnote{If you wish to create a sizer class in wxPython you should
derive the class from \tt{wxPySizer} in order to get Python-aware
capabilities for the various virtual methods.}
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSizer::wxSizer}\label{wxsizerwxsizer}
\func{}{wxSizer}{\void}
@@ -43,11 +46,11 @@ The destructor.
\membersection{wxSizer::Add}\label{wxsizeradd}
\func{void}{Add}{\param{wxWindow* }{window}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}
\func{void}{Add}{\param{wxWindow* }{window}, \param{int }{option = 0},\param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}
\func{void}{Add}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}
\func{void}{Add}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
Adds the {\it window} to the sizer. As wxSizer itself is an abstract class, the parameters
have no meaning in the wxSizer class itself, but as there currently is only one class
@@ -56,7 +59,7 @@ of the paramters is described here:
\docparam{window}{The window to be added to the sizer. Its initial size (either set explicitly by the
user or calculated internally when using wxDefaultSize) is interpreted as the minimal and in many
cases also the initial size. This is particularly useful in connection with \helpref{SetSizeHint}{wxsizersetsizehints}. }
cases also the initial size. This is particularly useful in connection with \helpref{SetSizeHint}{wxsizersetsizehints}.}
\docparam{sizer}{The (child-)sizer to be added to the sizer. This allows placing a child sizer in a
sizer and thus to create hierarchies of sizers (typically a vertical box as the top sizer and several
@@ -73,7 +76,7 @@ the dialog.}
to indicate if a child of a sizer can change its size in the main orientation of the wxBoxSizer - where
0 stands for not changable and a value of more than zero in interpreted relative to the value of other
children of the same wxBoxSizer. You might, e.g., have a horizontal wxBoxSizer with three children, two
of which are supposed to change their size with the sizer, then the two stretchable windows would get a
of which are supposed to change their size with the sizer, then the two stretchable windows would get a
value of 1 each to make them grow and shrink equally with the sizer's vertical dimension.}
\docparam{flag}{This parameter can be used to set a number of flags which can be combined using
@@ -85,18 +88,22 @@ the {\it option} flag - not in the main orientation, but the respectively other
if you created a wxBoxSizer with the wxVERTICAL option, these flags will be relevant if the
sizer changes its horizontal size. A child may get resized to completely fill out the new size (using
either wxGROW or wxEXPAND), may get centered (wxCENTER or wxCENTRE) or may get aligned to either
side (wxALIGN_LEFT and wxALIGN_TOP are set to 0 and thus represent the default, wxALIGN_RIGHT and
wxALIGN_BOTTOM have their obvious meaning.}
side (wxALIGN\_LEFT and wxALIGN\_TOP are set to 0 and thus represent the default, wxALIGN\_RIGHT and
wxALIGN\_BOTTOM have their obvious meaning.}
\docparam{border}{Determines the border width, if the {\it flag} parameter is set to any border.}
\docparam{userData}{Allows an extra object to be attached to the sizer
item, for use in derived classes when sizing information is more
complex than what {\it option} and {\it flag} will allow for.}
\membersection{wxSizer::Prepend}\label{wxsizerprepend}
\func{void}{Prepend}{\param{wxWindow* }{window}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}
\func{void}{Prepend}{\param{wxWindow* }{window}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}
\func{void}{Prepend}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}
\func{void}{Prepend}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border= 0}, \param{wxObject* }{userData = NULL}}
Same as \helpref{wxSizer::Add}{wxsizeradd}, but prepends the items to the beginning of the
list of items (windows, subsizers or spaces) owned by this sizer.
@@ -111,7 +118,7 @@ list of items (windows, subsizers or spaces) owned by this sizer.
Removes a child from the sizer. {\it window} is the window to be removed, {\it sizer} the
equivalent sizer and {\it nth} is the position of the child in the sizer, typically 0 for
the first item. This method does not cause any layouting or resizing to take place and does
the first item. This method does not cause any layout or resizing to take place and does
not delete the window itself. Call \helpref{wxSizer::Layout}{wxsizerlayout} for updating
the layout "on screen" after removing a child fom the sizer.
@@ -178,7 +185,8 @@ of \helpref{wxBoxSizer}{wxboxsizer}.
\func{void}{SetSizeHints}{\param{wxWindow* }{window}}
Tell the sizer to set the minimal size of the {\it window} to match the sizer's minimal size.
Tell the sizer to set the minimal size of the {\it window} to match the sizer's minimal size.
This is commonly done in the constructor of the window itself, see sample in the description
of \helpref{wxBoxSizer}{wxboxsizer} if the window is resizable (as many dialogs under Unix and
frames on probably all platforms).

View File

@@ -8,9 +8,31 @@
<wx/socket.h>
\wxheading{See also}
\wxheading{wxSocket errors}%\label{wxsocketerrs} % Labels don't work on a non-section!
GSocket for wxWindows
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxSOCKET\_NOERROR}}{No error happened.}
\twocolitem{{\bf wxSOCKET\_INVOP}}{Invalid operation.}
\twocolitem{{\bf wxSOCKET\_IOERR}}{Input/Output error.}
\twocolitem{{\bf wxSOCKET\_INVADDR}}{Invalid address passed to wxSocket.}
\twocolitem{{\bf wxSOCKET\_INVSOCK}}{Invalid socket (uninitialized).}
\twocolitem{{\bf wxSOCKET\_NOHOST}}{No corresponding host.}
\twocolitem{{\bf wxSOCKET\_INVPORT}}{Invalid port.}
\twocolitem{{\bf wxSOCKET\_TRYAGAIN}}{The IO call has a timeout or is in non-blocking mode.}
\twocolitem{{\bf wxSOCKET\_MEMERR}}{Memory exhausted.}
\end{twocollist}%
\wxheading{wxSocket events}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxSOCKET\_INPUT}}{Some data are ready to be got.}
\twocolitem{{\bf wxSOCKET\_OUTPUT}}{The socket is ready to be written to.}
\twocolitem{{\bf wxSOCKET\_CONNECTION}}{Someone want to connect our server.}
\twocolitem{{\bf wxSOCKET\_LOST}}{The connection has been broken.}
\twocolitem{{\bf wxSOCKET\_MAX\_EVENT}}{This should never happen but the compiler may complain about it.}
\end{twocollist}%
% ---------------------------------------------------------------------------
% Event handling
@@ -78,10 +100,36 @@ Destroys the wxSocketBase object.
%
\membersection{wxSocketBase::SetNotify}\label{wxsocketbasesetnotify}
\func{void}{SetNotify}{\param{GSocketEventFlags}{ event_flags}}
\func{void}{SetNotify}{\param{wxSocketEventFlags}{ event_flags}}
SetNotify setups which socket events are to be sent to the event handler.
For more information on socket events see GSocket events.
You specify in parameters a mask of wxSocket events. The flags is:
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxSOCKET\_INPUT\_FLAG}}{to receive wxSOCKET_INPUT}
\twocolitem{{\bf wxSOCKET\_OUTPUT\_FLAG}}{to receive wxSOCKET_OUTPUT}
\twocolitem{{\bf wxSOCKET\_CONNECTION\_FLAG}}{to receive wxSOCKET_CONNECTION}
\twocolitem{{\bf wxSOCKET\_LOST\_FLAG}}{to receive wxSOCKET_LOST}
\end{twocollist}%
For example:
\begin{verbatim}
sock.SetNotify(wxSOCKET\_INPUT\_FLAG | wxSOCKET\_LOST\_FLAG);
\end{verbatim}
In this example, the user will be notified about incoming socket datas and
a broken connection.
For more information on socket events see \helpref{wxSocket events}{wxsocketbase}.
%
% SetTimeout
%
\membersection{wxSocketBase::SetTimeout}{wxsocketbasesettimeout}
\func{void}{SetTimeout}{\param{int }{seconds}}
This function sets the socket timeout in seconds.
%
% Notify
@@ -136,15 +184,15 @@ Returns TRUE if the socket mustn't wait.
\membersection{wxSocketBase::LastCount}\label{wxsocketbaselastcount}
\constfunc{size\_t}{LastCount}{\void}
\constfunc{wxUint32}{LastCount}{\void}
Returns the number of bytes read or written by the last IO call.
\membersection{wxSocketBase::LastError}\label{wxsocketbaselasterror}
\constfunc{GSocketError}{LastError}{\void}
\constfunc{wxSocketError}{LastError}{\void}
Returns an error in the GSocket format. See GSocket errors.
Returns the last occured wxSocket error. See \helpref{wxSocket errors}{wxsocketbase}.
% ---------------------------------------------------------------------------
% IO calls
@@ -154,7 +202,7 @@ Returns an error in the GSocket format. See GSocket errors.
%
\membersection{wxSocketBase::Peek}\label{wxsocketbasepeek}
\func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
\func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{wxUint32}{ 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.
@@ -180,7 +228,7 @@ Returns a reference to the current object.
%
\membersection{wxSocketBase::Read}\label{wxsocketbaseread}
\func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
\func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{wxUint32}{ nbytes}}
This function reads a buffer of {\it nbytes} bytes from the socket.
@@ -219,7 +267,7 @@ This remark is also valid for all IO call.
%
\membersection{wxSocketBase::Write}\label{wxsocketbasewrite}
\func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
\func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{wxUint32}{ nbytes}}
This function writes a buffer of {\it nbytes} bytes from the socket.
@@ -256,7 +304,7 @@ Returns a reference to the current object.
%
\membersection{wxSocketBase::WriteMsg}\label{wxsocketbasewritemsg}
\func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
\func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{wxUint32}{ 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
@@ -284,7 +332,7 @@ Returns a reference to the current object.
%
\membersection{wxSocketBase::ReadMsg}\label{wxsocketbasereadmsg}
\func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
\func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{wxUint32}{ 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
@@ -312,7 +360,7 @@ Returns a reference to the current object.
%
\membersection{wxSocketBase::Unread}\label{wxsocketbaseunread}
\func{wxSocketBase\&}{Unread}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
\func{wxSocketBase\&}{Unread}{\param{const char *}{ buffer}, \param{wxUint32}{ 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.
@@ -349,7 +397,7 @@ doesn't wait.
% ---------------------------------------------------------------------------
\membersection{wxSocketBase::Wait}\label{wxsocketbasewait}
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 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
@@ -359,7 +407,7 @@ established connection.
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\docparam{millisecond}{Number of milliseconds to wait.}
\wxheading{Return value}
@@ -376,7 +424,7 @@ Returns TRUE if an event occured, FALSE if the timeout was reached.
%
\membersection{wxSocketBase::WaitForRead}\label{wxsocketbasewaitforread}
\func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
\func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}}
This function waits for a read event.
@@ -384,7 +432,7 @@ This function waits for a read event.
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\docparam{millisecond}{Number of milliseconds to wait.}
\wxheading{Return value}
@@ -401,7 +449,7 @@ Returns TRUE if a byte arrived, FALSE if the timeout was reached.
%
\membersection{wxSocketBase::WaitForWrite}\label{wxsocketbasewaitforwrite}
\func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
\func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}}
This function waits for a write event.
@@ -409,7 +457,7 @@ This function waits for a write event.
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\docparam{millisecond}{Number of milliseconds to wait.}
\wxheading{Return value}
@@ -426,7 +474,7 @@ Returns TRUE if a write event occured, FALSE if the timeout was reached.
%
\membersection{wxSocketBase::WaitForLost}\label{wxsocketbasewaitforlost}
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}}
This function waits for a "lost" event. For instance, the peer may have closed
the connection, or the connection may have been broken.
@@ -435,7 +483,7 @@ the connection, or the connection may have been broken.
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
\docparam{microsecond}{Number of microseconds to wait.}
\docparam{millisecond}{Number of milliseconds to wait.}
\wxheading{Return value}
@@ -454,7 +502,8 @@ Returns TRUE if a "lost" event occured, FALSE if the timeout was reached.
\func{void}{RestoreState}{\void}
This function restores a previously saved state.
This function restores the previous state of the socket (include flags,
notify flags, notify state, C callback function and data).
\wxheading{See also}
@@ -477,6 +526,36 @@ actually it saves all flags and the state of the asynchronous callbacks.
\helpref{wxSocketBase::RestoreState}{wxsocketbaserestorestate}
%
% GetLocal
%
\membersection{wxSocketBase::GetLocal}{wxsocketbasegetlocal}
\constfunc{bool}{GetLocal}{\param{wxSockAddress\& }{addr_man}}
This function returns the local address field of the socket. The local
address field contains the complete local address of the socket (local
address, local port, ...).
\wxheading{Return value}
It returns TRUE if no errors happened, FALSE otherwise.
%
% GetPeer
%
\membersection{wxSocketBase::GetPeer}{wxsocketbasegetlocal}
\constfunc{bool}{GetPeer}{\param{wxSockAddress\& }{addr_man}}
This function returns the peer address field of the socket. The peer
address field contains the complete peer host address of the socket
(address, port, ...).
\wxheading{Return value}
It returns TRUE if no errors happened, FALSE otherwise.
% ---------------------------------------------------------------------------
% Socket callbacks
% ---------------------------------------------------------------------------
@@ -494,7 +573,43 @@ Sets an event handler to be called when a socket event occured.
\wxheading{See also}
\helpref{wxSocketBase::SetNotify}{wxsocketbasesetnotify}
\helpref{wxSocketBase::Notify}{wxsocketbasenotify}
\helpref{wxSocketEvent}{wxsocketevent}
\helpref{wxEvtHandler}{wxevthandler}
\membersection{wxSocketBase::Callback}\label{wxsocketbasecallback}
\func{wxSocketBase::wxSockCbk}{Callback}{\param{wxSocketBase::wxSockCbk}{ callback}}
wxSocket event handler can call C callback. This function allows you to set it.
The format of the callback is as followed:
\begin{verbatim}
void SocketCallback(wxSocketBase& sock,wxSocketNotify evt,char *cdata);
\end{verbatim}
The first parameter reminds you of the caller socket. The second parameter
informs you about the current event (See \helpref{wxSocket events}{wxsocketbase}).
The third parameters is the client data you specified using \helpref{CallbackData}{wxsocketcallbackdata}.
\wxheading{Return value}
It returns the previous callback.
\wxheading{See also}
\helpref{wxSocketBase::SetNotify}{wxsocketbasesetnotify}
\helpref{wxSocketBase::Notify}{wxsocketbasenotify}
\membersection{wxSocketBase::CallbackData}\label{wxsocketcallbackdata}
\func{char *}{CallbackData}{\param{char *}{cdata}}
This function sets the the client data which will be passed to a \helpref{C callback}{wxsocketbasecallback}.
\wxheading{Return value}
This function returns the old value of the client data pointer.
% ---------------------------------------------------------------------------
% CLASS wxSocketClient
@@ -563,7 +678,7 @@ Returns TRUE if the connection is established and no error occurs.
%
\membersection{wxSocketClient::WaitOnConnect}\label{wxsocketclientwaitonconnect}
\func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ microseconds = 0}}
\func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ milliseconds = 0}}
Wait for a "connect" event.
@@ -612,7 +727,7 @@ Constructor.
\membersection{wxSocketEvent::SocketEvent}\label{wxsocketeventsocketevent}
\constfunc{GSocketEvent}{SocketEvent}{\void}
\constfunc{wxSocketNotify}{SocketEvent}{\void}
Returns the socket event type.

View File

@@ -30,7 +30,7 @@ XPM icon file to be available at run-time.
#endif
\end{verbatim}
A macro, wxICON, is available which creates an icon using an XPM
A macro, \helpref{wxICON}{wxicon}, is available which creates an icon using an XPM
on the appropriate platform, or an icon resource on Windows.
\begin{verbatim}
@@ -47,6 +47,30 @@ wxIcon icon("mondrian");
#endif
\end{verbatim}
There is also a corresponding \helpref{wxBITMAP}{wxbitmap} macro which allows
to create the bitmaps in much the same way as \helpref{wxICON}{wxicon} creates
icons. It assumes that bitmaps live in resources under Windows or OS2 and XPM
files under all other platforms (for XPMs, the corresponding file must be
included before this macro is used, of course, and the name of the bitmap
should be the same as the resource name under Windows with {\tt \_xpm}
suffix). For example:
\begin{verbatim}
// an easy and portable way to create a bitmap
wxBitmap bmp(wxBITMAP(bmpname));
// which is roughly equivalent to the following
#if defined(__WXMSW__) || defined(__WXPM__)
wxBitmap bmp("bmpname", wxBITMAP_TYPE_RESOURCE);
#else // Unix
wxBitmap bmp(bmpname_xpm, wxBITMAP_TYPE_XPM);
#endif
\end{verbatim}
You should always use wxICON and wxBITMAP macros because they work for any
platform (unlike the code above which doesn't deal with wxMac, wxBe, ...) and
are more short and clear than versions with {\tt #ifdef}s.
\subsection{Supported bitmap file formats}\label{supportedbitmapformats}
The following lists the formats handled on different platforms. Note

View File

@@ -21,8 +21,8 @@ combineSubSections = yes
;;
;; These two are for generating MS HTML Help project, contents and index files.
;;
;htmlWorkshopFiles = true
;htmlIndex = true
htmlWorkshopFiles = true
htmlIndex = true
;\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
;\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
@@ -34,7 +34,7 @@ combineSubSections = yes
\constfunc [3] {{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
\windowstyle [1] {{\bf #1}\index{#1}}
\bftt [1] {\bf{\tt{#1}}}
\pythonnote [1] {{\bf \fcol{blue}{wxPython note:}}\\ #1}
\pythonnote [1] {{\bf \fcol{blue}{wxPython note:}} #1}
%\pythonnote [1] {}

View File

@@ -9,6 +9,7 @@ This chapter contains a selection of topic overviews.
\input tcontain.tex
\input tlog.tex
\input tconfig.tex
\input tunicode.tex
\input tbitmap.tex
\input tdialog.tex
\input tfont.tex

View File

@@ -159,7 +159,7 @@ EVT\_TREE\_BEGIN\_LABEL\_EDIT event which can be vetoed so that no
text control will appear for in-place editing.
If the user changed the label (i.e. s/he does not press ESC or leave
the text control without changes, a EVT\_TREE\_END\_LABEL\_EDIT event
the text control without changes, a EVT\_TREE\_END\_LABEL\_EDIT event
will be sent which can be vetoed as well.
\wxheading{See also}
@@ -203,6 +203,10 @@ The return value is TRUE if the rectangle was successfully retrieved or FALSE
if it was not (in this case {\it rect} is not changed) - for example, if the
item is currently invisible.
\pythonnote{The wxPython version of this method requires only the
\tt{item} and \tt{textOnly} parameters. The return value is either a
\tt{wxRect} object or \tt{None}.}
\membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount}
\constfunc{size\_t}{GetChildrenCount}{\param{const wxTreeItemId\&}{ item}, \param{bool}{ recursively = TRUE}}
@@ -287,9 +291,20 @@ associated with the wxTreeItemData for the given item Id.}
\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage}
\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}}
\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item},
\param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
Gets the normal item image.
Gets the specified item image. The value of {\it which} may be:
\begin{itemize}\itemsep=0pt
\item{wxTreeItemIcon\_Normal} to get the normal item image
\item{wxTreeItemIcon\_Selected} to get the selected item image (i.e. the image
which is shown when the item is currently selected)
\item{wxTreeItemIcon\_Expanded} to get the expanded image (this only
makes sense for items which have children - then this image is shown when the
item is expanded and the normal image is shown when it is collapsed)
\item{wxTreeItemIcon\_SelectedExpanded} to get the selected expanded image
(which is shown when an expanded item is currently selected)
\end{itemize}
\membersection{wxTreeCtrl::GetItemText}\label{wxtreectrlgetitemtext}
@@ -381,14 +396,15 @@ Returns the root item for the tree control.
\constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
Gets the selected item image.
Gets the selected item image (this function is obsolete, use
{\tt GetItemImage(item, wxTreeItemIcon\_Selected} instead).
\membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
\constfunc{wxTreeItemId}{GetSelection}{\void}
Returns the selection, or an invalid item if there is no selection.
This function only works with the controls without wxTR\_MULTIPLE style, use
This function only works with the controls without wxTR\_MULTIPLE style, use
\helpref{GetSelections}{wxtreectrlgetselections} for the controls which do have
this style.
@@ -401,6 +417,9 @@ function can be called only if the control has the wxTR\_MULTIPLE style.
Returns the number of selected items.
\pythonnote{The wxPython version of this method accepts no parameters
and returns a Python list of \tt{wxTreeItemId}'s.}
\membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest}
\func{long}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}}
@@ -546,15 +565,19 @@ usage and loading time.
\membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage}
\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{image}}
\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item},
\param{int }{image},
\param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
Sets the normal item image. This is an index into the assciated image list.
Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage}
for the description of {\it which} parameter.
\membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage}
\func{void}{SetItemSelectedImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{selImage}}
Sets the item selected image. This is an index into the assciated image list.
Sets the selected item image (this function is obsolete, use
{\tt SetItemImage(item, wxTreeItemIcon\_Selected} instead).
\membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext}
@@ -591,7 +614,7 @@ Removes the selection from the currently selected item (if any).
\func{void}{UnselectAll}{\void}
This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect}
This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect}
if the control doesn't have wxTR\_MULTIPLE style, or removes the selection from
all items if it does have this style.

View File

@@ -75,3 +75,4 @@ The key code if the event was is a key event.
\constfunc{const wxString&}{GetLabel}{}
Returns the label if the event was a begin or end edit label event.

156
docs/latex/wx/tunicode.tex Normal file
View File

@@ -0,0 +1,156 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: tunicode.tex
%% Purpose: Overview of the Unicode support in wxWindows
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 22.09.99
%% RCS-ID: $Id$
%% Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
%% Licence: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Unicode support in wxWindows}\label{unicode}
This section briefly describes the state of the Unicode support in wxWindows.
Read it if you want to know more about how to write programs able to work with
characters from languages other than English.
\subsection{What is Unicode?}
Starting with release 2.1 wxWindows has support for compiling in Unicode mode
on the platforms which support it. Unicode is a standard for character
encoding which addreses the shortcomings of the previous, 8 bit standards, by
using 16 bit for encoding each character. This allows to have 65536 characters
instead of the usual 256 and is sufficient to encode all of the world
languages at once. More details about Unicode may be found at {\tt www.unicode.org}.
% TODO expand on it, say that Unicode extends ASCII, mention ISO8859, ...
As this solution is obviously preferable to the previous ones (think of
incompatible encodings for the same language, locale chaos and so on), many
modern ooperating systems support it. The probably first example is Windows NT
which uses only Unicode internally since its very first version.
Writing internationalized programs is much easier with Unicode and, as the
support for it improves, it should become more and more so. Moreover, in the
Windows NT/2000 case, even the program which uses only standard ASCII can profit
from using Unicode because they will work more efficiently - there will be no
need for the system to convert all strings hte program uses to/from Unicode
each time a system call is made.
\subsection{Unicode and ANSI modes}
As not all platforms supported by wxWindows support Unicode (fully) yet, in
many cases it is unwise to write a program which can only work in Unicode
environment. A better solution is to write programs in such way that they may
be compiled either in ANSI (traditional) mode or in the Unicode one.
This can be achieved quite simply by using the means provided by wxWindows.
Basicly, there are only a few things to watch out for:
\begin{itemize}
\item Character type ({\tt char} or {\tt wchar\_t})
\item Literal strings (i.e. {\tt "Hello, world!"} or {\tt '*'})
\item String functions ({\tt strlen()}, {\tt strcpy()}, ...)
\end{itemize}
Let's look at them in order. First of all, each character in an Unicode
program takes 2 bytes instead of usual one, so another type should be used to
store the characters ({\tt char} only holds 1 byte usually). This type is
called {\tt wchar\_t} which stands for {\it wide-character type}.
Also, the string and character constants should be encoded on 2 bytes instead
of one. This is achieved by using the standard C (and C++) way: just put the
letter {\tt 'L'} after any string constant and it becomes a {\it long}
constant, i.e. a wide character one. To make things a bit more readable, you
are also allowed to prefix the constant with {\tt 'L'} instead of putting it
after it.
Finally, the standard C functions don't work with {\tt wchar\_t} strings, so
another set of functions exists which do the same thing but accept
{\tt wchar\_t *} instead of {\tt char *}. For example, a function to get the
length of a wide-character string is called {\tt wcslen()} (compare with
{\tt strlen()} - you see that the only difference is that the "str" prefix
standing for "string" has been replaced with "wcs" standing for
"wide-character string").
To summarize, here is a brief example of how a program which can be compiled
in both ANSI and Unicode modes could look like:
\begin{verbatim}
#ifdef __UNICODE__
wchar_t wch = L'*';
const wchar_t *ws = L"Hello, world!";
int len = wcslen(ws);
#else // ANSI
char ch = '*';
const char *s = "Hello, world!";
int len = strlen(s);
#endif // Unicode/ANSI
\end{verbatim}
Of course, it would be nearly impossibly to write such programs if it had to
be done this way (try to imagine the number of {\tt #ifdef UNICODE} an average
program would have had!). Luckily, there is another way - see the next
section.
\subsection{Unicode support in wxWindows}
In wxWindows, the code fragment froim above should be written instead:
\begin{verbatim}
wxChar ch = T('*');
wxString s = T("Hello, world!");
int len = s.Len();
\end{verbatim}
What happens here? First of all, you see that there are no more {\tt #ifdef}s
at all. Instead, we define some types and macros which behave differently in
the Unicode and ANSI builds and allows us to avoid using conditional
compilation in the program itself.
We have a {\tt wxChar} type which maps either on {\tt char} or {\tt wchar\_t}
depending on the mode in which program is being compiled. There is no need for
a separate type for strings though, because the standard
\helpref{wxString}{wxstring} supports Unicode, i.e. it stores iether ANSI or
Unicode strings depending on the mode.
Finally, there is a special {\tt T()} macro which should enclose all literal
strings in the program. As it's easy to see comparing the last fragment with
the one above, this macro expands to nothing in the (usual) ANSI mode and
prefixes {\tt 'L'} to its argument in the Unicode mode.
The important conclusion is that if you use {\tt wxChar} instead of
{\tt char}, avoid using C style strings and use {\tt wxString} instead and
don't forget to enclose all string literals inside {\tt T()} macro, your
program automatically becomes (almost) Unicode compliant!
Just let us state once again the rules:
\begin{itemize}
\item Always use {\tt wxChar} instead of {\tt char}
\item Always enclose literal string constants in {\tt T()} macro unless
they're already converted to the right representation (another standard
wxWindows macro {\tt \_()} does it, so there is no need for {\tt T()} in this
case) or you intend to pass the constant directly to an external function
which doesn't accept wide-character strings.
\item Use {\tt wxString} instead of C style strings.
\end{itemize}
\subsection{Unicode and the outside world}
We have seen that it was easy to write Unicode programs using wxWindows types
and macros, but it has been also mentioned that it isn't quite enough.
Although everything works fine inside the program, things can get nasty when
it tries to communicate with the outside world which, sadly, often expects
ANSI strings (a notable exception is the entire Win32 API which accepts either
Unicode or ANSI strings and which thus makes it unnecessary to ever perform
any convertions in the program).
To get a ANSI string from a wxString, you may use
\helpref{mb\_str()}{wxstringmbstr} function which always returns an ANSI
string (independently of the mode - while the usual
\helpref{c\_str()}{wxstringcstr} returns a pointer to the internal
representation which is either ASCII or Unicode). More rarely used, but still
useful, is \helpref{wc\_str()}{wxstringwcstr} function which always returns
the Unicode string.
% TODO describe fn_str(), wx_str(), wxCharBuf classes, ...

View File

@@ -22,7 +22,7 @@ For more information, please see \helpref{Validator overview}{validatoroverview}
\wxheading{See also}
\helpref{Validator overview}{validatoroverview}, \helpref{wxValidator}{wxvalidator},
\helpref{Validator overview}{validatoroverview}, \helpref{wxValidator}{wxvalidator},
\helpref{wxTextValidator}{wxtextvalidator}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -73,13 +73,13 @@ Clones the generic validator using the copy constructor.
\membersection{wxGenericValidator::TransferFromWindow}\label{wxgenericvalidatortransferfromwindow}
\func{virtual bool}{TransferToWindow}{\param{wxWindow*}{ parent}}
\func{virtual bool}{TransferToWindow}{}
Transfers the value to the window.
\membersection{wxGenericValidator::TransferToWindow}\label{wxgenericvalidatortransfertowindow}
\func{virtual bool}{TransferToWindow}{\param{wxWindow*}{ parent}}
\func{virtual bool}{TransferToWindow}{}
Transfers the window value to the appropriate data type.

View File

@@ -18,6 +18,10 @@ To specify a default, `null' validator, use the symbol {\bf wxDefaultValidator}.
For more information, please see \helpref{Validator overview}{validatoroverview}.
\pythonnote{If you wish to create a validator class in wxPython you should
derive the class from \tt{wxPyValidator} in order to get Python-aware
capabilities for the various virtual methods.}
\wxheading{Derived from}
\helpref{wxEvtHandler}{wxevthandler}\\
@@ -29,9 +33,9 @@ For more information, please see \helpref{Validator overview}{validatoroverview}
\wxheading{See also}
\helpref{Validator overview}{validatoroverview},
\helpref{Validator overview}{validatoroverview},
\helpref{wxTextValidator}{wxtextvalidator},
\helpref{wxTextValidator}{wxgenericvalidator},
\helpref{wxGenericValidator}{wxgenericvalidator},
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -82,14 +86,14 @@ Associates a window with the validator.
\membersection{wxValidator::TransferFromWindow}\label{wxvalidatortransferfromwindow}
\func{virtual bool}{TransferToWindow}{\param{wxWindow*}{ parent}}
\func{virtual bool}{TransferToWindow}{}
This overridable function is called when the value in the window must be
transferred to the validator. Return FALSE if there is a problem.
\membersection{wxValidator::TransferToWindow}\label{wxvalidatortransfertowindow}
\func{virtual bool}{TransferToWindow}{\param{wxWindow*}{ parent}}
\func{virtual bool}{TransferToWindow}{}
This overridable function is called when the value associated with the validator must be
transferred to the window. Return FALSE if there is a problem.

View File

@@ -16,7 +16,7 @@ For more information, please see \helpref{Validator overview}{validatoroverview}
\wxheading{See also}
\helpref{Validator overview}{validatoroverview}, \helpref{wxValidator}{wxvalidator},
\helpref{Validator overview}{validatoroverview}, \helpref{wxValidator}{wxvalidator},
\helpref{wxGenericValidator}{wxgenericvalidator}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -111,13 +111,13 @@ Sets the validator style.
\membersection{wxTextValidator::TransferFromWindow}\label{wxtextvalidatortransferfromwindow}
\func{virtual bool}{TransferToWindow}{\param{wxWindow*}{ parent}}
\func{virtual bool}{TransferFromWindow}{}
Transfers the string value to the window.
\membersection{wxTextValidator::TransferToWindow}\label{wxtextvalidatortransfertowindow}
\func{virtual bool}{TransferToWindow}{\param{wxWindow*}{ parent}}
\func{virtual bool}{TransferToWindow}{}
Transfers the window value to the string.

View File

@@ -14,8 +14,8 @@ wxPython is a blending of the wxWindows GUI classes and the
\wxheading{Python}
So what is Python? Go to
\urlref{http://www.python.org}{http://www.python.org}
to learn more, but in a nutshell Python is an interpreted,
\urlref{http://www.python.org}{http://www.python.org} to learn more,
but in a nutshell Python is an interpreted,
interactive, object-oriented programming language. It is often
compared to Tcl, Perl, Scheme or Java.
@@ -33,23 +33,22 @@ commercial use.
wxPython is a Python package that can be imported at runtime that
includes a collection of Python modules and an extension module
(native code). It provides a series of Python classes that mirror (or
shadow) many of the wxWindows GUI classes. This extension module
(native code). It provides a series of Python classes that mirror (or
shadow) many of the wxWindows GUI classes. This extension module
attempts to mirror the class heiarchy of wxWindows as closely as
possble. This means that there is a wxFrame class in wxPython that
looks, smells, tastes and acts almost the same as the wxFrame class in
the C++ version.
wxPython is very versitile. It can be used to create standalone GUI
wxPython is very versitile. It can be used to create standalone GUI
applications, or in situations where Python is embedded in a C++
application as an internal scripting or macro language.
Currently wxPython is available for Win32 platforms and the GTK
toolkit (wxGTK) on most Unix/X-windows platforms. The effort to
enable wxPython for wxMotif will begin shortly. See \helpref{Building Python}{wxpbuild} for
toolkit (wxGTK) on most Unix/X-windows platforms. The effort to
enable wxPython for wxMotif will begin shortly. See \helpref{Building Python}{wxpbuild} for
details about getting wxPython working for you.
%----------------------------------------------------------------------
\section{Why use wxPython?}\label{wxpwhy}
@@ -60,11 +59,11 @@ then I ususally code it as an extension module and leave the majority
of the program in Python.
Another good thing to use wxPython for is quick prototyping of your
wxWindows apps. With C++ you have to continuously go though the
edit-compile-link-run cycle, which can be quite time comsuming. With
Python it is only an edit-run cycle. You can easily build an
wxWindows apps. With C++ you have to continuously go though the
edit-compile-link-run cycle, which can be quite time consuming. With
Python it is only an edit-run cycle. You can easily build an
application in a few hours with Python that would normally take a few
days or longer with C++. Converting a wxPython app to a C++/wxWindows app
days or longer with C++. Converting a wxPython app to a C++/wxWindows app
should be a straight forward task.
%----------------------------------------------------------------------
@@ -74,48 +73,47 @@ There are other GUI solutions out there for Python.
\wxheading{Tkinter}
Tkinter is the defacto standard GUI for Python. It is available
on nearly every platform that Python and Tcl/TK are. Why Tcl/Tk?
Tkinter is the defacto standard GUI for Python. It is available
on nearly every platform that Python and Tcl/TK are. Why Tcl/Tk?
Well because Tkinter is just a wrapper around Tcl's GUI toolkit, Tk.
This has its upsides and its downsides...
The upside is that Tk is a pretty veristile toolkit. It can be made
to do a lot of things in a lot of different environments. It is fairly
The upside is that Tk is a pretty versatile toolkit. It can be made
to do a lot of things in a lot of different environments. It is fairly
easy to create new widgets and use them interchangably in your
programs.
The downside is Tcl. When using Tkinter you actually have two
The downside is Tcl. When using Tkinter you actually have two
separate language interpreters running, the Python interpreter and the
Tcl interpreter for the GUI. Since the guts of Tcl is mostly about
string processing, it is fairly slow as well. (Not too bad on a fast
Tcl interpreter for the GUI. Since the guts of Tcl is mostly about
string processing, it is fairly slow as well. (Not too bad on a fast
Pentium II, but you really notice the difference on slower machines.)
It wasn't until the lastest version of Tcl/Tk that native Look and
Feel's were possible on non-Motif platforms. This is because Tk
usually implements it's own widgets (controls) even when there are
Feel was possible on non-Motif platforms. This is because Tk
usually implements its own widgets (controls) even when there are
native controls available.
Tkinter is a pretty low-level toolkit. You have to do a lot of work
Tkinter is a pretty low-level toolkit. You have to do a lot of work
(verbose program code) to do things that would be much simpler with a higher
level of abstraction.
\wxheading{PythonWin}
PythonWin is an add-on package for Python for the Win32 platform. It
includes wrappers for MFC as well as much of the win32 API. Because
PythonWin is an add-on package for Python for the Win32 platform. It
includes wrappers for MFC as well as much of the Win32 API. Because
of its foundation, it is very familiar for programmers who have
experience with MFC and the Win32 API. It is obviously not compatible
with other platforms and toolkits. PythonWin is organized as separate
experience with MFC and the Win32 API. It is obviously not compatible
with other platforms and toolkits. PythonWin is organized as separate
packages and modules so you can use the pieces you need without having
to use the GUI portions.
\wxheading{Others}
There are quite a few other GUI modules available for Python, some in
active use, some that havn't been updated for ages. Most are simple
active use, some that havn't been updated for ages. Most are simple
wrappers around some C or C++ toolkit or another, and most are not
cross-platform compatible. See \urlref{this
link}{http://www.python.org/download/Contributed.html\#Graphics}
cross-platform compatible. See \urlref{this link}{http://www.python.org/download/Contributed.html\#Graphics}
for a listing of a few of them.
%----------------------------------------------------------------------
@@ -123,27 +121,27 @@ for a listing of a few of them.
I used SWIG (\urlref{http://www.swig.org}{http://www.swig.org}) to
to create the source code for the
extension module. This enabled me to only have to deal with a small
extension module. This enabled me to only have to deal with a small
amount of code and only have to bother with the exceptional issues.
SWIG takes care of the rest and generates all the repetative code for
me. You don't need SWIG to build the extension module as all the
me. You don't need SWIG to build the extension module as all the
generated C++ code is included under the src directory.
I added a few minor features to SWIG to control some of the code
generation. If you want to play around with this you will need to get
a recent version of SWIG from their CVS or from a daily build. See
generation. If you want to play around with this you will need to get
a recent version of SWIG from their CVS or from a daily build. See
\urlref{http://www.swig.org/}{http://www.swig.org/} for details.
wxPython is organized as a Python package. This means that the
wxPython is organized as a Python package. This means that the
directory containing the results of the build process should be a
subdirectory of a directory on the \tt{PYTHONPATH}. (And preferably should
be named wxPython.) You can control where the build process will dump
wxPython by setting the \tt{TARGETDIR} variable for the build utility, (see
below.)
subdirectory of a directory on the \tt{PYTHONPATH}. (And preferably should
be named wxPython.) You can control where the build process will dump
wxPython by setting the \tt{TARGETDIR} variable for the build utility (see
below).
\begin{enumerate}\itemsep=0pt
\item Build wxWindows as described in its BuildCVS.txt file. For *nix
systems I run configure with these flags:
\item Build wxWindows as described in its BuildCVS.txt file. For Unix
systems I run configure with these flags:
\begin{verbatim}
--with-gtk
@@ -157,63 +155,57 @@ below.)
--disable-std_iostreams
\end{verbatim}
You can use whatever flags you want, but I know these work.
You can use whatever flags you want, but I know these work.
For Win32 systems I use Visual C++ 6.0, but 5.0 should work also. The
build utility currently does not support any other win32 compilers.
For Win32 systems I use Visual C++ 6.0, but 5.0 should work also. The
build utility currently does not support any other Win32 compilers.
\item At this point you may want to make an alias or symlink, script,
batch file, whatever on the PATH that invokes
\tt{\$(WXWIN)/utils/wxPython/distrib/build.py} to help simplify matters
somewhat. For example, on my win32 system I have a file named
\tt{build}.bat in a directory on the PATH that contains:
\tt{python \%WXWIN/utils/wxPython/distrib/build.py \%1 \%2 \%3 \%4 \%5 \%6}
batch file, whatever on the PATH that invokes \tt{\$(WXWIN)/utils/wxPython/distrib/build.py} to
help simplify matters somewhat. For example, on my Win32 system I have a file named
\tt{build}.bat in a directory on the PATH that contains:
\tt{python \%WXWIN/utils/wxPython/distrib/build.py \%1 \%2 \%3 \%4 \%5 \%6}
\item Change into the \tt{\$(WXWIN)/utils/wxPython/src} directory.
\item Type "\tt{build -b}" to build wxPython and "\tt{build -i}" to
install it, or \"\tt{build -bi}\" to do both steps at once.
install it, or "\tt{build -bi}" to do both steps at once.
The build.py script actually generates a Makefile based on what it
finds on your system and information found in the build.cfg file.
If you have troubles building or you want it built or installed in
a different way, take a look at the docstring in build.py. You are
able to to override many configuration options in a file named
build.local.
The build.py script actually generates a Makefile based on what it
finds on your system and information found in the build.cfg file.
If you have troubles building or you want it built or installed in
a different way, take a look at the docstring in build.py. You are
able to to override many configuration options in a file named
build.local.
\item To build and install the add-on modules, change to the appropriate
directory under \tt{\$(WXWIN)/utils/wxPython/modules} and run the build
utility again.
directory under \tt{\$(WXWIN)/utils/wxPython/modules} and run the build
utility again.
\item Change to the \tt{\$(WXWIN)/utils/wxPython/demo} directory.
\item Try executing the demo program. For example:
\item Try executing the demo program. For example:
\tt{python demo.py}
\tt{python demo.py}
To run it without requiring a console on win32, you can use the
To run it without requiring a console on Win32, you can use the
\tt{pythonw.exe} version of Python either from the command line or from a
shortcut.
\end{enumerate}
%----------------------------------------------------------------------
\section{Using wxPython}\label{wxpusing}
\wxheading{First things first...}
I'm not going to try and teach the Python language here. You can do
I'm not going to try and teach the Python language here. You can do
that at the \urlref{Python Tutorial}{http://www.python.org/doc/tut/tut.html}.
I'm also going to assume that you know a bit about wxWindows already,
enough to notice the similarities in the classes used.
Take a look at the following wxPython program. You can find a similar
program in the \tt{wxPython/demo} directory, named \tt{DialogUnits.py}. If your
Take a look at the following wxPython program. You can find a similar
program in the \tt{wxPython/demo} directory, named \tt{DialogUnits.py}. If your
Python and wxPython are properly installed, you should be able to run
it by issuing this command:
@@ -305,48 +297,54 @@ it by issuing this command:
\begin{enumerate}\itemsep=0pt
\item At line 2 the wxPython classes, constants, and etc. are imported
into the current module's namespace. If you prefer to reduce
into the current module's namespace. If you prefer to reduce
namespace pollution you can use "\tt{from wxPython import wx}" and
then access all the wxPython identifiers through the wx module, for
example, "\tt{wx.wxFrame}".
\item At line 13 the frame's sizing and moving events are connected to
methods of the class. These helper functions are intended to be like
the event table macros that wxWindows employs. But since static event
methods of the class. These helper functions are intended to be like
the event table macros that wxWindows employs. But since static event
tables are impossible with wxPython, we use helpers that are named the
same to dynamically build the table. The only real difference is
same to dynamically build the table. The only real difference is
that the first arguemnt to the event helpers is always the window that
the event table entry should be added to.
\item Notice the use of \tt{wxDLG\_PNT} and \tt{wxDLG\_SZE} in lines 19
- 29 to convert from dialog units to pixels. These helpers are unique
- 29 to convert from dialog units to pixels. These helpers are unique
to wxPython since Python can't do method overloading like C++.
\item There is an \tt{OnCloseWindow} method at line 34 but no call to
EVT\_CLOSE to attach the event to the method. Does it really get
called? The answer is, yes it does. This is because many of the
EVT\_CLOSE to attach the event to the method. Does it really get
called? The answer is, yes it does. This is because many of the
\em{standard} events are attached to windows that have the associated
\em{standard} method names. I have tried to follow the lead of the
\em{standard} method names. I have tried to follow the lead of the
C++ classes in this area to determine what is \em{standard} but since
that changes from time to time I can make no guarentees, nor will it
be fully documented. When in doubt, use an EVT\_*** function.
be fully documented. When in doubt, use an EVT\_*** function.
\item At lines 17 to 21 notice that there are no saved references to
the panel or the static text items that are created. Those of you
the panel or the static text items that are created. Those of you
who know Python might be wondering what happens when Python deletes
these objects when they go out of scope. Do they disappear from the GUI? They
don't. Remember that in wxPython the Python objects are just shadows of the
coresponding C++ objects. Once the C++ windows and controls are
these objects when they go out of scope. Do they disappear from the GUI? They
don't. Remember that in wxPython the Python objects are just shadows of the
coresponding C++ objects. Once the C++ windows and controls are
attached to their parents, the parents manage them and delete them
when necessary. For this reason, most wxPython objects do not need to
when necessary. For this reason, most wxPython objects do not need to
have a \_\_del\_\_ method that explicitly causes the C++ object to be
deleted. If you ever have the need to forcibly delete a window, use
deleted. If you ever have the need to forcibly delete a window, use
the Destroy() method as shown on line 36.
\item Just like wxWindows in C++, wxPython apps need to create a class
derived from \tt{wxApp} (line 56) that implements a method named
\tt{OnInit}, (line 59.) This method should create the application's
main window (line 62) and use \tt{wxApp.SetTopWindow()} (line 66) to
inform wxWindows about it.
\item And finally, at line 72 an instance of the application class is
created. At this point wxPython finishes initializing itself, and calls
the \tt{OnInit} method to get things started. (The zero parameter here is
a flag for functionality that isn't quite implemented yet. Just
created. At this point wxPython finishes initializing itself, and calls
the \tt{OnInit} method to get things started. (The zero parameter here is
a flag for functionality that isn't quite implemented yet. Just
ignore it for now.) The call to \tt{MainLoop} at line 73 starts the event
loop which continues until the application terminates or all the top
level windows are closed.
@@ -355,9 +353,9 @@ level windows are closed.
%----------------------------------------------------------------------
\section{wxWindows classes implemented in wxPython}\label{wxpclasses}
The following classes are supported in wxPython. Most provide nearly
The following classes are supported in wxPython. Most provide nearly
full implementations of the public interfaces specified in the C++
documentation, others are less so. They will all be brought as close
documentation, others are less so. They will all be brought as close
as possible to the C++ spec over time.
\begin{itemize}\itemsep=0pt
@@ -367,9 +365,11 @@ as possible to the C++ spec over time.
\item \helpref{wxBitmapButton}{wxbitmapbutton}
\item \helpref{wxBitmap}{wxbitmap}
\item wxBMPHandler
\item \helpref{wxBoxSizer}{wxboxsizer}
\item \helpref{wxBrush}{wxbrush}
\item \helpref{wxButton}{wxbutton}
\item \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}
\item wxCaret
\item \helpref{wxCheckBox}{wxcheckbox}
\item \helpref{wxCheckListBox}{wxchecklistbox}
\item \helpref{wxChoice}{wxchoice}
@@ -402,6 +402,14 @@ as possible to the C++ spec over time.
\item wxGridCell
\item wxGridEvent
\item \helpref{wxGrid}{wxgrid}
\item \helpref{wxHtmlCell}{wxhtmlcell}
\item \helpref{wxHtmlContainerCell}{wxhtmlcontainercell}
\item \helpref{wxHtmlParser}{wxhtmlparser}
\item \helpref{wxHtmlTagHandler}{wxhtmltaghandler}
\item \helpref{wxHtmlTag}{wxhtmltag}
\item \helpref{wxHtmlWinParser}{wxhtmlwinparser}
\item \helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}
\item \helpref{wxHtmlWindow}{wxhtmlwindow}
\item wxIconizeEvent
\item \helpref{wxIcon}{wxicon}
\item \helpref{wxIdleEvent}{wxidleevent}
@@ -468,16 +476,20 @@ as possible to the C++ spec over time.
\item \helpref{wxScrollBar}{wxscrollbar}
\item \helpref{wxScrollEvent}{wxscrollevent}
\item \helpref{wxScrolledWindow}{wxscrolledwindow}
\item \helpref{wxScrollWinEvent}{wxscrollwinevent}
\item wxShowEvent
\item \helpref{wxSingleChoiceDialog}{wxsinglechoicedialog}
\item \helpref{wxSizeEvent}{wxsizeevent}
\item \helpref{wxSize}{wxsize}
\item \helpref{wxSizer}{wxsizer}
\item wxSizerItem
\item \helpref{wxSlider}{wxslider}
\item \helpref{wxSpinButton}{wxspinbutton}
\item wxSpinEvent
\item \helpref{wxSplitterWindow}{wxsplitterwindow}
\item \helpref{wxStaticBitmap}{wxstaticbitmap}
\item \helpref{wxStaticBox}{wxstaticbox}
\item \helpref{wxStaticBoxSizer}{wxstaticboxsizer}
\item wxStaticLine
\item \helpref{wxStaticText}{wxstatictext}
\item \helpref{wxStatusBar}{wxstatusbar}
@@ -494,10 +506,12 @@ as possible to the C++ spec over time.
\item \helpref{wxTreeItemData}{wxtreeitemdata}
\item wxTreeItemId
\item \helpref{wxUpdateUIEvent}{wxupdateuievent}
\item \helpref{wxValidator}{wxvalidator}
\item \helpref{wxWindowDC}{wxwindowdc}
\item \helpref{wxWindow}{wxwindow}
\end{itemize}
%----------------------------------------------------------------------
@@ -507,7 +521,7 @@ Since wxPython is a blending of multiple technologies, help comes from
multiple sources. See
\urlref{http://alldunn.com/wxPython}{http://alldunn.com/wxPython} for details on
various sources of help, but probably the best source is the
wxPython-users mail list. You can view the archive or subscribe by
wxPython-users mail list. You can view the archive or subscribe by
going to
\urlref{http://starship.python.net/mailman/listinfo/wxpython-users}{http://starship.python.net/mailman/listinfo/wxpython-users}

View File

@@ -37,7 +37,9 @@
#include "wx/event.h" // for the base class
#include "wx/window.h" // for wxTopLevelWindows
#if wxUSE_GUI
#include "wx/window.h" // for wxTopLevelWindows
#endif // wxUSE_GUI
#if wxUSE_LOG
#include "wx/log.h"
@@ -64,22 +66,33 @@ public:
// prevents the program from continuing - it's a good place to create
// the top level program window and return TRUE.
//
// Override: always.
// Override: always in GUI application, rarely in console ones.
#if wxUSE_GUI
virtual bool OnInit() { return FALSE; };
#else // !GUI
virtual bool OnInit() { return TRUE; };
#endif // wxUSE_GUI
#if wxUSE_GUI
// a platform-dependent version of OnInit(): the code here is likely to
// depend on the toolkit. default version does nothing.
//
// Override: rarely.
virtual bool OnInitGui() { return TRUE; }
#endif // wxUSE_GUI
// called to start program execution - the default version just enters
// the main GUI loop in which events are received and processed until
// the last window is not deleted (if GetExitOnFrameDelete) or
// ExitMainLoop() is called.
// ExitMainLoop() is called. In console mode programs, the execution
// of the program really starts here
//
// Override: rarely.
// Override: rarely in GUI applications, always in console ones.
#if wxUSE_GUI
virtual int OnRun() { return MainLoop(); };
#else // !GUI
virtual int OnRun() = 0;
#endif // wxUSE_GUI
// called after the main loop termination. This is a good place for
// cleaning up (it may be too late in dtor) and is also useful if you
@@ -102,6 +115,7 @@ public:
// the worker functions - usually not used directly by the user code
// -----------------------------------------------------------------
#if wxUSE_GUI
// execute the main GUI loop, the function returns when the loop ends
virtual int MainLoop() = 0;
@@ -118,6 +132,7 @@ public:
// process the first event in the event queue (blocks until an event
// apperas if there are none currently)
virtual void Dispatch() = 0;
#endif // wxUSE_GUI
// application info: name, description, vendor
// -------------------------------------------
@@ -144,6 +159,7 @@ public:
const wxString& GetVendorName() const { return m_vendorName; }
void SetVendorName(const wxString& name) { m_vendorName = name; }
#if wxUSE_GUI
// top level window functions
// --------------------------
@@ -171,6 +187,8 @@ public:
void SetExitOnFrameDelete(bool flag) { m_exitOnFrameDelete = flag; }
bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
#endif // wxUSE_GUI
// miscellaneous customization functions
// -------------------------------------
@@ -179,10 +197,15 @@ public:
// user-defined class (default implementation creates a wxLogGui
// object) - this log object is used by default by all wxLogXXX()
// functions.
virtual wxLog *CreateLogTarget() { return new wxLogGui; }
virtual wxLog *CreateLogTarget()
#if wxUSE_GUI
{ return new wxLogGui; }
#else // !GUI
{ return new wxLogStderr; }
#endif // wxUSE_GUI
#endif // wxUSE_LOG
#if wxUSE_GUI
// get the standard icon used by wxWin dialogs - this allows the user
// to customize the standard dialogs. The 'which' parameter is one of
// wxICON_XXX values
@@ -198,6 +221,7 @@ public:
// printing.
virtual void SetPrintMode(int WXUNUSED(mode)) { }
int GetPrintMode() const { return wxPRINT_POSTSCRIPT; }
#endif // wxUSE_GUI
// implementation only from now on
// -------------------------------
@@ -228,29 +252,35 @@ protected:
// TRUE if the application wants to get debug output
bool m_wantDebugOutput;
#if wxUSE_GUI
// the main top level window - may be NULL
wxWindow *m_topWindow;
#endif // wxUSE_GUI
};
// ----------------------------------------------------------------------------
// now include the declaration of the real class
// ----------------------------------------------------------------------------
#if defined(__WXMSW__)
#include "wx/msw/app.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/app.h"
#elif defined(__WXQT__)
#include "wx/qt/app.h"
#elif defined(__WXGTK__)
#include "wx/gtk/app.h"
#elif defined(__WXMAC__)
#include "wx/mac/app.h"
#elif defined(__WXPM__)
#include "wx/os2/app.h"
#elif defined(__WXSTUBS__)
#include "wx/stubs/app.h"
#endif
#if wxUSE_GUI
#if defined(__WXMSW__)
#include "wx/msw/app.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/app.h"
#elif defined(__WXQT__)
#include "wx/qt/app.h"
#elif defined(__WXGTK__)
#include "wx/gtk/app.h"
#elif defined(__WXMAC__)
#include "wx/mac/app.h"
#elif defined(__WXPM__)
#include "wx/os2/app.h"
#elif defined(__WXSTUBS__)
#include "wx/stubs/app.h"
#endif
#else // !GUI
typedef wxAppBase wxApp;
#endif // GUI/!GUI
// ----------------------------------------------------------------------------
// the global data
@@ -266,11 +296,34 @@ WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
// global functions
// ----------------------------------------------------------------------------
// event loop related functions only work in GUI programs
// ------------------------------------------------------
#if wxUSE_GUI
// Force an exit from main loop
void WXDLLEXPORT wxExit();
extern void WXDLLEXPORT wxExit();
// Yield to other apps/messages
bool WXDLLEXPORT wxYield();
extern bool WXDLLEXPORT wxYield();
#endif // wxUSE_GUI
// console applications may avoid using DECLARE_APP and IMPLEMENT_APP macros
// and call these functions instead at the program startup and termination
// -------------------------------------------------------------------------
#if wxUSE_NOGUI
// initialize the library (may be called as many times as needed, but each
// call to wxInitialize() must be matched by wxUninitialize())
extern bool WXDLLEXPORT wxInitialize();
// clean up - the library can't be used any more after the last call to
// wxUninitialize()
extern void WXDLLEXPORT wxUninitialize();
#endif // wxUSE_NOGUI
// ----------------------------------------------------------------------------
// macros for dynamic creation of the application object

View File

@@ -2,7 +2,7 @@
// Name: listimpl.cpp
// Purpose: helper file for implementation of dynamic lists
// Author: Vadim Zeitlin
// Modified by:
// Modified by:
// Created: 16.10.97
// RCS-ID: $Id$
// Copyright: (c) 1997 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
@@ -20,6 +20,9 @@
* 4) WX_DEFINE_OBJARRAY *
*****************************************************************************/
// needed to resolve the conflict between global T and macro parameter T
#define _WX_ERROR_REMOVE2(x) T("bad index in " #x "::Remove()")
// macro implements remaining (not inline) methods of template list
// (it's private to this file)
#undef _DEFINE_OBJARRAY
@@ -58,7 +61,7 @@ void name::Empty() \
\
void name::Remove(size_t uiIndex) \
{ \
wxCHECK_RET( uiIndex < Count(), _T("bad index in " #name "::Remove()") ); \
wxCHECK_RET( uiIndex < Count(), _WX_ERROR_REMOVE2(name) ); \
\
delete (T*)wxBaseArray::Item(uiIndex); \
\
@@ -99,8 +102,8 @@ int name::Index(const T& Item, bool bFromEnd) const \
} \
} \
\
return wxNOT_FOUND; \
}
return wxNOT_FOUND; \
}
// redefine the macro so that now it will generate the class implementation
// old value would provoke a compile-time error if this file is not included

View File

@@ -15,6 +15,7 @@
#define _WX_BUFFER_H
#include "wx/wxchar.h"
#include <string.h> // strdup
// ----------------------------------------------------------------------------
@@ -27,14 +28,14 @@ class wxCharBuffer
public:
wxCharBuffer(const char *str)
{
wxASSERT_MSG( str, _T("NULL string in wxCharBuffer") );
wxASSERT_MSG( str, T("NULL string in wxCharBuffer") );
m_str = str ? strdup(str) : (char *)NULL;
}
wxCharBuffer(size_t len)
{
m_str = (char *)malloc(len+1);
m_str[len] = '\0';
m_str[len] = '\0';
}
// no need to check for NULL, free() does it
~wxCharBuffer() { free(m_str); }
@@ -66,7 +67,7 @@ class wxWCharBuffer
public:
wxWCharBuffer(const wchar_t *wcs)
{
wxASSERT_MSG( wcs, _T("NULL string in wxWCharBuffer") );
wxASSERT_MSG( wcs, T("NULL string in wxWCharBuffer") );
if (wcs) {
size_t siz = (wcslen(wcs)+1)*sizeof(wchar_t);
@@ -78,7 +79,7 @@ public:
wxWCharBuffer(size_t len)
{
m_wcs = (wchar_t *)malloc((len+1)*sizeof(wchar_t));
m_wcs[len] = L'\0';
m_wcs[len] = L'\0';
}
// no need to check for NULL, free() does it
@@ -100,23 +101,23 @@ public:
operator const wchar_t *() const { return m_wcs; }
wchar_t operator[](size_t n) const { return m_wcs[n]; }
private:
wchar_t *m_wcs;
};
#endif
#if wxUSE_UNICODE
#define wxMB2WXbuf wxWCharBuffer
#define wxWX2MBbuf wxCharBuffer
#define wxWC2WXbuf wxChar*
#define wxWX2WCbuf wxChar*
#else
#define wxMB2WXbuf wxChar*
#define wxWX2MBbuf wxChar*
#define wxWC2WXbuf wxCharBuffer
#define wxWX2WCbuf wxWCharBuffer
#endif
#define wxMB2WXbuf wxWCharBuffer
#define wxWX2MBbuf wxCharBuffer
#define wxWC2WXbuf wxChar*
#define wxWX2WCbuf wxChar*
#else // ANSI
#define wxMB2WXbuf wxChar*
#define wxWX2MBbuf wxChar*
#define wxWC2WXbuf wxCharBuffer
#define wxWX2WCbuf wxWCharBuffer
#endif // Unicode/ANSI
// ----------------------------------------------------------------------------
// template class for any kind of data

View File

@@ -182,8 +182,6 @@ private:
#if defined(__WXMSW__)
#include "wx/msw/caret.h"
#elif defined(__WXPM__)
#include "wx/os2/caret.h"
#else
#include "wx/generic/caret.h"
#endif // platform

View File

@@ -43,10 +43,10 @@ public:
void Append(const wxString& item) { DoAppend(item); }
// with client data which belongs to the caller
void Append(const wxString &item, void* clientData)
{ DoAppend(item); SetClientData(GetCount() - 1, clientData); }
{ int n = DoAppend(item); SetClientData(n, clientData); }
// with client data which will be deleted by the control
void Append(const wxString &item, wxClientData* clientData)
{ DoAppend(item); SetClientObject(GetCount() - 1, clientData); }
{ int n = DoAppend(item); SetClientObject(n, clientData); }
// delete items from the list
// one item
@@ -95,7 +95,7 @@ public:
private:
// pure virtuals to implement in the derived classes
virtual void DoAppend(const wxString& item) = 0;
virtual int DoAppend(const wxString& item) = 0;
virtual void DoSetClientData( int n, void* clientData ) = 0;
virtual void* DoGetClientData( int n ) const = 0;

View File

@@ -1,12 +1,12 @@
/////////////////////////////////////////////////////////////////////////////
// Name: debug.h
// Name: wx/debug.h
// Purpose: Misc debug functions and macros
// Author: Vadim Zeitlin
// Modified by:
// Created: 29/01/98
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows license
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DEBUG_H_
@@ -16,24 +16,19 @@
#include "wx/wxchar.h"
#ifndef __TFILE__
#define __XFILE__(x) _T(x)
#define __TFILE__ __XFILE__(__FILE__)
#endif
// ----------------------------------------------------------------------------
/**
@name Debugging macros
/**
@name Debugging macros
All debugging macros rely on ASSERT() which in turn calls user-defined
OnAssert() function. To keep things simple, it's called even when the
expression is TRUE (i.e. everything is ok) and by default does nothing: just
returns the same value back. But if you redefine it to do something more sexy
(popping up a message box in your favourite GUI, sending you e-mail or
(popping up a message box in your favourite GUI, sending you e-mail or
whatever) it will affect all ASSERTs, FAILs and CHECKs in your code.
<BR>
<BR>
<b>Warning</b>: if you don't like advices on programming style, don't read
<b>Warning</b>: if you don't like advices on programming style, don't read
further! ;-)
<BR>
<BR>
@@ -94,13 +89,13 @@
// NB: these macros work also in release mode!
/**
/**
These macros must be used only in invalid situation: for example, an
invalid parameter (NULL pointer) is passed to a function. Instead of
dereferencing it and causing core dump the function might try using
CHECK( p != NULL ) or CHECK( p != NULL, return LogError("p is NULL!!") )
@name Macros which remain even in 'release' mode
@name Macros which remain even in 'release' mode
*/
//@{
/// check that expression is true, "return" if not (also FAILs in debug mode)

View File

@@ -115,13 +115,11 @@
# pragma suppress 571 // Virtual function hiding
#endif // __SALFORDC__
#ifdef __VISUALC__
#ifndef WIN32
// VC1.5 does not have LPTSTR type
#define LPTSTR LPSTR
#define LPCTSTR LPCSTR
#endif
#endif
#if defined(__VISUALC__) && !defined(WIN32)
// VC1.5 does not have LPTSTR type
#define LPTSTR LPSTR
#define LPCTSTR LPCSTR
#endif // VC++ 1.5
// Digital Unix C++ compiler only defines this symbol for .cxx and .hxx files,
// so define it ourselves
@@ -190,8 +188,9 @@
// Make sure the environment is set correctly
#if defined(__WXMSW__) && defined(__X__)
#error "Target can't be both X and Windows"
#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && !defined(__WXPM__) && \
!defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__)
#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \
!defined(__WXPM__) && !defined(__WXMAC__) && !defined(__X__) && \
!defined(__WXQT__) && !defined(__WXSTUBS__) && wxUSE_GUI
#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXPM__|__WXSTUBS__]"
#endif
@@ -215,6 +214,17 @@
#include "wx/version.h"
// ----------------------------------------------------------------------------
// compatibility defines
// ----------------------------------------------------------------------------
// possibility to build non GUI apps is new, so don't burden ourselves with
// compatibility code
#if !wxUSE_GUI
#undef WXWIN_COMPATIBILITY_2
#define WXWIN_COMPATIBILITY_2 0
#endif // !GUI
// ============================================================================
// non portable C++ features
// ============================================================================
@@ -223,21 +233,14 @@
// check for native bool type and TRUE/FALSE constants
// ----------------------------------------------------------------------------
#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXPM__) || defined(__WXSTUBS__)
// Bool is now obsolete, use bool instead
// typedef int Bool;
// define boolean constants if not done yet
#ifndef TRUE
#define TRUE 1
#endif
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#define Bool_DEFINED
#endif
#elif defined(__WXMSW__)
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#endif // TRUE/FALSE
#ifndef FALSE
#define FALSE 0
#endif
// Add more tests here for Windows compilers that already define bool
// (under Unix, configure tests for this)
@@ -297,9 +300,40 @@ typedef int wxWindowID;
#define WXUNUSED(identifier) identifier
#endif
/*
* Making or using wxWindows as a Windows DLL
*/
// ----------------------------------------------------------------------------
// portable calling conventions macros
// ----------------------------------------------------------------------------
// wxCALLBACK should be used for the functions which are called back by
// Windows (such as compare function for wxListCtrl)
#if defined(__WXMSW__)
#if defined(__MINGW32__)
#define wxCALLBACK __attribute__((stdcall))
#else
// both VC++ and Borland understand this
#define wxCALLBACK _stdcall
#endif
#else
// no stdcall under Unix
#define wxCALLBACK
#endif // platform
// callling convention for the qsort(3) callback
#if defined(__VISUALC__)
#define wxCMPFUNC_CONV _cdecl
#elif defined(__VISAGECPP__)
#define wxCMPFUNC_CONV _Optlink
#else // !Visual C++
#define wxCMPFUNC_CONV
#endif // compiler
// compatibility :-(
#define CMPFUNC_CONV wxCMPFUNC_CONV
// ----------------------------------------------------------------------------
// Making or using wxWindows as a Windows DLL
// ----------------------------------------------------------------------------
#if defined(__WXMSW__)
@@ -465,7 +499,8 @@ enum
wxMGL_UNIX, // MGL with direct hardware access
wxMGL_X, // MGL on X
wxMGL_WIN32, // MGL on Win32
wxMGL_OS2 // MGL on OS/2
wxMGL_OS2, // MGL on OS/2
wxWINDOWS_OS2 // Native OS/2 PM
};
// ----------------------------------------------------------------------------
@@ -809,6 +844,8 @@ enum wxStretch
// this style means to use RICHEDIT control and does something only under wxMSW
// and Win32 and is silently ignored under all other platforms
#define wxTE_RICH 0x0080
#define wxTE_NO_VSCROLL 0x0100
#define wxTE_AUTO_SCROLL 0x0200
/*
* wxComboBox style flags
@@ -840,7 +877,7 @@ enum wxStretch
#define wxGA_HORIZONTAL wxHORIZONTAL
#define wxGA_VERTICAL wxVERTICAL
// Windows only
#define wxGA_SMOOTH 0x0008
#define wxGA_SMOOTH 0x0010
/*
* wxSlider flags
@@ -946,6 +983,9 @@ enum wxStretch
* wxNotebook flags
*/
#define wxNB_FIXEDWIDTH 0x0008
#define wxNB_LEFT 0x0020
#define wxNB_RIGHT 0x0040
#define wxNB_BOTTOM 0x0080
/*
* wxStatusBar95 flags
@@ -1065,6 +1105,8 @@ enum wxStretch
#define wxID_SETUP 5110
#define wxID_RESET 5111
// IDs used by generic file dialog (11 consecutive starting from this value)
#define wxID_FILEDLGG 5900
#define wxID_HIGHEST 5999
// ----------------------------------------------------------------------------
@@ -1465,8 +1507,15 @@ typedef unsigned long WXHDC;
typedef unsigned int WXUINT;
typedef unsigned long WXDWORD;
typedef unsigned short WXWORD;
#ifdef __WXMSW__
typedef unsigned int WXWPARAM;
typedef long WXLPARAM;
#else
# define WXWPARAM MPARAM
# define WXLPARAM MPARAM
# define RECT RECTL
# define LOGFONT FATTRS
#endif
typedef unsigned long WXCOLORREF;
typedef void * WXRGNDATA;
typedef void * WXMSG;

169
include/wx/dialup.h Normal file
View File

@@ -0,0 +1,169 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/dialup.h
// Purpose: Network related wxWindows classes and functions
// Author: Vadim Zeitlin
// Modified by:
// Created: 07.07.99
// RCS-ID: $Id$
// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_NET_H
#define _WX_NET_H
#ifdef __GNUG__
#pragma interface "dialup.h"
#endif
#if wxUSE_DIALUP_MANAGER
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
extern const wxChar *wxEmptyString;
#define WXDIALUP_MANAGER_DEFAULT_BEACONHOST T("www.yahoo.com")
// ----------------------------------------------------------------------------
// A class which groups functions dealing with connecting to the network from a
// workstation using dial-up access to the net. There is at most one instance
// of this class in the program accessed via GetDialUpManager().
// ----------------------------------------------------------------------------
/* TODO
*
* 1. more configurability for Unix: i.e. how to initiate the connection, how
* to check for online status, &c.
* 2. a function to enumerate all connections (ISPs) and show a dialog in
* Dial() allowing to choose between them if no ISP given
* 3. add an async version of dialing functions which notify the caller about
* the progress (or may be even start another thread to monitor it)
* 4. the static creation/accessor functions are not MT-safe - but is this
* really crucial? I think we may suppose they're always called from the
* main thread?
*/
class WXDLLEXPORT wxDialUpManager
{
public:
// this function should create and return the object of the
// platform-specific class derived from wxDialUpManager. It's implemented
// in the platform-specific source files.
static wxDialUpManager *Create();
// could the dialup manager be initialized correctly? If this function
// returns FALSE, no other functions will work neither, so it's a good idea
// to call this function and check its result before calling any other
// wxDialUpManager methods
virtual bool IsOk() const = 0;
// virtual dtor for any base class
virtual ~wxDialUpManager() { }
// operations
// ----------
// dial the given ISP, use username and password to authentificate
//
// if async parameter is FALSE, the function waits until the end of dialing
// and returns TRUE upon successful completion.
// if async is TRUE, the function only initiates the connection and returns
// immediately - the result is reported via events (an event is sent
// anyhow, but if dialing failed it will be a DISCONNECTED one)
virtual bool Dial(const wxString& nameOfISP = wxEmptyString,
const wxString& username = wxEmptyString,
const wxString& password = wxEmptyString,
bool async = TRUE) = 0;
// returns TRUE if (async) dialing is in progress
virtual bool IsDialing() const = 0;
// cancel dialing the number initiated with Dial(async = TRUE)
// NB: this won't result in DISCONNECTED event being sent
virtual bool CancelDialing() = 0;
// hang up the currently active dial up connection
virtual bool HangUp() = 0;
// online status
// -------------
// returns TRUE if the computer is connected to the network: under Windows,
// this just means that a RAS connection exists, under Unix we check that
// the "well-known host" (as specified by SetWellKnownHost) is reachable
virtual bool IsOnline() const = 0;
// sometimes the built-in logic for determining the online status may fail,
// so, in general, the user should be allowed to override it. This function
// allows to forcefully set the online status - whatever our internal
// algorithm may think about it.
virtual void SetOnlineStatus(bool isOnline = TRUE) = 0;
// set misc wxDialUpManager options
// --------------------------------
// enable automatical checks for the connection status and sending of
// wxEVT_DIALUP_CONNECTED/wxEVT_DIALUP_DISCONNECTED events. The interval
// parameter is only for Unix where we do the check manually: under
// Windows, the notification about the change of connection status is
// instantenous.
//
// Returns FALSE if couldn't set up automatic check for online status.
virtual bool EnableAutoCheckOnlineStatus(size_t nSeconds = 60) = 0;
// disable automatic check for connection status change - notice that the
// wxEVT_DIALUP_XXX events won't be sent any more neither.
virtual void DisableAutoCheckOnlineStatus() = 0;
// additional Unix-only configuration
// ----------------------------------
// under Unix, the value of well-known host is used to check whether we're
// connected to the internet. It's unused under Windows, but this function
// is always safe to call. The default value is www.yahoo.com.
virtual void SetWellKnownHost(const wxString& hostname,
int portno = 80) = 0;
// Sets the commands to start up the network and to hang up again. Used by
// the Unix implementations only.
virtual void
SetConnectCommand(const wxString& commandDial = T("/usr/bin/pon"),
const wxString& commandHangup = T("/usr/bin/poff")) = 0;
};
// ----------------------------------------------------------------------------
// DIALUP events processing
// ----------------------------------------------------------------------------
// the event class for the dialup events
class WXDLLEXPORT wxDialUpEvent : public wxEvent
{
public:
wxDialUpEvent(bool isConnected, bool isOwnEvent) : wxEvent(isOwnEvent)
{
SetEventType(isConnected ? wxEVT_DIALUP_CONNECTED
: wxEVT_DIALUP_DISCONNECTED);
}
// is this a CONNECTED or DISCONNECTED event?
bool IsConnectedEvent() const
{ return GetEventType() == wxEVT_DIALUP_CONNECTED; }
// does this event come from wxDialUpManager::Dial() or from some extrenal
// process (i.e. does it result from our own attempt to establish the
// connection)?
bool IsOwnEvent() const { return m_id != 0; }
};
// the type of dialup event handler function
typedef void (wxObject::*wxDialUpEventFunction)(wxDialUpEvent&);
// macros to catch dialup events
#define EVT_DIALUP_CONNECTED(func) { wxEVT_DIALUP_CONNECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxDialUpEventFunction) & func, NULL},
#define EVT_DIALUP_DISCONNECTED(func) { wxEVT_DIALUP_DISCONNECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxDialUpEventFunction) & func, NULL},
#endif // wxUSE_DIALUP_MANAGER
#endif // _WX_NET_H

View File

@@ -1,8 +1,16 @@
#ifndef _WX_DIRDLG_H_BASE_
#define _WX_DIRDLG_H_BASE_
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
WXDLLEXPORT_DATA(extern const wxChar*) wxDirDialogNameStr;
WXDLLEXPORT_DATA(extern const wxChar*) wxDirDialogDefaultFolderStr;
WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
#if defined(__WXMSW__)
#if defined(__WIN16__) || defined(__GNUWIN32__) || defined(__SALFORDC__)
#if defined(__WIN16__) || (defined(__GNUWIN32__)&&!defined(wxUSE_NORLANDER_HEADERS)) || defined(__SALFORDC__)
#include "wx/generic/dirdlgg.h"
#else
#include "wx/msw/dirdlg.h"

View File

@@ -362,6 +362,7 @@ public:
// File history management
virtual void AddFileToHistory(const wxString& file);
virtual void RemoveFileFromHistory(int i);
virtual int GetNoHistoryFiles() const;
virtual wxString GetHistoryFile(int i) const;
virtual void FileHistoryUseMenu(wxMenu *menu);
@@ -553,6 +554,7 @@ public:
// Operations
virtual void AddFileToHistory(const wxString& file);
virtual void RemoveFileFromHistory(int i);
virtual int GetMaxFiles() const { return m_fileMaxFiles; }
virtual void UseMenu(wxMenu *menu);

View File

@@ -43,15 +43,7 @@
callback compare function for quick sort
must return negative value, 0 or positive value if pItem1 <, = or > pItem2
*/
#if defined(__VISUALC__)
#define CMPFUNC_CONV _cdecl
#elif defined(__VISAGECPP__)
#define CMPFUNC_CONV _Optlink
#else // !Visual C++
#define CMPFUNC_CONV
#endif // compiler
typedef int (CMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2);
typedef int (wxCMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2);
// ----------------------------------------------------------------------------
/**
@@ -159,6 +151,11 @@ private:
// template classes
// ============================================================================
// resolves the name conflict between the T() macor and T typedef: we can't
// use T() inside WX_DEFINE_ARRAY!
#define _WX_ERROR_SIZEOF T("illegal use of DEFINE_ARRAY")
#define _WX_ERROR_REMOVE T("removing inexisting element in wxArray::Remove")
// ----------------------------------------------------------------------------
// This macro generates a new array class. It is intended for storage of simple
// types of sizeof()<=sizeof(long) or pointers if sizeof(pointer)<=sizeof(long)
@@ -178,7 +175,7 @@ public: \
size_t type = sizeof(T); \
size_t sizelong = sizeof(long); \
if ( type > sizelong ) \
{ wxFAIL_MSG( _T("illegal use of DEFINE_ARRAY") ); } \
{ wxFAIL_MSG( _WX_ERROR_SIZEOF ); } \
} \
\
name& operator=(const name& src) \
@@ -205,7 +202,7 @@ public: \
void Remove(T Item) \
{ int iIndex = Index(Item); \
wxCHECK2_MSG( iIndex != wxNOT_FOUND, return, \
_T("removing inexisting element in wxArray::Remove") ); \
_WX_ERROR_REMOVE); \
wxBaseArray::Remove((size_t)iIndex); } \
\
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
@@ -240,7 +237,7 @@ public: \
{ size_t type = sizeof(T); \
size_t sizelong = sizeof(long); \
if ( type > sizelong ) \
{ wxFAIL_MSG( _T("illegal use of DEFINE_ARRAY") ); } \
{ wxFAIL_MSG( _WX_ERROR_SIZEOF ); } \
m_fnCompare = fn; \
} \
\
@@ -267,7 +264,7 @@ public: \
void Remove(T Item) \
{ int iIndex = Index(Item); \
wxCHECK2_MSG( iIndex != wxNOT_FOUND, return, \
_T("removing inexisting element in wxArray::Remove") ); \
_WX_ERROR_REMOVE ); \
wxBaseArray::Remove((size_t)iIndex); } \
\
private: \

View File

@@ -18,16 +18,31 @@
#include "wx/defs.h"
#include "wx/object.h"
#include "wx/gdicmn.h"
#if wxUSE_GUI
#include "wx/gdicmn.h"
#endif
#if wxUSE_THREADS
#include "wx/thread.h"
#endif
/*
* Event types
*
*/
// ----------------------------------------------------------------------------
// forward declarations
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxList;
#if wxUSE_GUI
class WXDLLEXPORT wxClientData;
class WXDLLEXPORT wxDC;
class WXDLLEXPORT wxMenu;
class WXDLLEXPORT wxWindow;
#endif // wxUSE_GUI
// ----------------------------------------------------------------------------
// Event types
// ----------------------------------------------------------------------------
typedef int wxEventType;
@@ -336,6 +351,8 @@ public:
bool m_isCommandEvent;
};
#if wxUSE_GUI
// Item or menu event class
/*
wxEVT_COMMAND_BUTTON_CLICKED
@@ -354,8 +371,6 @@ public:
wxEVT_COMMAND_COMBOBOX_SELECTED
*/
class WXDLLEXPORT wxClientData;
class WXDLLEXPORT wxCommandEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxCommandEvent)
@@ -523,7 +538,6 @@ public:
wxEVT_NC_RIGHT_DCLICK,
*/
class WXDLLEXPORT wxDC;
class WXDLLEXPORT wxMouseEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxMouseEvent)
@@ -764,7 +778,6 @@ public:
wxEVT_ERASE_BACKGROUND
*/
class WXDLLEXPORT wxDC;
class WXDLLEXPORT wxEraseEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxEraseEvent)
@@ -884,7 +897,7 @@ public:
{
// GetVeto() will return FALSE anyhow...
wxCHECK_RET( m_canVeto,
_T("call to Veto() ignored (can't veto this event)") );
T("call to Veto() ignored (can't veto this event)") );
m_veto = veto;
}
@@ -1017,7 +1030,7 @@ public:
// Was it a button event? (*doesn't* mean: is any button *down*?)
bool IsButton() const { return ((GetEventType() == wxEVT_JOY_BUTTON_DOWN) ||
(GetEventType() == wxEVT_JOY_BUTTON_DOWN)); }
(GetEventType() == wxEVT_JOY_BUTTON_UP)); }
// Was it a move event?
bool IsMove() const { return (GetEventType() == wxEVT_JOY_MOVE) ; }
@@ -1069,36 +1082,11 @@ public:
void CopyObject(wxObject& obj) const;
};
// Idle event
/*
wxEVT_IDLE
*/
class WXDLLEXPORT wxIdleEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxIdleEvent)
public:
wxIdleEvent()
{ m_eventType = wxEVT_IDLE; m_requestMore = FALSE; }
void RequestMore(bool needMore = TRUE) { m_requestMore = needMore; }
bool MoreRequested() const { return m_requestMore; }
void CopyObject(wxObject& obj) const;
protected:
bool m_requestMore;
};
// Update UI event
/*
wxEVT_UPDATE_UI
*/
class WXDLLEXPORT wxMenu;
class WXDLLEXPORT wxWindow;
class WXDLLEXPORT wxUpdateUIEvent : public wxCommandEvent
{
DECLARE_DYNAMIC_CLASS(wxUpdateUIEvent)
@@ -1256,6 +1244,30 @@ public:
wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
};
#endif // wxUSE_GUI
// Idle event
/*
wxEVT_IDLE
*/
class WXDLLEXPORT wxIdleEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxIdleEvent)
public:
wxIdleEvent()
{ m_eventType = wxEVT_IDLE; m_requestMore = FALSE; }
void RequestMore(bool needMore = TRUE) { m_requestMore = needMore; }
bool MoreRequested() const { return m_requestMore; }
void CopyObject(wxObject& obj) const;
protected:
bool m_requestMore;
};
/* TODO
wxEVT_POWER,
wxEVT_MOUSE_CAPTURE_CHANGED,
@@ -1267,11 +1279,6 @@ public:
wxEVT_COMPARE_ITEM
*/
class WXDLLEXPORT wxWindow;
class WXDLLEXPORT wxControl;
// struct WXDLLEXPORT wxEventTableEntry;
typedef void (wxObject::*wxObjectEventFunction)(wxEvent&);
struct WXDLLEXPORT wxEventTableEntry
@@ -1312,7 +1319,7 @@ public:
virtual void OnCommand(wxWindow& WXUNUSED(win),
wxCommandEvent& WXUNUSED(event))
{
wxFAIL_MSG(_T("shouldn't be called any more"));
wxFAIL_MSG(T("shouldn't be called any more"));
}
// Called if child control has no callback function
@@ -1373,6 +1380,7 @@ protected:
};
typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
#if wxUSE_GUI
typedef void (wxEvtHandler::*wxCommandEventFunction)(wxCommandEvent&);
typedef void (wxEvtHandler::*wxScrollEventFunction)(wxScrollEvent&);
typedef void (wxEvtHandler::*wxScrollWinEventFunction)(wxScrollWinEvent&);
@@ -1398,6 +1406,7 @@ typedef void (wxEvtHandler::*wxMaximizeEventFunction)(wxShowEvent&);
typedef void (wxEvtHandler::*wxNavigationKeyEventFunction)(wxNavigationKeyEvent&);
typedef void (wxEvtHandler::*wxPaletteChangedEventFunction)(wxPaletteChangedEvent&);
typedef void (wxEvtHandler::*wxQueryNewPaletteEventFunction)(wxQueryNewPaletteEvent&);
#endif // wxUSE_GUI
// N.B. In GNU-WIN32, you *have* to take the address of a member function
// (use &) or the compiler crashes...
@@ -1603,13 +1612,17 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \
#define EVT_UPDATE_UI(id, func) \
{ wxEVT_UPDATE_UI, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxUpdateUIEventFunction) & func, (wxObject *) NULL },\
/*
* Helper functions
*/
// ----------------------------------------------------------------------------
// Helper functions
// ----------------------------------------------------------------------------
#if wxUSE_GUI
// Find a window with the focus, that is also a descendant of the given window.
// This is used to determine the window to initially send commands to.
wxWindow* wxFindFocusDescendant(wxWindow* ancestor);
#endif // wxUSE_GUI
#endif
// _WX_EVENTH__

View File

@@ -51,7 +51,7 @@ public:
bool Close();
// assign an existing file descriptor and get it back from wxFFile object
void Attach(FILE *fp, const wxString& name = _T(""))
void Attach(FILE *fp, const wxString& name = T(""))
{ Close(); m_fp = fp; m_name = name; }
void Detach() { m_fp = NULL; }
FILE *fp() const { return m_fp; }

View File

@@ -141,9 +141,9 @@ public:
// New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE or
// wxCONFIG_USE_GLOBAL_FILE to say which files should be used.
wxFileConfig(const wxString& appName,
const wxString& vendorName = _T(""),
const wxString& localFilename = _T(""),
const wxString& globalFilename = _T(""),
const wxString& vendorName = T(""),
const wxString& localFilename = T(""),
const wxString& globalFilename = T(""),
long style = wxCONFIG_USE_LOCAL_FILE);
// dtor will save unsaved data

View File

@@ -159,15 +159,15 @@ WXDLLEXPORT bool wxMkdir(const wxString& dir, int perm = 0777);
WXDLLEXPORT bool wxRmdir(const wxString& dir, int flags = 0);
// separators in file names
#define wxFILE_SEP_EXT _T('.')
#define wxFILE_SEP_DSK _T(':')
#define wxFILE_SEP_PATH_DOS _T('\\')
#define wxFILE_SEP_PATH_UNIX _T('/')
#define wxFILE_SEP_EXT T('.')
#define wxFILE_SEP_DSK T(':')
#define wxFILE_SEP_PATH_DOS T('\\')
#define wxFILE_SEP_PATH_UNIX T('/')
// separator in the path list (as in PATH environment variable)
// NB: these are strings and not characters on purpose!
#define wxPATH_SEP_DOS _T(";")
#define wxPATH_SEP_UNIX _T(":")
#define wxPATH_SEP_DOS T(";")
#define wxPATH_SEP_UNIX T(":")
// platform independent versions
#ifdef __UNIX__

View File

@@ -162,7 +162,7 @@ class WXDLLEXPORT wxFileSystem : public wxObject
// unless is_dir = TRUE 'location' is *not* the directory but
// file contained in this directory
// (so ChangePathTo("dir/subdir/xh.htm") sets m_Path to "dir/subdir/")
wxString GetPath() const {return m_Path;}
wxFSFile* OpenFile(const wxString& location);
@@ -175,6 +175,9 @@ class WXDLLEXPORT wxFileSystem : public wxObject
static void AddHandler(wxFileSystemHandler *handler);
// Adds FS handler.
// In fact, this class is only front-end to the FS hanlers :-)
static void CleanUpHandlers();
// remove all items from the m_Handlers list
};
@@ -204,5 +207,5 @@ special characters :
#endif
// (wxUSE_FS_INET || wxUSE_FS_ZIP) && wxUSE_STREAMS
#endif
#endif
// __FILESYS_H__

View File

@@ -1,20 +1,203 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/font.h
// Purpose: wxFontBase class: the interface of wxFont
// Author: Vadim Zeitlin
// Modified by:
// Created: 20.09.99
// RCS-ID: $Id$
// Copyright: (c) wxWindows team
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_FONT_H_BASE_
#define _WX_FONT_H_BASE_
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#include "wx/defs.h" // for wxDEFAULT &c
#include "wx/gdiobj.h" // the base class
// ----------------------------------------------------------------------------
// forward declarations
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxFontBase;
class WXDLLEXPORT wxFont;
// ----------------------------------------------------------------------------
// font constants
// ----------------------------------------------------------------------------
// standard font families
enum wxFontFamily
{
wxFONTFAMILY_DEFAULT = wxDEFAULT,
wxFONTFAMILY_DECORATIVE = wxDECORATIVE,
wxFONTFAMILY_ROMAN = wxROMAN,
wxFONTFAMILY_SCRIPT = wxSCRIPT,
wxFONTFAMILY_SWISS = wxSWISS,
wxFONTFAMILY_MODERN = wxMODERN,
wxFONTFAMILY_TELETYPE = wxTELETYPE,
wxFONTFAMILY_MAX
};
// font styles
enum wxFontStyle
{
wxFONTSTYLE_NORMAL = wxNORMAL,
wxFONTSTYLE_ITALIC = wxITALIC,
wxFONTSTYLE_SLANT = wxSLANT,
wxFONTSTYLE_MAX
};
// font weights
enum wxFontWeight
{
wxFONTWEIGHT_NORMAL = wxNORMAL,
wxFONTWEIGHT_LIGHT = wxLIGHT,
wxFONTWEIGHT_BOLD = wxBOLD,
wxFONTWEIGHT_MAX
};
// font encodings
enum wxFontEncoding
{
wxFONTENCODING_SYSTEM = -1, // system default
wxFONTENCODING_DEFAULT, // current default encoding
// ISO8859 standard defines a number of single-byte charsets
wxFONTENCODING_ISO8859_1, // West European (Latin1)
wxFONTENCODING_ISO8859_2, // Central and East European (Latin2)
wxFONTENCODING_ISO8859_3, // Esperanto (Latin3)
wxFONTENCODING_ISO8859_4, // Baltic languages (Estonian) (Latin4)
wxFONTENCODING_ISO8859_5, // Cyrillic
wxFONTENCODING_ISO8859_6, // Arabic
wxFONTENCODING_ISO8859_7, // Greek
wxFONTENCODING_ISO8859_8, // Hebrew
wxFONTENCODING_ISO8859_9, // Turkish (Latin5)
wxFONTENCODING_ISO8859_10, // Variation of Latin4 (Latin6)
wxFONTENCODING_ISO8859_11, // Thai
wxFONTENCODING_ISO8859_12, // doesn't exist currently, but put it
// here anyhow to make all ISO8859
// consecutive numbers
wxFONTENCODING_ISO8859_13, // Latin7
wxFONTENCODING_ISO8859_14, // Latin8
wxFONTENCODING_ISO8859_15, // Latin9 (a.k.a. Latin0, includes euro)
// Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
wxFONTENCODING_KOI8, // we don't support any of KOI8 variants
wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866
wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria
// what would we do without Microsoft? They have their own encodings
// for DOS
wxFONTENCODING_CP437, // original MS-DOS codepage
wxFONTENCODING_CP850, // CP437 merged with Latin1
wxFONTENCODING_CP852, // CP437 merged with Latin2
wxFONTENCODING_CP855, // another cyrillic encoding
wxFONTENCODING_CP866, // and another one
// and for Windows
wxFONTENCODING_CP1250, // WinLatin2
wxFONTENCODING_CP1251, // WinCyrillic
wxFONTENCODING_CP1252, // WinLatin1
wxFONTENCODING_MAX
};
// ----------------------------------------------------------------------------
// wxFontBase represents a font object
// ----------------------------------------------------------------------------
class wxFontBase : public wxGDIObject
{
public:
// creator function
static wxFont *New(
int pointSize, // size of the font in points
int family, // see wxFontFamily enum
int style, // see wxFontStyle enum
int weight, // see wxFontWeight enum
bool underlined = FALSE, // not underlined by default
const wxString& face = wxEmptyString, // facename
wxFontEncoding encoding = wxFONTENCODING_DEFAULT); // ISO8859-X, ...
// was the font successfully created?
bool Ok() const { return m_refData != NULL; }
// comparison
bool operator == (const wxFont& font) const;
bool operator != (const wxFont& font) const;
// accessors: get the font characteristics
virtual int GetPointSize() const = 0;
virtual int GetFamily() const = 0;
virtual int GetStyle() const = 0;
virtual int GetWeight() const = 0;
virtual bool GetUnderlined() const = 0;
virtual wxString GetFaceName() const = 0;
virtual wxFontEncoding GetEncoding() const = 0;
// change the font characteristics
virtual void SetPointSize( int pointSize ) = 0;
virtual void SetFamily( int family ) = 0;
virtual void SetStyle( int style ) = 0;
virtual void SetWeight( int weight ) = 0;
virtual void SetFaceName( const wxString& faceName ) = 0;
virtual void SetUnderlined( bool underlined ) = 0;
virtual void SetEncoding(wxFontEncoding encoding) = 0;
// translate the fonts into human-readable string (i.e. GetStyleString()
// will return "wxITALIC" for an italic font, ...)
wxString GetFamilyString() const;
wxString GetStyleString() const;
wxString GetWeightString() const;
// the default encoding is used for creating all fonts with default
// encoding parameter
static wxFontEncoding GetDefaultEncoding()
{ return ms_encodingDefault; }
static void SetDefaultEncoding(wxFontEncoding encoding)
{ ms_encodingDefault = encoding; }
protected:
// get the internal data
class WXDLLEXPORT wxFontRefData *GetFontData() const
{ return (wxFontRefData *)m_refData; }
private:
// the currently default encoding: by default, it's the default system
// encoding, but may be changed by the application using
// SetDefaultEncoding() to make all subsequent fonts created without
// specifing encoding parameter using this encoding
static wxFontEncoding ms_encodingDefault;
};
// include the real class declaration
#if defined(__WXMSW__)
#include "wx/msw/font.h"
#include "wx/msw/font.h"
#elif defined(__WXMOTIF__)
#include "wx/motif/font.h"
#include "wx/motif/font.h"
#elif defined(__WXGTK__)
#include "wx/gtk/font.h"
#include "wx/gtk/font.h"
#elif defined(__WXQT__)
#include "wx/qt/font.h"
#include "wx/qt/font.h"
#elif defined(__WXMAC__)
#include "wx/mac/font.h"
#include "wx/mac/font.h"
#elif defined(__WXPM__)
#include "wx/os2/font.h"
#include "wx/os2/font.h"
#elif defined(__WXSTUBS__)
#include "wx/stubs/font.h"
#include "wx/stubs/font.h"
#endif
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
#if !defined(__VISAGECPP__)
// VZ: this is ugly (FIXME)
#define M_FONTDATA GetFontData()
#endif
#endif

51
include/wx/fontenum.h Normal file
View File

@@ -0,0 +1,51 @@
/////////////////////////////////////////////////////////////////////////////
// Name: fontenum.h
// Purpose: wxFontEnumerator class for getting available fonts
// Author: Julian Smart, Vadim Zeitlin
// Modified by: extended to enumerate more than just font families and work ot
// only on Windows (VZ)
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart, Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_FONTENUM_H_
#define _WX_FONTENUM_H_
#ifdef __GNUG__
#pragma interface "fontenum.h"
#endif
// ----------------------------------------------------------------------------
// wxFontEnumerator enumerates all available fonts on the system or only the
// fonts with given attributes
// ----------------------------------------------------------------------------
class wxFontEnumerator
{
public:
// start enumerating font families - will result in OnFontFamily() being
// called for each available font family (unless it returns FALSE)
virtual bool EnumerateFamilies(bool fixedWidthOnly = FALSE);
// enumerate the different encodings either for given font family or for
// all font families - will result in OnFontEncoding() being called for
// each available (family, encoding) couple
virtual bool EnumerateEncodings(const wxString& family = T(""));
// callbacks which are called after one of EnumerateXXX() functions from
// above is invoked - all of them may return FALSE to stop enumeration or
// TRUE to continue with it
// called by EnumerateFamilies
virtual bool OnFontFamily(const wxString& WXUNUSED(family))
{ return FALSE; }
// called by EnumerateEncodings
virtual bool OnFontEncoding(const wxString& WXUNUSED(family),
const wxString& WXUNUSED(encoding))
{ return FALSE; }
};
#endif // _WX_FONTENUM_H_

View File

@@ -149,6 +149,16 @@ enum wxStockCursor
#define wxICON(X) wxIcon("" #X "")
#endif // platform
/* Another macro: this one is for portable creation of bitmaps. We assume that
under Unix bitmaps live in XPMs and under Windows they're in ressources.
*/
#if defined(__WXMSW__) || defined(__WXPM__)
#define wxBITMAP(name) wxBitmap(#name, wxBITMAP_TYPE_RESOURCE)
#else // !(Windows || OS2)
#define wxBITMAP(name) wxBitmap(name##_xpm, wxBITMAP_TYPE_XPM)
#endif // platform
// ===========================================================================
// classes
// ===========================================================================

View File

@@ -68,6 +68,7 @@
//-----------------------------------------------------------------------------
WXDLLEXPORT_DATA(extern const wxChar*) wxFileSelectorPromptStr;
WXDLLEXPORT_DATA(extern const wxChar*) wxDirDialogDefaultFolderStr;
//-----------------------------------------------------------------------------
// classes
@@ -105,11 +106,11 @@ public:
wxDirCtrl();
wxDirCtrl(wxWindow *parent, const wxWindowID id = -1,
const wxString &dir = "/",
const wxString &dir = wxDirDialogDefaultFolderStr,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
const long style = wxTR_HAS_BUTTONS,
const wxString& name = "wxTreeCtrl" );
const wxString& name = wxTreeCtrlNameStr );
void ShowHidden( const bool yesno );
void OnExpandItem(wxTreeEvent &event );
void OnCollapseItem(wxTreeEvent &event );

View File

@@ -6,7 +6,7 @@
// Created: 8/17/99
// Copyright: (c) Robert Roebling
// RCS-ID: $Id$
// Licence: wxWindows licence
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_FILEDLGG_H_
@@ -62,19 +62,19 @@ private:
bool m_isExe;
public:
wxFileData() {}
wxFileData() { }
wxFileData( const wxString &name, const wxString &fname );
wxString GetName() const;
wxString GetFullName() const;
wxString GetHint() const;
wxString GetEntry( const int num );
wxString GetEntry( int num );
bool IsDir();
bool IsLink();
bool IsExe();
long GetSize();
void MakeItem( wxListItem &item );
void SetNewName( const wxString &name, const wxString &fname );
private:
DECLARE_DYNAMIC_CLASS(wxFileData);
};
@@ -92,11 +92,15 @@ private:
public:
wxFileCtrl();
wxFileCtrl( wxWindow *win, const wxWindowID id,
const wxString &dirName, const wxString &wild,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
const long style = wxLC_LIST, const wxValidator &validator = wxDefaultValidator,
const wxString &name = _T("filelist") );
wxFileCtrl( wxWindow *win,
wxWindowID id,
const wxString &dirName,
const wxString &wild,
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize,
long style = wxLC_LIST,
const wxValidator &validator = wxDefaultValidator,
const wxString &name = T("filelist") );
void ChangeToListMode();
void ChangeToReportMode();
void ChangeToIconMode();
@@ -113,7 +117,7 @@ public:
void OnListDeleteItem( wxListEvent &event );
void OnListEndLabelEdit( wxListEvent &event );
private:
private:
DECLARE_DYNAMIC_CLASS(wxFileCtrl);
DECLARE_EVENT_TABLE()
};
@@ -151,7 +155,7 @@ public:
wxString GetWildcard() const { return m_wildCard; }
long GetStyle() const { return m_dialogStyle; }
int GetFilterIndex() const { return m_filterIndex ; }
void OnSelected( wxListEvent &event );
void OnActivated( wxListEvent &event );
void OnList( wxCommandEvent &event );
@@ -163,7 +167,9 @@ public:
void OnChoice( wxCommandEvent &event );
void OnTextEnter( wxCommandEvent &event );
protected:
void HandleAction( const wxString &fn );
protected:
wxString m_message;
long m_dialogStyle;
wxString m_dir;
@@ -176,17 +182,20 @@ protected:
wxFileCtrl *m_list;
wxCheckBox *m_check;
wxStaticText *m_static;
private:
DECLARE_DYNAMIC_CLASS(wxFileDialog)
DECLARE_EVENT_TABLE()
};
#define wxOPEN 1
#define wxSAVE 2
#define wxOVERWRITE_PROMPT 4
#define wxHIDE_READONLY 8
#define wxFILE_MUST_EXIST 16
enum
{
wxOPEN = 1,
wxSAVE = 2,
wxOVERWRITE_PROMPT = 4,
wxHIDE_READONLY = 8,
wxFILE_MUST_EXIST = 16
};
// File selector - backward compatibility
WXDLLEXPORT wxString

View File

@@ -120,18 +120,18 @@ DECLARE_ABSTRACT_CLASS(wxHTMLHelpControllerBase)
virtual bool DisplayHelp(wxString const &) = 0;
/// Allows one to override the default settings for the help frame.
virtual void SetFrameParameters(const wxString &title,
const wxSize &size,
const wxPoint &pos = wxDefaultPosition,
bool newFrameEachTime = FALSE)
virtual void SetFrameParameters(const wxString& WXUNUSED(title),
const wxSize& WXUNUSED(size),
const wxPoint& WXUNUSED(pos) = wxDefaultPosition,
bool WXUNUSED(newFrameEachTime) = FALSE)
{
// does nothing by default
}
/// Obtains the latest settings used by the help frame and the help
/// frame.
virtual wxFrame *GetFrameParameters(wxSize *size = NULL,
wxPoint *pos = NULL,
bool *newFrameEachTime = NULL)
virtual wxFrame *GetFrameParameters(wxSize *WXUNUSED(size) = NULL,
wxPoint *WXUNUSED(pos) = NULL,
bool *WXUNUSED(newFrameEachTime) = NULL)
{
return (wxFrame*) NULL;// does nothing by default
}

View File

@@ -54,7 +54,7 @@ public:
@param newmsg if used, new message to display
@returns true if ABORT button has not been pressed
*/
bool Update(int value = -1, const wxString& newmsg = _T(""));
bool Update(int value = -1, const wxString& newmsg = T(""));
/* Can be called to continue after the cancel button has been pressed, but
the program decided to continue the operation (e.g., user didn't

View File

@@ -15,6 +15,8 @@
#pragma interface
#endif
class wxStaticBox;
// ----------------------------------------------------------------------------
// wxStaticLine
// ----------------------------------------------------------------------------
@@ -44,6 +46,11 @@ public:
long style = wxLI_HORIZONTAL,
const wxString &name = wxStaticTextNameStr );
// it's necessary to override this wxWindow function because we
// will want to return the main widget for m_statbox
//
WXWidget GetMainWidget() const;
protected:
// we implement the static line using a static box
wxStaticBox *m_statbox;

View File

@@ -179,10 +179,10 @@ class WXDLLEXPORT wxTreeTextCtrl: public wxTextCtrl
wxTreeTextCtrl(void) {};
wxTreeTextCtrl( wxWindow *parent, const wxWindowID id,
bool *accept, wxString *res, wxTreeCtrl *owner,
const wxString &value = "",
const wxString &value = wxEmptyString,
const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
int style = 0, const wxValidator& validator = wxDefaultValidator,
const wxString &name = "wxTreeTextCtrlText" );
const wxString &name = wxTextCtrlNameStr );
void OnChar( wxKeyEvent &event );
void OnKillFocus( wxFocusEvent &event );
@@ -258,10 +258,9 @@ public:
// retrieve items label
wxString GetItemText(const wxTreeItemId& item) const;
// get the normal item image
int GetItemImage(const wxTreeItemId& item) const;
// get the selected item image
int GetItemSelectedImage(const wxTreeItemId& item) const;
// get one of the images associated with the item (normal by default)
int GetItemImage(const wxTreeItemId& item,
wxTreeItemIcon which = wxTreeItemIcon_Normal) const;
// get the data associated with the item
wxTreeItemData *GetItemData(const wxTreeItemId& item) const;
@@ -270,10 +269,9 @@ public:
// set items label
void SetItemText(const wxTreeItemId& item, const wxString& text);
// set the normal item image
void SetItemImage(const wxTreeItemId& item, int image);
// set the selected item image
void SetItemSelectedImage(const wxTreeItemId& item, int image);
// get one of the images associated with the item (normal by default)
void SetItemImage(const wxTreeItemId& item, int image,
wxTreeItemIcon which = wxTreeItemIcon_Normal);
// associate some data with the item
void SetItemData(const wxTreeItemId& item, wxTreeItemData *data);
@@ -433,6 +431,16 @@ public:
// NB: this function is not reentrant and not MT-safe (FIXME)!
void SortChildren(const wxTreeItemId& item);
// deprecated functions: use Set/GetItemImage directly
// get the selected item image
int GetItemSelectedImage(const wxTreeItemId& item) const
{ return GetItemImage(item, wxTreeItemIcon_Selected); }
// set the selected item image
void SetItemSelectedImage(const wxTreeItemId& item, int image)
{ SetItemImage(item, image, wxTreeItemIcon_Selected); }
// implementation
// callbacks
void OnPaint( wxPaintEvent &event );
void OnSetFocus( wxFocusEvent &event );

View File

@@ -0,0 +1,62 @@
///////////////////////////////////////////////////////////////////////////////
// Name: generic/wizard.h
// Purpose: declaration of generic wxWizard class
// Author: Vadim Zeitlin
// Modified by:
// Created: 28.09.99
// RCS-ID: $Id$
// Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows license
///////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// wxWizard
// ----------------------------------------------------------------------------
class wxWizard : public wxWizardBase
{
public:
// ctor
wxWizard(wxWindow *parent = NULL,
int id = -1,
const wxString& title = wxEmptyString,
const wxBitmap& bitmap = wxNullBitmap,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize);
// implement base class pure virtuals
virtual bool RunWizard(wxWizardPage *firstPage);
virtual wxWizardPage *GetCurrentPage() const;
// implementation only from now on
// -------------------------------
// is the wizard running?
bool IsRunning() const { return m_page != NULL; }
// show the prev/next page, but call TransferDataFromWindow on the current
// page first and return FALSE without changing the page if it returns
// FALSE
bool ShowPage(wxWizardPage *page, bool goingForward = TRUE);
private:
// event handlers
void OnCancel(wxCommandEvent& event);
void OnBackOrNext(wxCommandEvent& event);
// wizard dimensions
int m_x, m_y; // the origin for the pages
int m_width, // the size of the page itself
m_height; // (total width is m_width + m_x)
// wizard state
wxWizardPage *m_page; // the current page or NULL
// wizard controls
wxButton *m_btnPrev, // the "<Back" button
*m_btnNext; // the "Next>" or "Finish" button
DECLARE_DYNAMIC_CLASS(wxWizard)
DECLARE_EVENT_TABLE()
};

View File

@@ -3,8 +3,8 @@
// Purpose: wxGIFDecoder, GIF reader for wxImage and wxAnimation
// Author: Guillermo Rodriguez Garcia <guille@iies.es>
// Version: 3.02
// Last rev: 1999/08/18
// Copyright: (c) Guillermo Rodriguez Garcia
// CVS-ID: $Id$
// Copyright: (c) 1999 Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -17,7 +17,8 @@
#include "wx/setup.h"
#if wxUSE_STREAMS
#if wxUSE_STREAMS && wxUSE_GIF
#include "wx/stream.h"
#include "wx/image.h"
@@ -46,12 +47,10 @@ typedef struct _IMAGEN
/* error codes */
#define E_OK 0 /* everything was OK */
#define E_ARCHIVO -1 /* error opening file */
#define E_FORMATO -2 /* error in gif header */
#define E_MEMORIA -3 /* error allocating memory */
#define E_FORMATO 1 /* error in gif header */
#define E_MEMORIA 2 /* error allocating memory */
class wxGIFDecoder
class WXDLLEXPORT wxGIFDecoder
{
private:
/* logical screen */
@@ -117,6 +116,6 @@ public:
};
#endif // wxUSE_STREAM
#endif // wxUSE_STREAM && wxUSE_GIF
#endif // _WX_GIFDECOD_H

View File

@@ -8,15 +8,17 @@
#ifndef __GSOCKET_H
#define __GSOCKET_H
#ifndef __GSOCKET_STANDALONE__
#include "wx/setup.h"
#endif
#if wxUSE_SOCKETS
#if wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__)
#include <stddef.h>
#include <sys/types.h>
#if !defined(__cplusplus)
typedef int bool;
typedef unsigned int bool;
#endif
#ifndef TRUE
@@ -27,6 +29,11 @@ typedef int bool;
#define FALSE 0
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _GSocket GSocket;
typedef struct _GAddress GAddress;
@@ -51,7 +58,7 @@ typedef enum {
GSOCK_NOHOST,
GSOCK_INVPORT,
GSOCK_WOULDBLOCK,
GSOCK_TIMEOUT,
GSOCK_TIMEDOUT,
GSOCK_MEMERR
} GSocketError;
@@ -75,11 +82,8 @@ typedef int GSocketEventFlags;
typedef void (*GSocketCallback)(GSocket *socket, GSocketEvent event,
char *cdata);
#ifdef __cplusplus
extern "C" {
#endif
/* Global initialisers */
/* Global initializers */
/* GSocket_Init() must be called at the beginning */
bool GSocket_Init();
@@ -91,7 +95,7 @@ void GSocket_Cleanup();
GSocket *GSocket_new();
void GSocket_destroy(GSocket *socket);
/* This will disable all IO calls to this socket but errors are still available */
/* This will disable all further IO calls to this socket */
void GSocket_Shutdown(GSocket *socket);
/* Address handling */
@@ -107,88 +111,107 @@ GSocketError GSocket_SetNonOriented(GSocket *socket);
/* Server specific parts */
/*
GSocket_SetServer() setups the socket as a server. It uses the "Local" field
of GSocket. "Local" must be set by GSocket_SetLocal() before
GSocket_SetServer() is called. In the other case, it returns GSOCK_INVADDR.
*/
/* GSocket_SetServer:
* Sets up the socket as a server. It uses the "Local" field of GSocket.
* "Local" must be set by GSocket_SetLocal() before GSocket_SetServer()
* is called. Possible error codes are: GSOCK_INVSOCK if socket has not
* been initialized, GSOCK_INVADDR if the local address has not been
* defined and GSOCK_IOERR for other internal errors.
*/
GSocketError GSocket_SetServer(GSocket *socket);
/*
GSocket_WaitConnection() waits for an incoming client connection.
*/
/* GSocket_WaitConnection:
* Waits for an incoming client connection.
*/
GSocket *GSocket_WaitConnection(GSocket *socket);
/* Client specific parts */
/*
GSocket_Connect() establishes a client connection to a server using the "Peer"
field of GSocket. "Peer" must be set by GSocket_SetPeer() before
GSocket_Connect() is called. In the other case, it returns GSOCK_INVADDR.
*/
/* GSocket_Connect:
* Establishes a client connection to a server using the "Peer"
* field of GSocket. "Peer" must be set by GSocket_SetPeer() before
* GSocket_Connect() is called. Possible error codes are GSOCK_INVSOCK,
* GSOCK_INVADDR, GSOCK_TIMEDOUT, GSOCK_WOULDBLOCK and GSOCK_IOERR.
* If a socket is nonblocking and Connect() returns GSOCK_WOULDBLOCK,
* the connection request can be completed later. Use GSocket_Select()
* to check it, or wait for a GSOCK_CONNECTION event.
*/
GSocketError GSocket_Connect(GSocket *socket, GSocketStream stream);
/* Generic IO */
/* Like recv(), send(), ... */
/*
NOTE: In case we read from a non-oriented connection, the incoming (outgoing)
connection address is stored in the "Local" ("Peer") field.
*/
/* NOTE: In case we read from a non-oriented connection, the incoming
* (outgoing) connection address is stored in the "Local" ("Peer")
* field.
*/
int GSocket_Read(GSocket *socket, char *buffer, int size);
int GSocket_Write(GSocket *socket, const char *buffer,
int size);
bool GSocket_DataAvailable(GSocket *socket);
/* GSocket_Select:
* Polls the socket to determine its status. This function will
* check for the events specified in the 'flags' parameter, and
* it will return a mask indicating which operations can be
* performed. This function won't block, regardless of the
* mode (blocking|nonblocking) of the socket.
*/
GSocketEventFlags GSocket_Select(GSocket *socket, GSocketEventFlags flags);
/* Flags/Parameters */
/*
GSocket_SetTimeout() sets the timeout for reading and writing IO call. Time
is expressed in milliseconds.
/* GSocket_SetTimeout:
* Sets the timeout for blocking calls. Time is
* expressed in milliseconds.
*/
void GSocket_SetTimeout(GSocket *socket, unsigned long millisec);
/*
GSocket_SetBlocking() puts the socket in non-blocking mode. This is useful
if we don't want to wait.
*/
/* GSocket_SetNonBlocking:
* Sets the socket to non-blocking mode. This is useful if
* we don't want to wait.
*/
void GSocket_SetNonBlocking(GSocket *socket, bool non_block);
/*
GSocket_GetError() returns the last error occured on the socket stream.
*/
/* GSocket_GetError:
* Returns the last error occured for this socket.
*/
GSocketError GSocket_GetError(GSocket *socket);
/* Callbacks */
/*
Only one fallback is possible for each event (INPUT, OUTPUT, CONNECTION, LOST)
INPUT: The function is called when there is at least a byte in the
input buffer
OUTPUT: The function is called when the system is sure the next write call
will not block
CONNECTION: Two cases is possible:
Client socket -> the connection is established
Server socket -> a client request a connection
LOST: the connection is lost
/* Only one callback is possible for each event (INPUT, OUTPUT, CONNECTION
* and LOST). The callbacks are called in the following situations:
*
* INPUT: There is at least one byte in the input buffer
* OUTPUT: The system is sure that the next write call will not block
* CONNECTION: Two cases are possible:
* Client socket -> the connection is established
* Server socket -> a client requests a connection
* LOST: The connection is lost
*
* An event is generated only once and its state is reseted when the
* relative IO call is requested.
* For example: INPUT -> GSocket_Read()
* CONNECTION -> GSocket_Accept()
*/
SetCallback accepts a combination of these flags so a same callback can
receive different events.
An event is generated only once and its state is reseted when the relative
IO call is requested.
For example: INPUT -> GSocket_Read()
CONNECTION -> GSocket_Accept()
*/
void GSocket_SetCallback(GSocket *socket, GSocketEventFlags event,
/* GSocket_SetCallback:
* Enables the callbacks specified by 'flags'. Note that 'flags'
* may be a combination of flags OR'ed toghether, so the same
* callback function can be made to accept different events.
* The callback function must have the following prototype:
*
* void function(GSocket *socket, GSocketEvent event, char *cdata)
*/
void GSocket_SetCallback(GSocket *socket, GSocketEventFlags flags,
GSocketCallback fallback, char *cdata);
/*
UnsetCallback will disables all fallbacks specified by "event".
NOTE: event may be a combination of flags
*/
void GSocket_UnsetCallback(GSocket *socket, GSocketEventFlags event);
/* GSocket_UnsetCallback:
* Disables all callbacks specified by 'flags', which may be a
* combination of flags OR'ed toghether.
*/
void GSocket_UnsetCallback(GSocket *socket, GSocketEventFlags flags);
/* GAddress */
@@ -199,11 +222,10 @@ void GAddress_destroy(GAddress *address);
void GAddress_SetFamily(GAddress *address, GAddressType type);
GAddressType GAddress_GetFamily(GAddress *address);
/*
The use of any of the next functions will set the address family to the adapted
one. For example if you use GAddress_INET_SetHostName, address family will be AF_INET
implicitely
*/
/* The use of any of the next functions will set the address family to
* the specific one. For example if you use GAddress_INET_SetHostName,
* address family will be implicitly set to AF_INET.
*/
GSocketError GAddress_INET_SetHostName(GAddress *address, const char *hostname);
GSocketError GAddress_INET_SetHostAddress(GAddress *address,
@@ -222,23 +244,11 @@ unsigned short GAddress_INET_GetPort(GAddress *address);
GSocketError GAddress_UNIX_SetPath(GAddress *address, const char *path);
GSocketError GAddress_UNIX_GetPath(GAddress *address, char *path, size_t sbuf);
/*
* System specific functions
*/
/* On systems needing an event id */
void GSocket_SetEventID(GSocket *socket, unsigned long evt_id);
/* On systems which don't have background refresh */
void GSocket_DoEvent(unsigned long evt_id);
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif
/* wxUSE_SOCKETS */
#endif /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */
#endif
/* __GSOCKET_H */
#endif /* __GSOCKET_H */

View File

@@ -7,12 +7,11 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __GTKFONTH__
#define __GTKFONTH__
#ifdef __GNUG__
#pragma interface
#pragma interface
#endif
#include "wx/defs.h"
@@ -21,103 +20,90 @@
#include "wx/hash.h"
#include "wx/gdiobj.h"
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
class wxDC;
class wxPaintDC;
class wxWindow;
class wxFont;
/*
class wxFontNameDirectory;
*/
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// global variables
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
/*
extern wxFontNameDirectory *wxTheFontNameDirectory;
*/
extern const wxChar* wxEmptyString;
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// wxFont
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
class wxFont: public wxGDIObject
class wxFont : public wxFontBase
{
DECLARE_DYNAMIC_CLASS(wxFont)
public:
wxFont();
wxFont( int pointSize, int family, int style, int weight, bool underlined = FALSE,
const wxString& face = wxEmptyString );
wxFont( const wxFont& font );
~wxFont();
wxFont& operator = ( const wxFont& font );
bool operator == ( const wxFont& font ) const;
bool operator != ( const wxFont& font ) const;
bool Ok() const;
// ctors and such
wxFont() { Init(); }
wxFont(const wxFont& font) { Init(); Ref(font); }
int GetPointSize() const;
int GetFamily() const;
int GetStyle() const;
int GetWeight() const;
bool GetUnderlined() const;
// assignment
wxFont& operator=(const wxFont& font);
void SetPointSize( int pointSize );
void SetFamily( int family );
void SetStyle( int style );
void SetWeight( int weight );
void SetFaceName( const wxString& faceName );
void SetUnderlined( bool underlined );
wxString GetFaceName() const;
wxString GetFamilyString() const;
wxString GetStyleString() const;
wxString GetWeightString() const;
// implementation
wxFont( GdkFont* font, char *xFontName );
void Unshare();
wxFont(int size,
int family,
int style,
int weight,
bool underlined = FALSE,
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
{
Init();
GdkFont* GetInternalFont(float scale = 1.0) const;
(void)Create(size, family, style, weight, underlined, face, encoding);
}
// no data :-)
bool Create(int size,
int family,
int style,
int weight,
bool underlined = FALSE,
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
~wxFont();
// implement base class pure virtuals
virtual int GetPointSize() const;
virtual int GetFamily() const;
virtual int GetStyle() const;
virtual int GetWeight() const;
virtual wxString GetFaceName() const;
virtual bool GetUnderlined() const;
virtual wxFontEncoding GetEncoding() const;
virtual void SetPointSize( int pointSize );
virtual void SetFamily( int family );
virtual void SetStyle( int style );
virtual void SetWeight( int weight );
virtual void SetFaceName( const wxString& faceName );
virtual void SetUnderlined( bool underlined );
virtual void SetEncoding(wxFontEncoding encoding);
// implementation from now on
wxFont( GdkFont* font, char *xFontName );
void Unshare();
GdkFont* GetInternalFont(float scale = 1.0) const;
// no data :-)
protected:
// common part of all ctors
void Init();
private:
DECLARE_DYNAMIC_CLASS(wxFont)
};
/*
//-----------------------------------------------------------------------------
// wxFontDirectory
//-----------------------------------------------------------------------------
class wxFontNameDirectory: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxFontNameDirectory)
public:
wxFontNameDirectory();
~wxFontNameDirectory();
void Initialize();
void Initialize(int fontid, int family, const char *name);
int FindOrCreateFontId(const char *name, int family);
char* GetAFMName(int fontid, int weight, int style);
int GetFamily(int fontid);
int GetFontId(const char *name);
char* GetFontName(int fontid);
int GetNewFontId();
char* GetPostScriptName(int fontid, int weight, int style);
char* GetScreenName(int fontid, int weight, int style);
class wxHashTable *table;
int nextFontId;
};
*/
#endif // __GTKFONTH__

View File

@@ -64,7 +64,7 @@ public:
#if wxUSE_STATUSBAR
virtual wxStatusBar* CreateStatusBar(int number=1, long style = wxST_SIZEGRIP, wxWindowID id = 0,
const wxString& name = _T("statusBar"));
const wxString& name = T("statusBar"));
virtual wxStatusBar *OnCreateStatusBar( int number, long style, wxWindowID id,
const wxString& name );
virtual wxStatusBar *GetStatusBar() const;

View File

@@ -116,6 +116,7 @@ public:
GtkWidget *GetConnectWidget();
bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle();
void OnInternalIdle();
#if wxUSE_TOOLTIPS
void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );

View File

@@ -115,14 +115,18 @@ class wxMDIChildFrame: public wxFrame
virtual wxMenuBar *GetMenuBar() const;
virtual void GetClientSize( int *width, int *height ) const;
virtual void AddChild( wxWindow *child );
virtual void AddChild( wxWindowBase *child );
virtual void Activate();
#if wxUSE_STATUSBAR
// no status bars
virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number)=1, long WXUNUSED(style)=1,
wxWindowID WXUNUSED(id)=1, const wxString& WXUNUSED(name)=WXSTRINGCAST NULL ) {return (wxStatusBar*)NULL; }
virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number) = 1,
long WXUNUSED(style) = 1,
wxWindowID WXUNUSED(id) = 1,
const wxString& WXUNUSED(name) = wxEmptyString)
{ return (wxStatusBar*)NULL; }
virtual wxStatusBar *GetStatusBar() const { return (wxStatusBar*)NULL; }
virtual void SetStatusText( const wxString &WXUNUSED(text), int WXUNUSED(number)=0 ) {}
virtual void SetStatusWidths( int WXUNUSED(n), const int WXUNUSED(widths_field)[] ) {}

View File

@@ -48,11 +48,7 @@ extern const wxChar *wxToolBarNameStr;
class wxToolBar: public wxControl
{
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
public:
public:
wxToolBar(void);
wxToolBar( wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
@@ -120,6 +116,12 @@ class wxToolBar: public wxControl
int m_xMargin;
int m_yMargin;
bool m_hasToolAlready;
void OnInternalIdle();
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
};
#endif

View File

@@ -24,22 +24,6 @@
class wxTimer;
//-----------------------------------------------------------------------------
// global functions
//-----------------------------------------------------------------------------
/* Timer functions (milliseconds) */
void wxStartTimer();
/* Gets time since last wxStartTimer or wxGetElapsedTime */
long wxGetElapsedTime(bool resetTimer = TRUE);
/* EXPERIMENTAL: comment this out if it doesn't compile. */
bool wxGetLocalTime(long *timeZone, int *dstObserved);
/* Get number of seconds since 00:00:00 GMT, Jan 1st 1970. */
long wxGetCurrentTime();
//-----------------------------------------------------------------------------
// wxTimer
//-----------------------------------------------------------------------------

View File

@@ -25,6 +25,14 @@ extern "C" {
#define GTK_MYFIXED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass)
#define GTK_IS_MYFIXED(obj) GTK_CHECK_TYPE (obj, gtk_myfixed_get_type ())
/* Shadow types */
typedef enum
{
GTK_MYSHADOW_NONE,
GTK_MYSHADOW_THIN,
GTK_MYSHADOW_IN,
GTK_MYSHADOW_OUT,
} GtkMyShadowType;
typedef struct _GtkMyFixed GtkMyFixed;
typedef struct _GtkMyFixedClass GtkMyFixedClass;
@@ -35,7 +43,7 @@ struct _GtkMyFixed
GtkContainer container;
GList *children;
#if (GTK_MINOR_VERSION > 0)
GtkShadowType shadow_type;
GtkMyShadowType shadow_type;
#endif
};
@@ -63,7 +71,7 @@ guint gtk_myfixed_get_type (void);
GtkWidget* gtk_myfixed_new (void);
#if (GTK_MINOR_VERSION > 0)
void gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed,
GtkShadowType type);
GtkMyShadowType type);
#endif
void gtk_myfixed_put (GtkMyFixed *myfixed,
GtkWidget *widget,

View File

@@ -62,7 +62,7 @@ public:
virtual void SetFocus();
virtual bool AcceptsFocus() const;
virtual bool Reparent( wxWindow *newParent );
virtual bool Reparent( wxWindowBase *newParent );
virtual void WarpPointer(int x, int y);
virtual void CaptureMouse();

View File

@@ -7,12 +7,11 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __GTKFONTH__
#define __GTKFONTH__
#ifdef __GNUG__
#pragma interface
#pragma interface
#endif
#include "wx/defs.h"
@@ -21,103 +20,90 @@
#include "wx/hash.h"
#include "wx/gdiobj.h"
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
class wxDC;
class wxPaintDC;
class wxWindow;
class wxFont;
/*
class wxFontNameDirectory;
*/
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// global variables
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
/*
extern wxFontNameDirectory *wxTheFontNameDirectory;
*/
extern const wxChar* wxEmptyString;
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// wxFont
//-----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
class wxFont: public wxGDIObject
class wxFont : public wxFontBase
{
DECLARE_DYNAMIC_CLASS(wxFont)
public:
wxFont();
wxFont( int pointSize, int family, int style, int weight, bool underlined = FALSE,
const wxString& face = wxEmptyString );
wxFont( const wxFont& font );
~wxFont();
wxFont& operator = ( const wxFont& font );
bool operator == ( const wxFont& font ) const;
bool operator != ( const wxFont& font ) const;
bool Ok() const;
// ctors and such
wxFont() { Init(); }
wxFont(const wxFont& font) { Init(); Ref(font); }
int GetPointSize() const;
int GetFamily() const;
int GetStyle() const;
int GetWeight() const;
bool GetUnderlined() const;
// assignment
wxFont& operator=(const wxFont& font);
void SetPointSize( int pointSize );
void SetFamily( int family );
void SetStyle( int style );
void SetWeight( int weight );
void SetFaceName( const wxString& faceName );
void SetUnderlined( bool underlined );
wxString GetFaceName() const;
wxString GetFamilyString() const;
wxString GetStyleString() const;
wxString GetWeightString() const;
// implementation
wxFont( GdkFont* font, char *xFontName );
void Unshare();
wxFont(int size,
int family,
int style,
int weight,
bool underlined = FALSE,
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
{
Init();
GdkFont* GetInternalFont(float scale = 1.0) const;
(void)Create(size, family, style, weight, underlined, face, encoding);
}
// no data :-)
bool Create(int size,
int family,
int style,
int weight,
bool underlined = FALSE,
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
~wxFont();
// implement base class pure virtuals
virtual int GetPointSize() const;
virtual int GetFamily() const;
virtual int GetStyle() const;
virtual int GetWeight() const;
virtual wxString GetFaceName() const;
virtual bool GetUnderlined() const;
virtual wxFontEncoding GetEncoding() const;
virtual void SetPointSize( int pointSize );
virtual void SetFamily( int family );
virtual void SetStyle( int style );
virtual void SetWeight( int weight );
virtual void SetFaceName( const wxString& faceName );
virtual void SetUnderlined( bool underlined );
virtual void SetEncoding(wxFontEncoding encoding);
// implementation from now on
wxFont( GdkFont* font, char *xFontName );
void Unshare();
GdkFont* GetInternalFont(float scale = 1.0) const;
// no data :-)
protected:
// common part of all ctors
void Init();
private:
DECLARE_DYNAMIC_CLASS(wxFont)
};
/*
//-----------------------------------------------------------------------------
// wxFontDirectory
//-----------------------------------------------------------------------------
class wxFontNameDirectory: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxFontNameDirectory)
public:
wxFontNameDirectory();
~wxFontNameDirectory();
void Initialize();
void Initialize(int fontid, int family, const char *name);
int FindOrCreateFontId(const char *name, int family);
char* GetAFMName(int fontid, int weight, int style);
int GetFamily(int fontid);
int GetFontId(const char *name);
char* GetFontName(int fontid);
int GetNewFontId();
char* GetPostScriptName(int fontid, int weight, int style);
char* GetScreenName(int fontid, int weight, int style);
class wxHashTable *table;
int nextFontId;
};
*/
#endif // __GTKFONTH__

View File

@@ -64,7 +64,7 @@ public:
#if wxUSE_STATUSBAR
virtual wxStatusBar* CreateStatusBar(int number=1, long style = wxST_SIZEGRIP, wxWindowID id = 0,
const wxString& name = _T("statusBar"));
const wxString& name = T("statusBar"));
virtual wxStatusBar *OnCreateStatusBar( int number, long style, wxWindowID id,
const wxString& name );
virtual wxStatusBar *GetStatusBar() const;

View File

@@ -116,6 +116,7 @@ public:
GtkWidget *GetConnectWidget();
bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle();
void OnInternalIdle();
#if wxUSE_TOOLTIPS
void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );

View File

@@ -115,14 +115,18 @@ class wxMDIChildFrame: public wxFrame
virtual wxMenuBar *GetMenuBar() const;
virtual void GetClientSize( int *width, int *height ) const;
virtual void AddChild( wxWindow *child );
virtual void AddChild( wxWindowBase *child );
virtual void Activate();
#if wxUSE_STATUSBAR
// no status bars
virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number)=1, long WXUNUSED(style)=1,
wxWindowID WXUNUSED(id)=1, const wxString& WXUNUSED(name)=WXSTRINGCAST NULL ) {return (wxStatusBar*)NULL; }
virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number) = 1,
long WXUNUSED(style) = 1,
wxWindowID WXUNUSED(id) = 1,
const wxString& WXUNUSED(name) = wxEmptyString)
{ return (wxStatusBar*)NULL; }
virtual wxStatusBar *GetStatusBar() const { return (wxStatusBar*)NULL; }
virtual void SetStatusText( const wxString &WXUNUSED(text), int WXUNUSED(number)=0 ) {}
virtual void SetStatusWidths( int WXUNUSED(n), const int WXUNUSED(widths_field)[] ) {}

View File

@@ -48,11 +48,7 @@ extern const wxChar *wxToolBarNameStr;
class wxToolBar: public wxControl
{
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
public:
public:
wxToolBar(void);
wxToolBar( wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
@@ -120,6 +116,12 @@ class wxToolBar: public wxControl
int m_xMargin;
int m_yMargin;
bool m_hasToolAlready;
void OnInternalIdle();
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
};
#endif

View File

@@ -24,22 +24,6 @@
class wxTimer;
//-----------------------------------------------------------------------------
// global functions
//-----------------------------------------------------------------------------
/* Timer functions (milliseconds) */
void wxStartTimer();
/* Gets time since last wxStartTimer or wxGetElapsedTime */
long wxGetElapsedTime(bool resetTimer = TRUE);
/* EXPERIMENTAL: comment this out if it doesn't compile. */
bool wxGetLocalTime(long *timeZone, int *dstObserved);
/* Get number of seconds since 00:00:00 GMT, Jan 1st 1970. */
long wxGetCurrentTime();
//-----------------------------------------------------------------------------
// wxTimer
//-----------------------------------------------------------------------------

View File

@@ -25,6 +25,14 @@ extern "C" {
#define GTK_MYFIXED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass)
#define GTK_IS_MYFIXED(obj) GTK_CHECK_TYPE (obj, gtk_myfixed_get_type ())
/* Shadow types */
typedef enum
{
GTK_MYSHADOW_NONE,
GTK_MYSHADOW_THIN,
GTK_MYSHADOW_IN,
GTK_MYSHADOW_OUT,
} GtkMyShadowType;
typedef struct _GtkMyFixed GtkMyFixed;
typedef struct _GtkMyFixedClass GtkMyFixedClass;
@@ -35,7 +43,7 @@ struct _GtkMyFixed
GtkContainer container;
GList *children;
#if (GTK_MINOR_VERSION > 0)
GtkShadowType shadow_type;
GtkMyShadowType shadow_type;
#endif
};
@@ -63,7 +71,7 @@ guint gtk_myfixed_get_type (void);
GtkWidget* gtk_myfixed_new (void);
#if (GTK_MINOR_VERSION > 0)
void gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed,
GtkShadowType type);
GtkMyShadowType type);
#endif
void gtk_myfixed_put (GtkMyFixed *myfixed,
GtkWidget *widget,

View File

@@ -62,7 +62,7 @@ public:
virtual void SetFocus();
virtual bool AcceptsFocus() const;
virtual bool Reparent( wxWindow *newParent );
virtual bool Reparent( wxWindowBase *newParent );
virtual void WarpPointer(int x, int y);
virtual void CaptureMouse();

View File

@@ -39,8 +39,8 @@ class WXDLLEXPORT wxHelpControllerBase: public wxObject
// Must call this to set the filename and server name.
// server is only required when implementing TCP/IP-based
// help controllers.
virtual bool Initialize(const wxString& WXUNUSED(file), int WXUNUSED(server) ) { return FALSE; };
virtual bool Initialize(const wxString& file) = 0;
virtual bool Initialize(const wxString& WXUNUSED(file), int WXUNUSED(server) ) { return FALSE; }
virtual bool Initialize(const wxString& WXUNUSED(file)) { return FALSE; }
// Set viewer: only relevant to some kinds of controller
virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {}
@@ -52,18 +52,18 @@ class WXDLLEXPORT wxHelpControllerBase: public wxObject
virtual bool DisplayBlock(long blockNo) = 0;
virtual bool KeywordSearch(const wxString& k) = 0;
/// Allows one to override the default settings for the help frame.
virtual void SetFrameParameters(const wxString &title,
const wxSize &size,
const wxPoint &pos = wxDefaultPosition,
bool newFrameEachTime = FALSE)
virtual void SetFrameParameters(const wxString& WXUNUSED(title),
const wxSize& WXUNUSED(size),
const wxPoint& WXUNUSED(pos) = wxDefaultPosition,
bool WXUNUSED(newFrameEachTime) = FALSE)
{
// does nothing by default
}
/// Obtains the latest settings used by the help frame and the help
/// frame.
virtual wxFrame *GetFrameParameters(wxSize *size = NULL,
wxPoint *pos = NULL,
bool *newFrameEachTime = NULL)
virtual wxFrame *GetFrameParameters(wxSize *WXUNUSED(size) = NULL,
wxPoint *WXUNUSED(pos) = NULL,
bool *WXUNUSED(newFrameEachTime) = NULL)
{
return (wxFrame*) NULL;// does nothing by default
}

View File

@@ -1,9 +1,10 @@
/////////////////////////////////////////////////////////////////////////////
// Name: forcelink.h
// Name: forcelnk.h
// Purpose: see bellow
// Author: Vaclav Slavik
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/*
@@ -36,8 +37,8 @@ See mod_*.cpp and htmlwin.cpp for example :-)
*/
#ifndef __FORCELINK_H__
#define __FORCELINK_H__
#ifndef _WX_FORCELNK_H_
#define _WX_FORCELNK_H_
@@ -56,4 +57,4 @@ See mod_*.cpp and htmlwin.cpp for example :-)
_link_dummy_func_##module_name ();
#endif // __FORCELINK_H__
#endif // _WX_FORCELNK_H_

View File

@@ -0,0 +1,78 @@
/////////////////////////////////////////////////////////////////////////////
// Name: helpctrl.h
// Purpose: wxHtmlHelpController
// Notes: Based on htmlhelp.cpp, implementing a monolithic
// HTML Help controller class, by Vaclav Slavik
// Author: Harm van der Heijden and Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Harm van der Heijden and Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HELPCTRL_H_
#define _WX_HELPCTRL_H_
#include "wx/defs.h"
#ifdef __GNUG__
#pragma interface
#endif
#if wxUSE_HTML
#include "helpfrm.h"
class WXDLLEXPORT wxHtmlHelpController : public wxEvtHandler
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpController)
public:
wxHtmlHelpController();
virtual ~wxHtmlHelpController();
void SetTitleFormat(const wxString& format);
void SetTempDir(const wxString& path) { m_helpData.SetTempDir(path); }
bool AddBook(const wxString& book, bool show_wait_msg = FALSE);
bool Display(const wxString& x) {
CreateHelpWindow(); return m_helpFrame->Display(x);
}
bool Display(int id) {
CreateHelpWindow(); return m_helpFrame->Display(id);
}
bool DisplayContents() {
CreateHelpWindow(); return m_helpFrame->DisplayContents();
}
bool DisplayIndex() {
CreateHelpWindow(); return m_helpFrame->DisplayIndex();
}
bool KeywordSearch(const wxString& keyword) {
CreateHelpWindow(); return KeywordSearch(keyword);
}
wxHtmlHelpFrame* GetFrame() { return m_helpFrame; }
void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString) {
m_Config = config; m_ConfigRoot = rootpath;
ReadCustomization(config, rootpath);
}
// Assigns config object to the Ctrl. This config is then
// used in subsequent calls to Read/WriteCustomization of both help
// Ctrl and it's wxHtmlWindow
virtual void ReadCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString);
virtual void WriteCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString);
virtual void CreateHelpWindow(bool show_progress = FALSE);
virtual void DestroyHelpWindow() {
//if (m_Config) WriteCustomization(m_Config, m_ConfigRoot);
if (m_helpFrame) m_helpFrame->Destroy();
}
protected:
void OnCloseFrame(wxCloseEvent& evt) { m_helpFrame = NULL; evt.Skip(); }
wxHtmlHelpData m_helpData;
wxHtmlHelpFrame* m_helpFrame;
wxConfigBase *m_Config;
wxString m_ConfigRoot;
wxString m_titleFormat;
DECLARE_EVENT_TABLE()
};
#endif
#endif // _WX_HELPCTRL_H_

191
include/wx/html/helpdata.h Normal file
View File

@@ -0,0 +1,191 @@
/////////////////////////////////////////////////////////////////////////////
// Name: helpdata.h
// Purpose: wxHtmlHelpData
// Notes: Based on htmlhelp.cpp, implementing a monolithic
// HTML Help controller class, by Vaclav Slavik
// Author: Harm van der Heijden and Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Harm van der Heijden and Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HELPDATA_H_
#define _WX_HELPDATA_H_
#ifdef __GNUG__
#pragma interface
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/object.h"
#include "wx/string.h"
#include "wx/filesys.h"
#include "wx/dynarray.h"
//--------------------------------------------------------------------------------
// helper classes & structs
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlBookRecord : public wxObject
{
public:
wxHtmlBookRecord(const wxString& basepath, const wxString& title,
const wxString& start) {
m_BasePath = basepath; m_Title = title; m_Start = start;
// for debugging, give the contents index obvious default values
contents_start = contents_end = -1;
}
wxString GetTitle() const {return m_Title;}
wxString GetStart() const {return m_Start;}
wxString GetBasePath() const {return m_BasePath;}
/* SetContentsRange: store in the bookrecord where in the index/contents lists the
* book's records are stored. This to facilitate searching in a specific book.
* This code will have to be revised when loading/removing books becomes dynamic.
* (as opposed to appending only)
* Note that storing index range is pointless, because the index is alphab. sorted. */
void SetContentsRange(int start, int end) { contents_start = start; contents_end = end; }
int GetContentsStart() const { return contents_start; }
int GetContentsEnd() const { return contents_end; }
protected:
wxString m_BasePath;
wxString m_Title;
wxString m_Start;
int contents_start;
int contents_end;
};
#undef WXDLLEXPORTLOCAL
#define WXDLLEXPORTLOCAL WXDLLEXPORT
// ?? Don't know why - but Allen Van Sickel reported it to fix problems with DLL
WX_DECLARE_OBJARRAY(wxHtmlBookRecord, wxHtmlBookRecArray);
#undef WXDLLEXPORTLOCAL
#define WXDLLEXPORTLOCAL
typedef struct
{
short int m_Level;
int m_ID;
char* m_Name;
char* m_Page;
wxHtmlBookRecord *m_Book;
} wxHtmlContentsItem;
//------------------------------------------------------------------------------
// wxSearchEngine
// This class takes input streams and scans them for occurence
// of keyword(s)
//------------------------------------------------------------------------------
class WXDLLEXPORT wxSearchEngine : public wxObject
{
private:
char *m_Keyword;
public:
wxSearchEngine() : wxObject() {m_Keyword = NULL;}
~wxSearchEngine() {if (m_Keyword) free(m_Keyword);}
virtual void LookFor(const wxString& keyword);
// Sets the keyword we will be searching for
virtual bool Scan(wxInputStream *stream);
// Scans the stream for the keyword.
// Returns TRUE if the stream contains keyword, fALSE otherwise
};
class wxHtmlHelpData;
// State information of a search action. I'd have prefered to make this a nested
// class inside wxHtmlHelpData, but that's against coding standards :-(
// Never construct this class yourself, obtain a copy from
// wxHtmlHelpData::PrepareKeywordSearch(const wxString& key)
class WXDLLEXPORT wxHtmlSearchStatus
{
public:
// constructor; supply wxHtmlHelpData ptr, the keyword and (optionally) the
// title of the book to search. By default, all books are searched.
wxHtmlSearchStatus(wxHtmlHelpData* base, const wxString& keyword,
const wxString& book = wxEmptyString);
bool Search(); // do the next iteration
bool IsActive() { return m_Active; }
int GetCurIndex() { return m_CurIndex; }
int GetMaxIndex() { return m_MaxIndex; }
const wxString& GetName() { return m_Name; }
wxHtmlContentsItem* GetContentsItem() { return m_ContentsItem; }
private:
wxHtmlHelpData* m_Data;
wxSearchEngine m_Engine;
wxString m_Keyword, m_Name, m_LastPage;
wxHtmlContentsItem* m_ContentsItem;
bool m_Active; // search is not finished
int m_CurIndex; // where we are now
int m_MaxIndex; // number of files we search
// For progress bar: 100*curindex/maxindex = % complete
};
class WXDLLEXPORT wxHtmlHelpData : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpData)
friend class wxHtmlSearchStatus;
public:
wxHtmlHelpData();
~wxHtmlHelpData();
void SetTempDir(const wxString& path);
// Sets directory where temporary files are stored.
// These temp files are index & contents file in binary (much faster to read)
// form. These files are NOT deleted on program's exit.
bool AddBook(const wxString& book);
// Adds new book. 'book' is location of .htb file (stands for "html book").
// See documentation for details on its format.
// Returns success.
bool AddBookParam(const wxString& title, const wxString& contfile,
const wxString& indexfile=wxEmptyString,
const wxString& deftopic=wxEmptyString,
const wxString& path=wxEmptyString);
// Some accessing stuff
wxString FindPageByName(const wxString& page);
// returns URL of page on basis of (file)name
wxString FindPageById(int id);
// returns URL of page on basis of MS id
const wxHtmlBookRecArray& GetBookRecArray() { return m_BookRecords; }
wxHtmlContentsItem* GetContents() { return m_Contents; }
int GetContentsCnt() { return m_ContentsCnt; }
wxHtmlContentsItem* GetIndex() { return m_Index; }
int GetIndexCnt() { return m_IndexCnt; }
protected:
wxString m_TempPath;
wxHtmlBookRecArray m_BookRecords;
// each book has one record in this array
wxHtmlContentsItem* m_Contents;
int m_ContentsCnt;
// list of all available books and pages.
wxHtmlContentsItem* m_Index;
int m_IndexCnt;
// list of index items
protected:
bool LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys,
const wxString& indexfile, const wxString& contentsfile);
// Imports .hhp files (MS HTML Help Workshop)
bool LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f);
// Reads binary book
bool SaveCachedBook(wxHtmlBookRecord *book, wxOutputStream *f);
// Writes binary book
};
#endif
#endif

183
include/wx/html/helpfrm.h Normal file
View File

@@ -0,0 +1,183 @@
/////////////////////////////////////////////////////////////////////////////
// Name: helpfrm.h
// Purpose: wxHtmlHelpFrame
// Notes: Based on htmlhelp.cpp, implementing a monolithic
// HTML Help controller class, by Vaclav Slavik
// Author: Harm van der Heijden and Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Harm van der Heijden and Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HELPFRM_H_
#define _WX_HELPFRM_H_
#ifdef __GNUG__
#pragma interface
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "helpdata.h"
#include "wx/window.h"
#include "wx/frame.h"
#include "wx/config.h"
#include "wx/splitter.h"
#include "wx/notebook.h"
#include "wx/listbox.h"
#include "wx/choice.h"
#include "wx/html/htmlwin.h"
// style flags for the Help Frame
const int wxHF_TOOLBAR = 1;
const int wxHF_CONTENTS = 2;
const int wxHF_INDEX = 4;
const int wxHF_SEARCH = 8;
const int wxHF_DEFAULTSTYLE = -1;
// Command IDs :
enum {
wxID_HTML_PANEL = wxID_HIGHEST + 1,
wxID_HTML_BACK,
wxID_HTML_FORWARD,
wxID_HTML_TREECTRL,
wxID_HTML_INDEXPAGE,
wxID_HTML_INDEXLIST,
wxID_HTML_NOTEBOOK,
wxID_HTML_SEARCHPAGE,
wxID_HTML_SEARCHTEXT,
wxID_HTML_SEARCHLIST,
wxID_HTML_SEARCHBUTTON,
wxID_HTML_SEARCHCHOICE,
wxID_HTML_HELPFRAME // the id of wxHtmlHelpController's helpframe
};
class WXDLLEXPORT wxHtmlHelpFrameCfg
{
public:
wxHtmlHelpFrameCfg() {};
long x, y, w, h;
long sashpos;
bool navig_on;
int style; // flags given to wxHtmlHelpFrame ctor
wxString titleformat;
};
class WXDLLEXPORT wxHtmlHelpFrame : public wxFrame
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpFrame)
public:
wxHtmlHelpFrame(wxHtmlHelpData* data = NULL) { Init(data); }
wxHtmlHelpFrame(wxWindow* parent, int wxWindowID,
const wxString& title = wxEmptyString,
int style = wxHF_DEFAULTSTYLE, wxHtmlHelpData* data = NULL);
bool Create(wxWindow* parent, wxWindowID id, const wxString& title = wxEmptyString,
int style = wxHF_DEFAULTSTYLE);
~wxHtmlHelpFrame();
wxHtmlHelpData* GetData() { return m_Data; }
void SetTitleFormat(const wxString& format) {
if (m_HtmlWin)
m_HtmlWin->SetRelatedFrame(this, format);
m_TitleFormat = format;
}
// Sets format of title of the frame. Must contain exactly one "%s"
// (for title of displayed HTML page)
bool Display(const wxString& x);
// Displays page x. If not found it will offect the user a choice of
// searching books.
// Looking for the page runs in these steps:
// 1. try to locate file named x (if x is for example "doc/howto.htm")
// 2. try to open starting page of book x
// 3. try to find x in contents (if x is for example "How To ...")
// 4. try to find x in index (if x is for example "How To ...")
bool Display(const int id);
// Alternative version that works with numeric ID.
// (uses extension to MS format, <param name="ID" value=id>, see docs)
bool DisplayContents();
// Displays help window and focuses contents.
bool DisplayIndex();
// Displays help window and focuses index.
bool KeywordSearch(const wxString& keyword);
// Searches for keyword. Returns TRUE and display page if found, return
// FALSE otherwise
// Syntax of keyword is Altavista-like:
// * words are separated by spaces
// (but "\"hello world\"" is only one world "hello world")
// * word may be pretended by + or -
// (+ : page must contain the word ; - : page can't contain the word)
// * if there is no + or - before the word, + is default
void RefreshLists(bool show_progress = FALSE);
// Refreshes Contents and Index tabs
void CreateContents(bool show_progress = FALSE);
// Adds items to m_Contents tree control
void CreateIndex(bool show_progress = FALSE);
// Adds items to m_IndexList
void CreateSearch();
// Add books to search choice panel
void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString) {
m_Config = config; m_ConfigRoot = rootpath;
ReadCustomization(config, rootpath);
}
void ReadCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString);
// saves custom settings into cfg config. it will use the path 'path'
// if given, otherwise it will save info into currently selected path.
// saved values : things set by SetFonts, SetBorders.
void WriteCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString);
// ...
void OnToolbar(wxCommandEvent& event);
void OnContentsSel(wxTreeEvent& event);
void OnIndexSel(wxCommandEvent& event);
void OnSearchSel(wxCommandEvent& event);
void OnSearch(wxCommandEvent& event);
void OnCloseWindow(wxCloseEvent& event);
// Images:
enum {
IMG_Book = 0,
IMG_Folder,
IMG_Page
};
protected:
wxHtmlHelpData* m_Data;
bool m_DataCreated; // m_Data created by frame, or supplied?
wxString m_TitleFormat; // title of the help frame
// below are various pointers to GUI components
wxHtmlWindow *m_HtmlWin;
wxSplitterWindow *m_Splitter;
wxNotebook *m_NavigPan;
wxTreeCtrl *m_ContentsBox;
wxImageList *m_ContentsImageList;
wxListBox *m_IndexBox;
wxTextCtrl *m_SearchText;
wxButton *m_SearchButton;
wxListBox *m_SearchList;
wxChoice *m_SearchChoice;
wxHtmlHelpFrameCfg m_Cfg;
wxConfigBase *m_Config;
wxString m_ConfigRoot;
// pagenumbers of controls in notebook (usually 0,1,2)
int m_ContentsPage;
int m_IndexPage;
int m_SearchPage;
protected:
void Init(wxHtmlHelpData* data = NULL);
DECLARE_EVENT_TABLE()
};
#endif
#endif

View File

@@ -3,16 +3,17 @@
// Purpose: wxHtmlCell class is used by wxHtmlWindow/wxHtmlWinParser
// as a basic visual element of HTML page
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __HTMLCELL_H__
#define __HTMLCELL_H__
#ifndef _WX_HTMLCELL_H_
#define _WX_HTMLCELL_H_
#ifdef __GNUG__
#pragma interface "htmlcell.h"
#pragma interface
#endif
#include "wx/defs.h"
@@ -36,32 +37,21 @@ class wxHtmlContainerCell;
class WXDLLEXPORT wxHtmlCell : public wxObject
{
protected:
wxHtmlCell *m_Next;
// pointer to the next cell
wxHtmlContainerCell *m_Parent;
// pointer to parent cell
long m_Width, m_Height, m_Descent;
// dimensions of fragment
// m_Descent is used to position text&images..
long m_PosX, m_PosY;
// position where the fragment is drawn
wxString m_Link;
// destination address if this fragment is hypertext link, "" otherwise
public:
wxHtmlCell() : wxObject() {m_Next = NULL; m_Parent = NULL; m_Width = m_Height = m_Descent = 0;};
virtual ~wxHtmlCell() {if (m_Next) delete m_Next;};
void SetParent(wxHtmlContainerCell *p) {m_Parent = p;}
wxHtmlContainerCell *GetParent() const {return m_Parent;}
int GetPosX() const {return m_PosX;}
int GetPosY() const {return m_PosY;}
int GetWidth() const {return m_Width;}
int GetHeight() const {return m_Height;}
int GetDescent() const {return m_Descent;}
virtual wxString GetLink(int x = 0, int y = 0) const {return m_Link;}
virtual wxString GetLink(int WXUNUSED(x) = 0,
int WXUNUSED(y) = 0) const
{ return m_Link; }
// returns the link associated with this cell. The position is position within
// the cell so it varies from 0 to m_Width, from 0 to m_Height
wxHtmlCell *GetNext() const {return m_Next;}
@@ -84,7 +74,7 @@ class WXDLLEXPORT wxHtmlCell : public wxObject
virtual void DrawInvisible(wxDC& dc, int x, int y) {if (m_Next) m_Next -> DrawInvisible(dc, x, y);};
// proceed drawing actions in case the cell is not visible (scrolled out of screen).
// This is needed to change fonts, colors and so on
virtual const wxHtmlCell* Find(int condition, const void* param) const {if (m_Next) return m_Next -> Find(condition, param); else return NULL;}
// This method returns pointer to the FIRST cell for that
// the condition
@@ -104,6 +94,21 @@ class WXDLLEXPORT wxHtmlCell : public wxObject
// Parent is pointer to wxHtmlWindow that generated the event
// HINT: if this handling is not enough for you you should use
// wxHtmlBinderCell
protected:
wxHtmlCell *m_Next;
// pointer to the next cell
wxHtmlContainerCell *m_Parent;
// pointer to parent cell
long m_Width, m_Height, m_Descent;
// dimensions of fragment
// m_Descent is used to position text&images..
long m_PosX, m_PosY;
// position where the fragment is drawn
wxString m_Link;
// destination address if this fragment is hypertext link, "" otherwise
};
@@ -170,7 +175,7 @@ class WXDLLEXPORT wxHtmlContainerCell : public wxHtmlCell
virtual void Layout(int w);
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
virtual void DrawInvisible(wxDC& dc, int x, int y);
void InsertCell(wxHtmlCell *cell);
// insert cell at the end of m_Cells list
void SetAlignHor(int al) {m_AlignHor = al;}
@@ -279,15 +284,7 @@ class WXDLLEXPORT wxHtmlWidgetCell : public wxHtmlCell
#endif // __HTMLCELL_H__
#endif
#endif // _WX_HTMLCELL_H_

View File

@@ -2,13 +2,14 @@
// Name: htmldefs.h
// Purpose: constants for wxhtml library
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __HTMLDEFS_H__
#define __HTMLDEFS_H__
#ifndef _WX_HTMLDEFS_H_
#define _WX_HTMLDEFS_H_
#include "wx/defs.h"
@@ -95,4 +96,4 @@
/* steps of array reallocation */
#endif
#endif
#endif

View File

@@ -1,17 +1,18 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlfilter.h
// Name: htmlfilt.h
// Purpose: filters
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __HTMLFILTER_H__
#define __HTMLFILTER_H__
#ifndef _WX_HTMLFILT_H_
#define _WX_HTMLFILT_H_
#ifdef __GNUG__
#pragma interface "htmlfilter.h"
#pragma interface
#endif
#include "wx/defs.h"
@@ -65,7 +66,6 @@ class WXDLLEXPORT wxHtmlFilterPlainText : public wxHtmlFilter
#endif
#endif // _WX_HTMLFILT_H_
#endif // __HTMLFILTER_H__
#endif

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