Compare commits

..

1675 Commits

Author SHA1 Message Date
Bryan Petty
3126696b7c This commit was manufactured by cvs2svn to create tag
'WX_HTML_BEFORE_TEXT_SELECTION'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_HTML_BEFORE_TEXT_SELECTION@20809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-06-01 13:35:26 +00:00
Václav Slavík
92337e39b9 unicode compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-15 22:38:32 +00:00
Julian Smart
c09615b8ed An attempt to make the notebook sizer report its size
correctly under Windows, otherwise you get a huge gap
at the bottom if fitting to the content of the page.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-15 22:15:25 +00:00
Stefan Csomor
c91a2f7e67 forgot to commit project file for CW before
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-15 09:31:52 +00:00
Julian Smart
6390284bfa Doc fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-14 21:31:03 +00:00
Robin Dunn
46a5010a06 Acutally use the m_maxChars parameter value instead of ignoring it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-14 20:50:55 +00:00
Robin Dunn
7c5e6fc68e Changes allowing for proper KEY_DOWN and CHAR events for wxGTK2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-14 19:25:18 +00:00
Jouk Jansen
44d511ad4d Committing in .
wxMOTIF for OpenVMS compilation updates

 Modified Files:
 	wxWindows/lib/vms.opt wxWindows/src/motif/descrip.mms
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-14 06:52:46 +00:00
Mattia Barbon
9a595736d0 Derive wxStaticText from wxStaticTextBase, remove dead code/code
duplication. Likewise for wxStaticBitmap.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-13 20:02:15 +00:00
Mattia Barbon
882b1d8d0e Fixed bug with notebook pages not showing (probably affected any
wxWindow/wxPanel child when panel was hidden and then shown again).
The bug was introduced by the fix for hidden windows still intercepting
mouse events.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-13 19:52:58 +00:00
Mattia Barbon
f332a5a0f8 Lesstif compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-13 19:50:33 +00:00
Julian Smart
932b55d0d6 Reordered the slow-click test, otherwise it would never
be fired if in row-select more. Also added a ClearSelection,
which was omitted in the changes since 2.4.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-13 17:45:23 +00:00
Julian Smart
7699361c96 Rationalised style handling in tree control
No longer use WS_EX_WINDOWEDGE since it seems to be obsolete,
and has no effect


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-13 15:20:50 +00:00
Julian Smart
6678c7f838 Removed obsolete check
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-13 15:16:54 +00:00
Václav Slavík
f2034f1b6e applied HTML pagebreaks patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 22:33:51 +00:00
Mattia Barbon
6769d0cbf3 Factored out some common code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 20:04:08 +00:00
Mattia Barbon
11eadd92f3 Removed dead code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 19:58:45 +00:00
Mattia Barbon
47be989f6b Implemented copy-on-demand for wxClipboard.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 19:55:35 +00:00
Mattia Barbon
3f85391ea7 Compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 19:54:01 +00:00
Mattia Barbon
0cc1d4ff2a Removed redundant wx<Control>NameStr declarations.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 19:52:43 +00:00
Julian Smart
22a746d726 Apply correct style variable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 10:09:40 +00:00
Julian Smart
975ee4b4a9 Auto 3D border if parent is panel or dialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 10:04:46 +00:00
Vadim Zeitlin
be9b0663d9 reworked vertical scrolling code to correspond better to what I think is correct (horizontal case is unchanged)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 08:35:53 +00:00
Vadim Zeitlin
0cf5de1133 changed handling of range/max scrolling parameter and cleanup (removed Win16 code)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-12 08:33:48 +00:00
Vadim Zeitlin
5eae641dd6 fixed bug in WinStruct<> ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 23:25:14 +00:00
Vadim Zeitlin
bffa02ff6f added WinStruct<>
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 22:43:28 +00:00
Vadim Zeitlin
c4e54c6d80 moved missing constants definitions to their right place in wx/msw/missing.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 22:41:23 +00:00
Vadim Zeitlin
3136f782be wxTextBuffer ctor bug and something else
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 22:29:31 +00:00
Vadim Zeitlin
51e257806f init m_isOpened in ctor (bug 736208)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 22:28:16 +00:00
Chris Elliott
7db39dd699 digital mars fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 20:02:40 +00:00
Gilles Depeyrot
4431a7322b We don't put main() in the library any more.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 19:31:00 +00:00
Gilles Depeyrot
e8617760b0 assert is raised when using the thread sample (which works) so the test is
probably not so easy. Can widget callbacks be triggered from child threads
and, if so, for which widgets?


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 19:28:13 +00:00
Gilles Depeyrot
edf6a06341 disable use of #pragma interface under Mac OS X
GNU compiler included with Mac OS X 10.2 (Jaguar) as well as available updates
contain a bug concerning #pragma interface handling that can only be worked
around by not using them (and they are not necessary anyways)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 18:08:58 +00:00
Gilles Depeyrot
e8117e7f5c updated CodeWarrior 5.3 xml project with latest changes to file list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 18:08:51 +00:00
Gilles Depeyrot
3399051ee9 disable use of #pragma interface under Mac OS X
GNU compiler included with Mac OS X 10.2 (Jaguar) as well as available updates
contain a bug concerning #pragma interface handling that can only be worked
around by not using them (and they are not necessary anyways)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 17:57:23 +00:00
Gilles Depeyrot
d5f3e1ebf5 added assert to detect attempt to install idle handler from widget callback
not called from main thread


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 16:44:48 +00:00
Vadim Zeitlin
275a63e3a6 use alpha channel in Blit() as well and not only in DrawBitmap()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 11:14:35 +00:00
Vadim Zeitlin
c9fcf5817f many fixes for PNG reading after recent alpha changes; grey scale images reading was in particular broken
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 10:49:27 +00:00
Vadim Zeitlin
edb57eaebe added missing typename
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 01:04:10 +00:00
Vadim Zeitlin
70cd62e95c TRUE/FALSE -> true/false
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 01:01:36 +00:00
Vadim Zeitlin
aaa9782834 wxImage::Create() should be bool, not void
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-11 00:59:42 +00:00
Vadim Zeitlin
d9ef4e06ed added LVSICF_NOSCROLL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-10 12:55:39 +00:00
Vadim Zeitlin
8fa97a5819 compilation fix for BCC (and probably others)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-10 12:53:08 +00:00
Vadim Zeitlin
73baf01ab3 compilation fix (sorry)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-10 11:43:39 +00:00
Vadim Zeitlin
82eba82658 fix wxDisplay initialization (patch 735303)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-10 00:57:51 +00:00
Vadim Zeitlin
41b78190ad recognize ESC[APE] in menu accel strings (patch 733967)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-10 00:56:07 +00:00
Vadim Zeitlin
a8fbc9cc57 fall back to wxAlphaBlend() if ::AlphaBlend() didn't work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 23:57:34 +00:00
Vadim Zeitlin
4b8ab2f93a use DIB, not DDB, when converting from an image with alpha channel
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 23:54:16 +00:00
Vadim Zeitlin
edf8e8e071 memory for alpha channel was over allocated by a factor of 3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 23:52:20 +00:00
Vadim Zeitlin
2f22353e37 fixed iterator over wxImage with alpha channel
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 23:50:43 +00:00
Julian Smart
2c92d7e398 Removed a spurious print statement
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 23:32:55 +00:00
Julian Smart
ff38281aa1 Fixed crash in EnsureVisible in wxTR_HIDE_ROOT mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 21:48:24 +00:00
Vadim Zeitlin
243dbf1a50 Insert() patch from John Labenski
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 12:58:28 +00:00
Vadim Zeitlin
b5f159ac91 use wxDEPRECATED around GetNoHistoryFiles()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 12:04:01 +00:00
Jouk Jansen
d171743ed3 Committing in .
Fixes needed for OpenVMS

 Modified Files:
 	wxWindows/include/wx/x11/private.h
 	wxWindows/include/wx/x11/privx.h
 	wxWindows/src/common/dbtable.cpp
 	wxWindows/src/common/descrip.mms
 	wxWindows/src/motif/bmpmotif.cpp
 	wxWindows/src/motif/descrip.mms wxWindows/src/x11/bitmap.cpp
 	wxWindows/src/x11/utilsx.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 10:53:52 +00:00
Stefan Csomor
1925be658c fixing some redrawing bugs overpainting foreign window's area under OS9, reintroduced TransitionWindow calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 07:16:30 +00:00
Stefan Csomor
76a60a81b4 typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 07:13:32 +00:00
Stefan Csomor
4506b24a05 masking out wxOK and friends from dialog style in order to avoid clashes with miniframe windows flags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 07:12:53 +00:00
Stefan Csomor
140f2012cd reintroduced m_isBeingDeleted
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 07:12:02 +00:00
Vadim Zeitlin
7af6b69e74 wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-09 00:02:58 +00:00
Vadim Zeitlin
1162d0a257 wxGLCanvas doesn't derive from wxScrolledWindow since quite some time already despite of the docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-08 23:46:34 +00:00
Vadim Zeitlin
50ef440170 undid patch which was supposed to allow thread recreation and added instead an assert preventing it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20554 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-08 23:38:05 +00:00
Robin Dunn
faad0a95e1 Prevent scrolling back to the top when calling SetItemCount again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-08 06:29:39 +00:00
Robin Dunn
7e6874c014 Fix GetItemRect to offset by the header window, if present.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-08 02:17:52 +00:00
Robin Dunn
45ff80056c Added #if TARGET_CARBON around shaped window stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 20:31:29 +00:00
Julian Smart
0bbeb42dde Ensure grid components don't have borders
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 20:16:41 +00:00
Václav Slavík
139c5871c9 fix for multiple initialization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 19:03:10 +00:00
Robin Dunn
b63fce942f fixed compile errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 18:08:01 +00:00
Robin Dunn
ef5df12bdf Also merge the m_overflow attribute
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 17:50:08 +00:00
Mattia Barbon
dd38c87578 Implemented wxBitmapDataObject.
Implemented generic wxDataObject support in wxClipboard.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 17:24:11 +00:00
Julian Smart
27c7397611 More style issues
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 16:07:36 +00:00
Julian Smart
31e7e89fdd Fixed style glitches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 15:03:11 +00:00
Julian Smart
6ae0daf6c5 Added WS_VISIBLE style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 14:02:38 +00:00
Chris Elliott
05d3cd45e5 update for digital mars - resolve externals in shell and winsock libs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 13:18:45 +00:00
Chris Elliott
44e8cf38f1 missing externals for digital mars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 13:09:14 +00:00
Chris Elliott
e81cf2eb73 update makefile.sc for digital mars to use relative paths
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 11:41:21 +00:00
Chris Elliott
f5705f7e3e update makefile.sc for digital mars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 11:20:32 +00:00
Chris Elliott
f0fc695806 remove if defs for DigitalMars as suggested by Vadim
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 09:14:14 +00:00
Julian Smart
acd42a2395 Removed some commented-out code
Added border improvements to changes.txt


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 08:32:57 +00:00
Robin Dunn
8adb5d4557 Added inline setters for wxTreeEvent so we don't need to add new
friends anytime someone wants to generate wxTreeEvents


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-07 00:30:37 +00:00
Robin Dunn
0b887a21d4 allow the base class to participate in the CanPaste decision
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 23:43:39 +00:00
Julian Smart
fe3d9123c6 Revamped border handling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 21:57:32 +00:00
Chris Elliott
957f03699b possible fix for templates with digitalmars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 15:08:52 +00:00
Julian Smart
59fac08507 Removed obsolete 16-bit import libs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 09:44:36 +00:00
Robert Roebling
6d18407fa4 Compilo.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 08:52:14 +00:00
Chris Elliott
ce51dc7507 update digitalmars makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 08:13:18 +00:00
Chris Elliott
025bbf5bcf update install docs for MSW (Borland & Digital Mars)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 08:08:07 +00:00
Julian Smart
8161ba085f Doc clarifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 07:53:46 +00:00
Robert Roebling
bcc4c54184 Penguin Unicode compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 07:22:13 +00:00
Robert Roebling
2b5b932572 OpenGL for GTK2 fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 07:21:22 +00:00
Robert Roebling
84e7741af6 Splitter clean up.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-06 07:20:14 +00:00
Mattia Barbon
1ae2e0af5a Fix for crash on exit.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-05 20:51:18 +00:00
Robert Roebling
7f5f144a81 Upported fix to mouse capture event handling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-05 08:42:22 +00:00
Julian Smart
d60913555c Initialised m_isBeingDeleted -- I don't know how anything
worked without it...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 21:09:58 +00:00
Julian Smart
1dfc3cda6e Setting state to STATE_NEW in wxThread::Create
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 20:51:09 +00:00
Mattia Barbon
eb6fa4b425 Changed the way ApplicationShells are used: now wxMotif
creates one ApplicationShell per display, and makes top
level windows popup childs of the ApplicationShell.
  Removed a couple of unused variables from wxApp.
  Replaced some calls to wxGetDisplay with XtDisplay(widget)
or event.xany.display, and some others with wxGlobalDisplay
(the latter changes are just eyecandy).
  Used wxFlushEvents where appropriate.
  Fixed (hopefully) wxFindAcceleratorText and wxFindAccelerator;
for now the new version is still disabled, awaiting further testing.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 17:40:46 +00:00
Mattia Barbon
b0feedc5db Avoid crash during global destruction.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 17:35:44 +00:00
Julian Smart
cfbf444a53 Applied updated patch [ 731719 ] Owner draw font leak/overuse
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 17:12:58 +00:00
Julian Smart
1d105d58f4 Added defined() to directive
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 15:50:27 +00:00
Julian Smart
84969af72d Added some missing copyright lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 14:11:45 +00:00
Mattia Barbon
28169f14ec Fix for the fact that unmapped but managed widgets
intercept mouse events even if they are not visible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 12:19:57 +00:00
Mattia Barbon
44f5b99574 Pass events to pushed event handlers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-04 12:17:15 +00:00
Robin Dunn
819451b6c7 Reversed the meaning of black and white in wxRegion::ConvertToBitmap
so it matches the menaning of black and white in wxMask


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 17:56:30 +00:00
Julian Smart
40f359cafe Applied [ 731578 ] wxThread state bugfix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:41:57 +00:00
Stefan Csomor
2cee82b781 corrected pageRect for non carbon targets, removed commented obsolete sections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:41:03 +00:00
Julian Smart
afd366a714 Added items to todo list and publicity doc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:34:28 +00:00
Julian Smart
dddcedbf7f Mentioned: Applied patch [ 701238 ] Added BLOB support to dbtable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:32:23 +00:00
Julian Smart
5962bdb85a Applied patch [ 701238 ] Added BLOB support to dbtable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:28:18 +00:00
Julian Smart
4b8f491298 Applied patch [ 726350 ] wxGrid - MovePageDown()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:17:38 +00:00
Julian Smart
cb27bab1e6 Applied patch [ 731846 ] GTK Print Options
Print options were omitted from print command


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:11:55 +00:00
Julian Smart
69e66915e3 Mentioned wxImage::Scale improvement
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:07:55 +00:00
Julian Smart
ff865c132a Applied patch [ 730686 ] wxImage::Scale speed improvements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 15:06:07 +00:00
Julian Smart
8c18da2e41 Applied patch [ 731195 ] More #if/#endif's to build a smaller library
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 13:50:04 +00:00
Julian Smart
384c96533e Doc corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 13:45:00 +00:00
Julian Smart
c754f4aa00 Mentioned docview changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 13:39:04 +00:00
Julian Smart
19b4237945 Applied patch [ 731719 ] Owner draw font leak/overuse
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 11:56:38 +00:00
Julian Smart
9d4a05be9b Applied some of patch [ 622660 ] consistent behaviour for docview.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 11:44:40 +00:00
Julian Smart
a36d790a7b Added m_isOpened variable to simulate opening/closing
the clipboard on wxMSW


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 17:48:17 +00:00
Chris Elliott
dec2b82453 digital mars updated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 14:48:05 +00:00
Chris Elliott
76c718091a typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 14:05:03 +00:00
Chris Elliott
1e3c12d774 implement wxHAVE_RAW_BITMAP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 12:58:00 +00:00
Julian Smart
7a311019db Corrected a memory leak I introduced in the last patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 12:49:07 +00:00
Chris Elliott
e6c13db6ec fix bug to make Borland compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 12:47:07 +00:00
Chris Elliott
7581faf616 digital mars updated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 12:16:28 +00:00
Chris Elliott
bf978f96c2 Macro swicth from SC to SYMANTEC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 11:30:18 +00:00
Chris Elliott
384f18ed35 info about digitalmars in header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 11:28:38 +00:00
Chris Elliott
2bdf715463 Macro swicth from SC to SYMANTEC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 11:21:03 +00:00
Chris Elliott
0b3f29b359 fix for digitalmars header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 11:19:20 +00:00
Chris Elliott
e7e793efd3 fix for digitalmars header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-02 11:13:07 +00:00
Vadim Zeitlin
33caa9948d make accelerators for bitmap menu items work (patch 626048)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 23:15:09 +00:00
Vadim Zeitlin
20f18ea193 compilation fix when WXUNUSED(arg) == arg
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 22:53:59 +00:00
Vadim Zeitlin
eb76cc945b added (back?) CROSS support (patch 658234)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 22:36:46 +00:00
Vadim Zeitlin
4d0d77affc show the taskbar icon even after Explorer restart (patch 723532) + some code cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 20:49:34 +00:00
Vadim Zeitlin
660b190686 fixed spurious debug error message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 20:41:59 +00:00
Vadim Zeitlin
d694de12e7 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 20:03:32 +00:00
Vadim Zeitlin
2eefae6efa better handling of transparent colour in wxImage conversion (patch 726208)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 19:59:40 +00:00
Vadim Zeitlin
8e0a317c4f stddef.h required for IRIX compilation (patch 721388)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 19:47:16 +00:00
Vadim Zeitlin
e8c6a69c9d set the index for BEGIN_DRAG events (patch 726308)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 19:38:42 +00:00
Vadim Zeitlin
e9c8005b47 only set replace string for replace events (patch 728415)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 19:35:47 +00:00
Vadim Zeitlin
8ab40c5227 fixes for working with mono bitmaps (patch 728768)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 19:31:30 +00:00
Vadim Zeitlin
10545ca4e7 fix for a crash in ~wxLocale and incorrect GetLanguage() return value (patch 729758)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 17:06:41 +00:00
Vadim Zeitlin
adf9e09990 missing #if's needed for compilation with some wxUSE_XXX set to 0 (patch 728413)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 16:52:17 +00:00
Vadim Zeitlin
ea39221211 fix a problem with Unicows (patch 720542)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 16:46:28 +00:00
Vadim Zeitlin
2015f2b308 fix the wrong size of the first page when it's added to the notebook (replaces patch 728770)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 16:39:59 +00:00
Vadim Zeitlin
a452af5e68 allow raw access to a part of the image only (faster when using alpha)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 16:37:51 +00:00
Julian Smart
b72b192036 Implemented delayed closing of an existing document
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 15:40:39 +00:00
Julian Smart
1cf1238db4 Reset m_lastItem to avoid crashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 15:38:55 +00:00
Julian Smart
3e3a7b97ec Implemented delayed selection (e.g. after adding the root
or deleting items) so that the event handler will be
called appropriately.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 15:37:30 +00:00
Julian Smart
5c180caf1b Removed backslashes in verbatim example
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 13:37:59 +00:00
Vadim Zeitlin
444d3e017e read numbers even if they're followed by spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 11:08:22 +00:00
Vadim Zeitlin
2423ef22ee compilation fix for Unicode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-01 00:48:58 +00:00
Václav Slavík
cf5e94bc6d fixed Norwegian Bokmal code to conform to new ISO 639-2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 22:48:01 +00:00
Stefan Csomor
c0ef107e6b correcting non-unicode char conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 20:19:29 +00:00
Stefan Csomor
4241baae44 removing unused flags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 20:17:13 +00:00
Stefan Csomor
dd49c69170 include "ToolUtils.h" for LoWord and friends
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 19:01:55 +00:00
Vadim Zeitlin
ef33c57631 fixed configure for autoconf 2.5x (patch from Olly Betts)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 13:31:09 +00:00
Julian Smart
00013f54a2 Allow for +/- in E part
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 12:44:03 +00:00
Julian Smart
7102c47355 Allow 'e' or 'E' in numeric text.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 09:43:03 +00:00
Julian Smart
e0f4c2c88b Use the context help XPM for MSW too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 08:41:31 +00:00
Robin Dunn
6a7e641161 Shaped window support for wxMac, plus a wxSTAY_ON_TOP fix from Egon
<e_lub@yahoo.com>   wxMac requires knowledge before Create that SetShape
will be called so I also added the wxFRAME_SHAPED style flag.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-30 00:39:15 +00:00
Vadim Zeitlin
e97251c58e compilation fix for !USE_PCH
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-29 22:39:02 +00:00
Mattia Barbon
f734e1dad1 MinGW compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-29 21:15:28 +00:00
Julian Smart
91fd135b38 Fixed brace problem.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-29 10:26:52 +00:00
Chris Elliott
5d19b6acd1 fix filefn conditional error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-29 09:36:05 +00:00
Chris Elliott
f15dcc0158 update to make digitalmars compile/link libraries
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 21:12:02 +00:00
Chris Elliott
3e6477f4ab SF patch [ 708702 ] Wide character filename support for BCC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 21:09:58 +00:00
Chris Elliott
a3bb1d14a5 SF patch [ 708702 ] Wide character filename support for BCC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 20:58:29 +00:00
Mattia Barbon
6cee329241 Blind compilation fix in the case where libXpm
isn't available.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 19:55:18 +00:00
Robin Dunn
cd01e3646a SF Patch #728691, dangling pointer fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 18:44:27 +00:00
Chris Elliott
9a55c2ee2a fix wxChar error in docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 15:09:59 +00:00
Vadim Zeitlin
b8985048a5 fix for Unicode compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 11:51:53 +00:00
Julian Smart
2f930c8501 Doc suggestions applied
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 10:37:08 +00:00
Julian Smart
01d0d0e57d Fixed [ 728819 ] memory leak in ipcbase.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 10:33:05 +00:00
Vadim Zeitlin
6298b8d0b2 another blind fix for wxX11 compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 02:08:57 +00:00
Vadim Zeitlin
1d2f48b681 updated to use the new raw bitmap API
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 02:04:09 +00:00
Vadim Zeitlin
b9bcaf117a new template-based more flexible and hopefully more efficient raw bitmap implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-28 01:46:05 +00:00
Vadim Zeitlin
96df9ed9b1 create tab ctrl with WS_VISIBLE style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-27 21:49:22 +00:00
Vadim Zeitlin
bb793b0cfb *really* fixed searching in sorted arrays
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-27 15:17:46 +00:00
Vadim Zeitlin
13a6fb3a25 don't hardcode wxCHOICEDLG_DIALOG_STYLE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-27 13:30:01 +00:00
Stefan Csomor
a722995e62 moving rollover check, was causing hangs upon termination in case ->top was 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-26 20:18:20 +00:00
Stefan Csomor
7f7a740336 transition window calls had some problems with layering, switched back to hide and show native calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-26 20:01:43 +00:00
Mattia Barbon
e6be3e7c1b Implemented wxEntryStart, wxEntryInitGui, wxEntryCleanup.
Removed code already in wxTopLevelWindowBase.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-26 12:54:45 +00:00
Václav Slavík
4f1f340199 added xh_wizrd.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 22:34:25 +00:00
Mattia Barbon
77e0239d76 Patch [ 726877 ]: Remove /GX- from makevc.env
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 20:42:25 +00:00
Mattia Barbon
94923d5127 Compilation fix for wxBase.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 20:26:32 +00:00
Mattia Barbon
9a8ffaddeb Warning fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 20:24:35 +00:00
Chris Elliott
d56327cd06 update to make digitalmars compile/link libraries
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 18:55:46 +00:00
Mattia Barbon
8a73873fa0 Not used anymore.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 12:13:31 +00:00
Vadim Zeitlin
c8011d7377 fixed bug recently introduced in wxSortedArray::Index()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 12:06:25 +00:00
Vadim Zeitlin
0cad49b42c blind fix for wxMotif compilation with wxHAVE_LIB_XPM == 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 11:10:45 +00:00
Jouk Jansen
c5a2f27478 Committing in .
#undef before #def in order to suppress redefinition warnings

 Modified Files:
 	wxWindows/contrib/include/wx/deprecated/setup.h
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-25 06:06:08 +00:00
Mattia Barbon
56cc1400c7 COmpilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 22:17:14 +00:00
Mattia Barbon
a28fda44bc Added wxWizard handler to Makefile.in.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 22:15:21 +00:00
Chris Elliott
d26fad77f7 update to make digitalmars compile/link html\test sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 21:56:03 +00:00
Chris Elliott
7960c7b4c5 update to make digitalmars compile/link make clean
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 21:37:23 +00:00
Chris Elliott
2cea8d2558 update to make digitalmars compile/link make clean
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 21:16:56 +00:00
Chris Elliott
ee252037cf update to make digitalmars compile/link make clean
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 21:08:21 +00:00
Chris Elliott
e9196d9c63 update to make digitalmars compile/link html sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 21:07:02 +00:00
Chris Elliott
5bfebd013e update to make digitalmars compile/link image sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 21:02:07 +00:00
Robert Roebling
50382578c1 Another attempt to fix the freeze while mouse capturing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 17:41:10 +00:00
Robert Roebling
6e7d0063bc Upported minor fix for font dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 14:35:29 +00:00
Jouk Jansen
b41f79f59d Committing in .
reinstalled one wxvariant instance which is used in dbgrid.cpp

 Modified Files:
 	wxWindows/src/common/variant.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 13:51:53 +00:00
Jouk Jansen
96f4ca4201 Committing in .
wizard.cpp contains "deprecated" code

 Modified Files:
 	wxWindows/src/generic/wizard.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 13:50:25 +00:00
Jouk Jansen
6804a3f719 Committing in .
Updated OpenVMS compile support

 Modified Files:
 	wxWindows/descrip.mms wxWindows/setup.h_vms
 	wxWindows/src/common/descrip.mms
 	wxWindows/src/generic/descrip.mms
 	wxWindows/src/gtk/descrip.mms
 	wxWindows/utils/dialoged/src/descrip.mms
 Added Files:
 	wxWindows/contrib/src/deprecated/descrip.mms
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 13:48:51 +00:00
Chris Elliott
56689e1b3a explicit cast for digital mars to use OLE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-24 11:15:36 +00:00
Robin Dunn
368a4a4784 Prevent a Gtk-CRITICAL message when Remove()ing a menu from a menubar
that has submenus.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-23 21:08:42 +00:00
Robin Dunn
1bc54e3257 Fix setting the scrollbar positions (SF Bug #721159)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-23 21:04:26 +00:00
Chris Elliott
465b213606 digital mars compiler updated - test no longer needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-23 15:29:57 +00:00
Robert Roebling
33688b28c3 Typo in mouse event code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-23 06:37:05 +00:00
Chris Elliott
4ded51f2fa update to make digitalmars compile/link image sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-22 21:12:30 +00:00
Chris Elliott
0caac3b4a9 update to make digitalmars compile/link image sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-22 21:02:29 +00:00
Václav Slavík
9e82cf9876 modification to wxSizer handler needed for wxWizard
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-22 20:26:06 +00:00
Václav Slavík
a84c0558d8 tooltips should be translated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-22 20:25:58 +00:00
Václav Slavík
e5db28fd7c added wxWizard handler to XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-22 20:25:50 +00:00
Václav Slavík
b867ed682d fixed typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-21 11:23:02 +00:00
Robin Dunn
9e730a7876 Updated Scintilla to 1.52 (on the trunk this time too)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 20:00:02 +00:00
Chris Elliott
ce8897bbff update to docs now minimal sample compiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 19:49:58 +00:00
Chris Elliott
059b646254 update to make digitalmars link minimal sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 19:42:44 +00:00
Chris Elliott
48bac87b56 update to make digitalmars compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 19:28:19 +00:00
Chris Elliott
cc972ac67e update to make digitalmars link - I really don't like the extern C declarations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 19:25:28 +00:00
Chris Elliott
4ce1efe123 update to make digitalmars compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 18:15:17 +00:00
David Elliott
e668651137 Separated the Objective-C to C++ association code into the new header
ObjcAssociate.h.  That leaves ObjcPose.h for its original purpose and
avoids including it from any header files.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 17:51:50 +00:00
David Elliott
fb45bb1fb2 #include "wx/cocoa/ObjcPose.h" from the source in preparation for removing
it from the already included headers


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 17:40:46 +00:00
Gilles Depeyrot
5822d04ada corrected for resource compilation with Apple Developer Tools
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:17:23 +00:00
Gilles Depeyrot
475b09e7a7 updated Project Builder minimal sample project
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:16:33 +00:00
Gilles Depeyrot
9bd1404d20 removed superfluous casts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:15:44 +00:00
Gilles Depeyrot
90771fe589 added extern "C" for include of mach/mach.h to fix link errors with PB
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:14:46 +00:00
Gilles Depeyrot
06ea1f023e removed unused variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:13:29 +00:00
Gilles Depeyrot
692db919db corrected warning (missing const)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:12:15 +00:00
Gilles Depeyrot
90b2e44c5b updated CodeWarrior 5.3 project with latest changes (files added and removed)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 08:06:10 +00:00
Gilles Depeyrot
0b93f59c51 updated Project Builder project with latest changes (files added and removed)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-19 07:58:07 +00:00
Vadim Zeitlin
abd9b10e39 make choice dialog resizeable by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 22:23:49 +00:00
Mattia Barbon
632cfe57c5 Reverted my last change, since it's ugly and does not
work anyway.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 20:26:52 +00:00
Mattia Barbon
8fb29449e7 Fixed dist target; added relevant wxX11 files to wxMotif.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 20:23:38 +00:00
Julian Smart
de996ce082 Can switch between clipping code mroe easily
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 20:22:59 +00:00
Julian Smart
ca5020c229 Darkened preview background for Mac (else get stripey background)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 20:18:01 +00:00
Julian Smart
46b24ef914 Have dark colour for preview canvas under Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 20:04:33 +00:00
Julian Smart
feea0f9569 Don't call MakeModal on the Mac -- it leaves
frames with non-working menubars if there
are multiple top-level frames


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 19:48:02 +00:00
David Webster
4b460879a2 Final update to catch the dropping of prop out of generic.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 18:53:01 +00:00
David Webster
0474c6efc6 Get rid of this file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 16:58:21 +00:00
Julian Smart
c4e98b3311 Disabling code that causes display glitch on Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 16:17:42 +00:00
Julian Smart
29676ca095 Part of a patch I forgot to commit previously: demonstrating selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 16:15:30 +00:00
Julian Smart
e8737b66aa Added some items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 16:11:52 +00:00
Julian Smart
f77e1e5d0d Use wxLogTrace instead of wxLogDebug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 16:10:29 +00:00
David Webster
6e348b12dc More OS/2 updates reflecting changes in 24 Branch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 15:47:35 +00:00
Julian Smart
9dff851556 Use sizers, not constraints
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 15:37:44 +00:00
Chris Elliott
95bf19daf8 fix build for watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 12:19:45 +00:00
Chris Elliott
fc17ff87a1 rebuild filelist for borland compiler (datacmn changes)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 11:37:36 +00:00
Julian Smart
94dc12383d Removed old files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-17 09:48:24 +00:00
Václav Slavík
e23279e1a7 fixed memory leak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-16 22:33:54 +00:00
Chris Elliott
8174870699 fix for removal of dosyacc.c
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-16 13:15:09 +00:00
Chris Elliott
3faedeb065 fix for removal of dosyacc.c
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-16 12:01:14 +00:00
Julian Smart
2dab56e91e Added wxAccessible documentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-16 09:40:09 +00:00
Julian Smart
12fddefcbb Removed y_tab.c dependency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-16 07:57:56 +00:00
David Webster
4f5c180eba OS/2 updates to catch the port up with the rest of the library.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-15 21:08:31 +00:00
David Webster
b823f462a1 OS/2 updates for lowercase bool values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-15 21:04:36 +00:00
Stefan Csomor
756c27045d added direct HICommand updating
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-15 19:39:44 +00:00
Vadim Zeitlin
8e7cd32b33 use symbolic constants instead of raw numbers for mouse buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-15 19:00:14 +00:00
Stefan Csomor
249aad307f Skipping Right_down event if generated context menu event is not handled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-15 17:07:27 +00:00
Vadim Zeitlin
753f2cb491 extracted duplicated code from src/*/data.cpp in a common file (forgot to commit before; sorry)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 23:29:09 +00:00
Vadim Zeitlin
eaa6852f39 another update, only 7 untranslated strings left
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 20:17:51 +00:00
David Elliott
68698f0308 When saving the editable state, use the real state (m_editable)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 18:34:06 +00:00
Mattia Barbon
a8680e3e0e Code clanup: removed some useless/unused member
variables/functions from wxWindow; used
wxTranslateMouseEvent instead of duplicating its
functionality.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 17:27:28 +00:00
David Elliott
69dbb7098b Added InitMouseEvent helper method (like wxMSW)
Implemented the following mouse handlers:
mouseDown, mouseDragged, mouseUp, mouseMoved
Added stubs for the following mouse handlers:
mouseEntered, mouseExited, rightMouseDown, rightMouseDragged, rightMouseUp,
otherMouseDown, otherMouseDragged, otherMouseUp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 03:54:32 +00:00
David Elliott
fe802fc2ed Catch and forward the following mouse related events:
mouseMoved, mouseEntered, mouseExited
mouseDown, mouseDragged, mouseUp
rightMouseDown, rightMouseDragged, rightMouseUp
otherMouseDown, otherMouseDragged, oterMouseUp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 03:51:59 +00:00
David Elliott
b67d3706d9 Added NSEvent class for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 03:48:54 +00:00
David Elliott
e5a87141b4 Use (generic) text dialog for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 01:53:55 +00:00
Michael Bedward
d477aa2bb3 Added -w-inl to CFG section to suppress the annoying messages about event and radiobox functions not being inlined.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 01:21:26 +00:00
Vadim Zeitlin
fa275e8648 support raw access to DDBs as well as DIBs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 01:03:41 +00:00
Vadim Zeitlin
8ffc8f1fb9 added debug checks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 01:03:04 +00:00
Vadim Zeitlin
3692b94818 fixes for Win95 (where GetObject(DIBSECTION) is broken)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 00:59:48 +00:00
Vadim Zeitlin
30ad0a1469 don't crash if an image is not found
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-14 00:46:59 +00:00
Julian Smart
4455332266 Test for result of searching for wxID_CANCEL button
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 22:56:09 +00:00
Julian Smart
8d60dc8aa0 Don't use focus if NULL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 22:38:57 +00:00
Vadim Zeitlin
e340193bb6 removed accidentally left #ifdef WATCOM
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 22:11:42 +00:00
Vadim Zeitlin
06d0938900 renamed GlobalHandle class to GlobalPtr to avoid conflict with the Win32 function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 21:58:59 +00:00
Julian Smart
70ddb200c1 Set wxPendingEvents to NULL after deleting it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 21:08:39 +00:00
Vadim Zeitlin
7af64aace1 don't crash in UngetRawData() if it is invalid; fixed rounding errors in alpha premultiplying
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 16:23:40 +00:00
Vadim Zeitlin
878711c01c implemented fallback for AlphaBlend() for the systems not supporting it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 15:59:49 +00:00
Vadim Zeitlin
cc37ebe090 don't return garbage from GetRawBitmap
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 15:58:47 +00:00
Vadim Zeitlin
98ea6b7d6a added missing wxBitmap(w, h, dc) ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 15:52:14 +00:00
Vadim Zeitlin
69440cd26c added the list of supported accelerators
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 15:36:35 +00:00
Vadim Zeitlin
12338247ae better alpha test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 14:11:01 +00:00
Vadim Zeitlin
106c33bb1d fix alpha premultiplying
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 14:09:00 +00:00
Mattia Barbon
a968cb805f Removed conflict markers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 14:07:51 +00:00
Vadim Zeitlin
13c13ecbbf premultiply the colours by the alpha value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 14:02:17 +00:00
Mattia Barbon
e34dcad290 Compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 14:01:28 +00:00
Mattia Barbon
510bf1ec20 Fix wxMotif build.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 13:58:01 +00:00
Vadim Zeitlin
e1b998ce2d no changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 13:55:53 +00:00
Vadim Zeitlin
10b41b53cb added wxBitmap::UseAlpha()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 13:45:20 +00:00
Vadim Zeitlin
bc9f356d52 added test image for alpha
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 13:44:35 +00:00
Stefan Csomor
bfe9ffbc8f supported controls on toolbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 11:57:48 +00:00
Stefan Csomor
c2fa4af423 implemented constructor for rect from point and size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 11:55:25 +00:00
David Elliott
e67cc398eb Include datacmn.cpp in wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 06:29:13 +00:00
David Elliott
b79297d243 Removed everything since it's now in datacmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 06:10:03 +00:00
David Elliott
d5ca66298a Implemented Raise()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 05:40:01 +00:00
Vadim Zeitlin
84a667dc06 fixed unused variable warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 02:22:52 +00:00
Vadim Zeitlin
376b18eac7 fixes necessary for the default GUI log target to be used in Debug mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 02:22:00 +00:00
Vadim Zeitlin
8c9564b392 fixed yet another printf() format warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 02:11:12 +00:00
Vadim Zeitlin
fba1b53b87 fixed printf() format warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 02:08:03 +00:00
Vadim Zeitlin
a25d51afbc fixed a printf() format warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 01:48:17 +00:00
Vadim Zeitlin
f7155274cc fixed a harmless warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-13 01:26:43 +00:00
Václav Slavík
30a8c81ddb backport wxZipFsHandler fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 22:30:48 +00:00
Václav Slavík
a42c2eece0 removed outdated docs (fixes bug #698139)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 22:29:04 +00:00
Václav Slavík
ddaf55663f fixed relative filenames inside ZIP archive
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 22:28:51 +00:00
Václav Slavík
d0b50ad939 better error message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 22:28:13 +00:00
Václav Slavík
5571f3d3d7 applied patch to fix tooltips charset
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:40:48 +00:00
Václav Slavík
e624f5ba66 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:38:30 +00:00
Václav Slavík
1a31de36a4 added LDFLAGS_GL to makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:38:10 +00:00
Václav Slavík
707a378282 compilation fix for gcc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:37:20 +00:00
Václav Slavík
96c0a5167b added Georgian translation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:37:05 +00:00
Stefan Csomor
732b3a752b redraw fixes for OSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:05:17 +00:00
Stefan Csomor
2027c6db5b adaption to deprecated files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 18:03:12 +00:00
Vadim Zeitlin
100cf085fb fixed Moving() documentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 13:16:20 +00:00
Vadim Zeitlin
a364b95710 added Ukrainian translation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 13:15:27 +00:00
David Elliott
7875262d29 DECLARE_WXCOCOA_OBJC_CLASS now declares types as struct objc_object* so that
they are exactly the same type for C++ and Objective-C++ code.  This allows
them to be used as arguments to functions, especially virtuals, because
the C++ name mangling will be the same.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 04:17:37 +00:00
Vadim Zeitlin
89e3b3e448 fixed syntax error in configure.in; regenerated configure after recent changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 01:18:57 +00:00
Vadim Zeitlin
ff101af5b8 Unix OpenGL build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 01:13:07 +00:00
Vadim Zeitlin
021fde89a6 don't suppose that libs GL and GLU arei n the same directory (bug 699289)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 01:11:49 +00:00
Vadim Zeitlin
260d684906 trying to fix threads compilation options: use -Ethreads under UnixWare, don't use -pthreads under IRIX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 01:02:02 +00:00
Vadim Zeitlin
1d2e5548c4 UnixWare compilation fix (explicitly declare pthread_mutexattr_settype)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:53:37 +00:00
Vadim Zeitlin
ef6a2689b4 user dash and container focus patches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:47:45 +00:00
Vadim Zeitlin
918dc51991 fixes return values of wxSemaphore::TryWait() and WaitTimeout() to behave as documented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:43:28 +00:00
Vadim Zeitlin
a5e3c24d7b UnixWare compilation fix (include sys/filio.h)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:35:14 +00:00
Vadim Zeitlin
4a8900f257 added UnixWare recognition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:32:22 +00:00
Vadim Zeitlin
66f2199449 Unixware compilation fix (#undef index)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:22:45 +00:00
Vadim Zeitlin
d26d975463 fixed CheckTransparency() for RGBA images
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:03:16 +00:00
Vadim Zeitlin
7ce4426ae3 2.4 -> 2.5; build in another directory than source one; mention --disable-shared
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-12 00:02:28 +00:00
Vadim Zeitlin
dca9009bcc unstable doesn't mean it crashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 23:56:27 +00:00
Václav Slavík
851ccc357b don't forget to backport manifest and wxLocale fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 23:24:05 +00:00
Václav Slavík
5db932052d added WindowsXP manifest directly into application's resources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 23:22:39 +00:00
Václav Slavík
65dc921d3f don't report setlocale failure if trying to set Unicode-only language
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 23:20:36 +00:00
Robin Dunn
ef4a634b1b Fixed wxMac's wxTextCtrl::SetSelection so that (-1,-1) will select the
entire value like other ports do.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 22:38:56 +00:00
Vadim Zeitlin
4365da58c8 fixed bug with searching in sorted arrays
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 22:05:24 +00:00
Chris Elliott
dc7219d2e1 correct Watcom build instructions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 14:31:24 +00:00
Vadim Zeitlin
6eb37239e0 use on gdk_draw_lines() call instead of multiple gdk_draw_line() ones (patch 717012)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 14:14:23 +00:00
Vadim Zeitlin
e2a5251d01 fixes for user dash handling (patch 717736)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 14:02:32 +00:00
Vadim Zeitlin
3251b83466 containers don't always accept focus (patch 718913)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 13:48:27 +00:00
Julian Smart
bd4a25bc50 Moved wxDateTime::TIME_T_FACTOR into datetime.cpp to
prevent VC++ confusion


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-11 11:01:39 +00:00
Václav Slavík
66010e8d0d don't use deprecated macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-10 23:01:42 +00:00
Vadim Zeitlin
bfe835d075 regenerated with tmake after adding datacmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-10 21:08:29 +00:00
Vadim Zeitlin
6a76384f2d extracted duplicated code from src/*/data.cpp in a common file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-10 20:33:17 +00:00
Vadim Zeitlin
11968fef9c don't use deprecated IntToString function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-10 18:14:38 +00:00
Vadim Zeitlin
e12c92c2f7 moved wxFloat/DoubleToStringStr from src/*/data.cpp to src/common/utils.cpp; took all String <-> Numebr functions inside WXWIN_COMPATIBILITY_2_4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-10 13:08:46 +00:00
Vadim Zeitlin
b1a28eef7c set krc to wxKILL_OK on success
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-10 00:14:17 +00:00
Gilles Depeyrot
19bb2f5bbe if we are not in the main thread, output the assert directly and trap since
dialogs cannot be displayed


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 20:30:33 +00:00
Mattia Barbon
1eb1eae717 Compilation fix (missing headers).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 17:07:25 +00:00
Mattia Barbon
f7f78039d2 Add tests for XShape extension API in configure,
and implements wxTLW::SetShape for wxMotif and wxX11
using the aforementioned extension.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 16:58:33 +00:00
Mattia Barbon
aae0472bf3 Use the wxBitmap implementation from wxX11
in wxMotif; solves various bugs related to wxMask
handling (and effectively adds a lot of wxMask
functionality previously missing).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 16:44:27 +00:00
Julian Smart
507db85d59 Include winable.h for NotifyWinEvent.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 15:16:54 +00:00
Vadim Zeitlin
4f4d07644f update from NY
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 14:48:04 +00:00
Michael Bedward
1eb9ddb9f8 Fixed TARGETDEF usage. Now defined in the parent make to use include a DEF file in the build. Is there some better way of doing this ?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-09 13:19:40 +00:00
Robin Dunn
6d460f765d Turn off all border styles for the inner window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 22:24:14 +00:00
Vadim Zeitlin
20e4242f93 yet another versionof Greek translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 18:51:36 +00:00
Mattia Barbon
c3b3654e9b Compilation fix for !wxUSE_TOOLTIP.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 18:45:38 +00:00
Mattia Barbon
be8a703f96 Removed ".wxr fixes for Unicode" item, since wxr have been
removed from 2.6-to-be, and deprecated in 2.4.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 18:37:30 +00:00
Vadim Zeitlin
59a9a6bcc6 added missing default argument value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 13:52:31 +00:00
Vadim Zeitlin
2e491df9fa printf() format warning fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 11:28:57 +00:00
Vadim Zeitlin
c9ee09924f wxMac doesn't use wxTaskBarIcon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-08 10:53:23 +00:00
Václav Slavík
4eb38db745 backported some things
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 22:17:13 +00:00
Václav Slavík
cf21abe595 deprecated XMLID and friends macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 22:15:03 +00:00
Stefan Csomor
643a0828da explicit app modality in SetModal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 20:37:30 +00:00
David Elliott
376c2fba79 After delete wxPendingEventsLocker; wxPendingEventsLocker = NULL; so that
the wxEvent code doesn't try to use it while cleaning up.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 18:06:46 +00:00
Mattia Barbon
a29c6824c2 Add GetDrawable convenience function that returns m_bitmap
if the wxBitmap is monochrome or m_pixmap if the wxBitmap
is polichrome.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 17:39:00 +00:00
Mattia Barbon
1ca61fa7a7 No sashtest.xbm to be found.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 17:35:22 +00:00
Mattia Barbon
02a48e3b0a Fix some GCC 3.2 -O2 warnings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 17:32:19 +00:00
Mattia Barbon
9ce8d6a2b0 Moved m_visual* wxApp[X11] members used by wxBitmap and
wxColour into a new wxXVisualInfo structure, and moved code
to initialize it to a new src/x11/utilsx.cpp file (utility
functions shared by wxMotif and wxX11).
  Added (currently unused) code in wxMotif to
retrieve wxXVisualInfo; it will be used when wxMotif
is switched to bitmap.cpp from wxX11.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 17:15:11 +00:00
David Elliott
13fc3db40e Do some sanity checks in DoDrawText to make sure we actually have some glyphs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 04:04:10 +00:00
David Elliott
ce50c4d1c6 Added stub for wxIcon(const char **xpm)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 03:38:12 +00:00
David Elliott
2894667fa4 Relocate DeviceToLogical[XY], add stub for LogicalToDevice[XY]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 03:31:38 +00:00
David Elliott
64440d7734 Added preliminary resource fork support for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 03:14:35 +00:00
David Elliott
de6dab5f7c Allow wxUSE_DIRDLG and wxUSE_TREECTRL for wxCocoa (both are generic)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 03:05:24 +00:00
David Elliott
01f5f03e7f X11-specific code doesn't work so well on wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 02:57:12 +00:00
David Elliott
8d0eaedd07 Use the generic tree control for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 02:49:17 +00:00
David Elliott
b400d50ac6 There is no task bar icon for Cocoa (yet).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 02:21:10 +00:00
David Elliott
6c342f3ff1 Whoops! Might want the headers too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 01:44:11 +00:00
Vadim Zeitlin
e40bef9f54 option for using DirectX in wxDisplay
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 00:38:06 +00:00
Vadim Zeitlin
06efac1f8d support for optionnally using DirectX for display manipulations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-07 00:30:18 +00:00
Julian Smart
d515343ca2 Removed redundant fixme comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 20:47:59 +00:00
Mattia Barbon
b229c8a911 Remove (now) pointless checks for __WXX11__/__WXMOTIF__ in
src/x11/utils.cpp and src/motif/utils.cpp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 20:39:45 +00:00
Julian Smart
06cc1fb991 Applied [ 716064 ] Second part of wxFileCtrl & wxDirCtrl patch
by John Labenski


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 19:57:51 +00:00
Vadim Zeitlin
5015e02267 fix bug with not accepting write-only formats in d&d
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 19:40:54 +00:00
Vadim Zeitlin
673e612079 merged 2 overloaded functions into a single membersections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 18:37:06 +00:00
Julian Smart
409bd44e7b More patches done
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 17:59:59 +00:00
Vadim Zeitlin
efa14cf20a added assert to check that notebook page does have notebook as parent; removed duplicated AddPage()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 17:46:48 +00:00
Julian Smart
01562b11f2 Applied some of them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 15:48:34 +00:00
Julian Smart
edb247200c Reordered functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 15:14:50 +00:00
Julian Smart
5ae8a62ccf Removed backported fix from toback24.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 11:38:43 +00:00
David Elliott
1f6c4d4746 Changed dc.cpp to dc.mm and dcclient.cpp dcclient.mm for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 00:55:41 +00:00
David Elliott
891d0563f7 Replace dc.cpp with dc.mm and dcclient.cpp with dc.mm
Update app.mm to call wxDC text system startup and cleanup code


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 00:54:38 +00:00
David Elliott
ec4e4a1415 Use the wxStaticBox::GetBordersForSizer method to get border information
on wxCocoa.  Perhaps the other ports should do this?


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-06 00:51:44 +00:00
David Elliott
2ace5cf632 Added GetBordersForSizer(int *bordertop, int *borderOther)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 23:26:30 +00:00
David Elliott
ddf7346ac0 Commented out most the the wxLogDebug
Basic implementation of Refresh() does not take into account eraseBack or Rect


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 23:23:50 +00:00
David Elliott
c29e274378 Cocoa still uses the generic file dialog (see include/wx/filedlg.h)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 23:16:34 +00:00
David Elliott
82de126c11 Added declarations for NSLayoutManager, NSTextContainer, and NSTextStorage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 23:06:24 +00:00
Václav Slavík
842f5c94c9 regenerated makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 22:30:39 +00:00
Václav Slavík
fb29dcac01 partially working wxTaskBarIcon for X11
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 22:27:47 +00:00
Václav Slavík
3eae0c0b43 added taskbarcmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 22:25:36 +00:00
Václav Slavík
4f5583b5c5 removed obsoleted virtuals from docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 22:22:01 +00:00
Václav Slavík
4bc6471261 updates to taskbar sample to use events instead of virtuals and work under Unix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 22:20:52 +00:00
Julian Smart
b78ce094c7 Fix for getting all frames from GIF animation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 18:59:50 +00:00
Mattia Barbon
62ad3cb358 Derive wxBitmap from wxBitmapBase.
Move code from LoadFile/SaveFile/Create* to
bitmap handlers.
  Implemented wxBitmap::GetSubBitmap.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 12:11:05 +00:00
Julian Smart
b71e94da10 Added a const for CW compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 10:38:18 +00:00
Chris Elliott
833e610da7 fix accidental overwrite of Makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 10:34:19 +00:00
Julian Smart
a2f9a63688 APplied patch [ 705301 ] Don't send event for wxSplitter::Unsplit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 10:33:10 +00:00
Chris Elliott
ddea7eb614 changes to watcom makefiles for OpenWatcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-05 10:14:07 +00:00
Václav Slavík
6344162a81 removed files with empty stubs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-04 23:00:08 +00:00
Václav Slavík
f5b1bb5e76 preparation for X11 wxTaskBarIcon version:
1. moved events to common file from MSW specific
2. deprecated virtual functions in favour of event handlers
3. removed taskbar.cpp files from port that don't implement it


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-04 22:47:58 +00:00
Václav Slavík
6af507f77e preparation for X11 wxTaskBarIcon version:
1. moved events to common file from MSW specific
2. deprecated virtual functions in favour of event handlers
3. removed taskbar.cpp files from port that don't implement it


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-04 22:33:47 +00:00
Robin Dunn
4e6beae5ec Handle checkable items the right way in all cases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-04 22:21:38 +00:00
Julian Smart
0a2c03984a Applied [ 714756 ] Clean warnings on build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-04 13:13:46 +00:00
Roger Gammans
a967f0480b * rename maxOnOverflow parameter to CoordToRowOrCol() to clipToMinMax
* ensure CoordToRowOrCol() range is  0 -> nMax if clipOnMinMax is set
                                and -1 -> nMax if clipOnMinMax is not set

 * check on uses of YToRow() / XToCol() and replace with
   calls internalYToRow() / internalXToCol() removing any external
   overflow handling where appropriate.

 * Add tests for overflow to prevent sending 'off grid' label events,
   would be indistinguishable from CornerLabel events.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 21:14:07 +00:00
Robin Dunn
02822c8cdf Correction to my new menu code: handle submenus on menubar menus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 21:01:52 +00:00
Vadim Zeitlin
6568015373 start of Greek translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 20:54:58 +00:00
Robin Dunn
a01fe3d6d2 Fixed menu event propogation to be consistent across platforms, and
with the docs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 18:39:20 +00:00
Julian Smart
91ce04cf9e Fixed OnSetCursor for Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 18:17:05 +00:00
Julian Smart
e5c4c38b5d Applied patch [ 709618 ] fixes drawing position in wxPrinterDC::DoBlit()
wxPrinterDC::DoBlit() in current CVS is drawing to the
source coords rather than the dest coords. This patch
corrects that.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 13:19:15 +00:00
Julian Smart
23254b138a Applied patch [ 708582 ] wxGenericFileDialog & expose generic wxFileCtrl
By John Labenski (jrl1)

The wxFileCtrl is a nice little widget that when
married with a wxDirCtrl makes for a simple, easy to
use explorer type widget.

include/wx/generic/filedlgg.h, src/generic/filedlg.cpp

Expose wxFileData and wxFileCtrl, rename wxFileDialog
to wxGenericFileDialog, it can be used in MSW now.

wxFileCtrl - added sorting for clicking in the col headers.
let wxGenericFileDialog manage it's own static text.
allow for viewing of root (for showing drives) in MSW
wxFileData - moved enum for wxFileCtrl col's into it.
added IsDrive and use bitmask instead of a slew of
bools for IsDir...

A couple bug fixes for wxFileCtrl for MSW, c:\.. is not
a file and can't be stated, show drives.

Basicly its the same as before, with no change besides
sorting for GTK. For MSW, the wxFileCtrl works in a few
more cases, hopefully all the MGL etc code was
untouched and should still work.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 13:10:08 +00:00
Julian Smart
72c30d6572 Applied patch [ 706329 ] [wxMac] Fixes wxGetLocalTimeMillis
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 13:01:59 +00:00
Julian Smart
715d7d25b3 Applied patch [ 708016 ] Setup0.h updated according wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 12:58:46 +00:00
Julian Smart
5a618a14c6 Applied patch [ 708377 ] Make NET (smapi.cpp) UNICODE compatible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 10:42:56 +00:00
Julian Smart
333a6456b9 Fixed the wxX11 crash bug on opening a dialog that has a parent,
by only refreshing subwindows that are not top level windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 10:20:46 +00:00
Julian Smart
695c21b118 Unicode-enabled the STC sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-03 09:09:06 +00:00
Vadim Zeitlin
736f28f8d8 corrected description of auto-created wxConfig ownership (patch from bug 706868)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 23:20:21 +00:00
Vadim Zeitlin
49fca29840 backport wxFileConfig fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 22:16:59 +00:00
Vadim Zeitlin
128e0251fe fixed problem of deleting an entry added to an initially empty root group
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 22:16:23 +00:00
Vadim Zeitlin
3908fe9b00 corrected a slightly confusing wxTE_LEFT/CENTRE/RIGHT styles description
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 21:21:25 +00:00
Mattia Barbon
d03bb63c48 Remove dulicated call to wxBitmap::Init/CleanupStandardHandlers,
which is already called from a module in bmpbase.cpp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:59:59 +00:00
Mattia Barbon
be05eab690 wxMotif does not have wxBitmapDataObject.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:57:48 +00:00
Mattia Barbon
6799385e8c Partial fix for mono wxMemoryDC not working.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:55:33 +00:00
Mattia Barbon
395cb311cf Remove deprecated methods use.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:52:47 +00:00
Mattia Barbon
236de6f62a No real change.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:50:21 +00:00
Mattia Barbon
59e034c034 Make wxIcon more independent from wxBitmap implementation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:48:57 +00:00
Mattia Barbon
70aac632a1 Some updates for wxMotif documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 20:46:36 +00:00
Julian Smart
739e366ac9 Applied patch [ 705212 ] wxTextCtrl::SetSelection() for wxGTK2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 17:55:42 +00:00
Mattia Barbon
2408a0d514 Regenerated configure scripts.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 17:18:40 +00:00
Julian Smart
8dda7c0c48 Applied [ 703017 ] TreeCtrl sample build fails when using generic control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 14:40:35 +00:00
Julian Smart
5e7ea8ebb2 Correction to last patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 14:25:23 +00:00
Julian Smart
3037523a7c Applied patch [ 700313 ] Allow wxUSE_OWNER_DRAWN = 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 14:18:51 +00:00
Julian Smart
873a543b62 Applied [ 700293 ] FL Unicode patches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 14:14:13 +00:00
Julian Smart
db657fb29a Removed treectrl.h inclusion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 13:54:01 +00:00
Julian Smart
6e9b4c7659 Applied patch [ 694561 ] FL Release build DLL include path
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 11:15:10 +00:00
Julian Smart
083f7497d3 Applied some of patch [ 688466 ] MSVC7 build & bug fixes
by Darren Whobrey


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 11:10:37 +00:00
Stefan Csomor
baf3431445 better spacing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 08:32:19 +00:00
Stefan Csomor
aa812de01b setting origin to printable area for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-02 08:21:29 +00:00
David Elliott
8ea5271ee7 Implemented wxWindowCocoa::Cocoa_drawRect
Implemented drawRect override in wxPoserNSView
Declared pure virtual wxCocoaNSView::Cocoa_drawRect
Made wxWindowCocoa::Cocoa_FrameChanged protected (unrelated)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-01 17:59:54 +00:00
David Elliott
edd2522079 Changed defined(__DARWIN__) to (defined(__DARWIN__) && defined(__WXMAC__))
wxGTK running on Darwin certainly can not use the CF process callback
and I don't plan for wxCocoa to use it either.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-01 17:16:59 +00:00
David Elliott
b0abe9eeec Removed deprecated parser.o from cocoa.t, reran tmake
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-01 16:44:48 +00:00
David Elliott
a6bc93cc74 Wrap file with #if wxUSE_SPINBTN instead of #if 1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-04-01 15:50:40 +00:00
Václav Slavík
5c451707f3 XRC's unknown widget container handles removal of the widget now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 22:02:15 +00:00
Mattia Barbon
973ac5bbb2 Regenerated some more makefiles/filelists.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 19:33:06 +00:00
Mattia Barbon
dfa2a1d92b Removed Motif files that only contained stubs
for functionality that is:
1 - not Motif, but rather OS/WM specific:
    wxJoystick, wxWave, wxTaskBarIcon
2 - not provided natively by Motif:
    wxColourDialog, wxFontDialog, wxDirDialog,
    wxMetafile
3 - obsolete: wxTab*
4 - cruft: helpxxxx.h/cpp

  Regenerated configure and some filelist.txt-dependent
files.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 19:23:10 +00:00
Mattia Barbon
e8508ea8a8 Removed a deprecated wxBitmap constructor, and some
more deprecated code. Move XCreateInsensitivePixmap to
bmpbase.cpp (another step towards removing
src/motif/bitmap.cpp).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 18:53:47 +00:00
Mattia Barbon
01772f64db Fix filelist.t to work with the packaged tmake.exe, which
does not include 'lib.pm'.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 18:49:50 +00:00
Julian Smart
df32effb39 Added 'deprecated' files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 16:19:31 +00:00
Julian Smart
3b69115cba More deprecated code updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 14:46:00 +00:00
Julian Smart
965b4f87d9 Removed old classes and functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 14:00:53 +00:00
Julian Smart
170e293d9f Added distrib file for deprecated classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 10:27:41 +00:00
Julian Smart
7c9955d147 More deprecated class mods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 10:24:36 +00:00
Julian Smart
f2638c97a5 Deprecated lib tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-31 08:09:56 +00:00
Julian Smart
2fc9385a2c Removing deprecated classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 22:47:33 +00:00
Julian Smart
642067e02a Removed treelay sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 22:21:37 +00:00
Julian Smart
7cb81afa43 Removed proplist sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 22:19:25 +00:00
Julian Smart
4b78db237a Removed resource sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 22:14:53 +00:00
Julian Smart
c6dafd93ca Deprecated library mods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 21:55:34 +00:00
Julian Smart
3e3a8c40c5 Added project file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 21:27:31 +00:00
Julian Smart
82e20720c9 Deprecated classes manual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 21:21:33 +00:00
Julian Smart
f3aa39c7ac Makefile for deprecated samples
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:48:54 +00:00
Julian Smart
4a3bdee6a9 New location for some deprecated files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:47:55 +00:00
Julian Smart
820893d0d4 New location for more samples
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:36:46 +00:00
Mattia Barbon
ed0c2af3ab No real changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:36:03 +00:00
Julian Smart
07831c160b New location for proplist sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:35:27 +00:00
Mattia Barbon
66f8b9ace2 Moved wxWindow::SetSizeHints implementation to wxTopLevelWindow,
where it belongs, verified that it works for wxDialog, too.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:34:51 +00:00
Mattia Barbon
ccb234b4d0 Inherit LoadFile and SaveFile from wxTextCtrlBase, reduce
flicker caused by SetValue (the text itself still flickers a
bit, but now borders don't).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:32:00 +00:00
Mattia Barbon
fdfd5d49eb Removed dependency on wxTabView.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:29:14 +00:00
Mattia Barbon
79fb264130 More native look for wxSpinButton.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:23:10 +00:00
Mattia Barbon
973451afc6 Add bmpmotif.cpp to descrip.mms.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:20:39 +00:00
Mattia Barbon
8768548b81 Create dialog with the correct style.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:18:56 +00:00
Mattia Barbon
b1823f8b46 Applied patch [ 702254 ] Life: Fix to page scrolling
from Hugh Gibson.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 19:14:00 +00:00
Václav Slavík
d003330ce4 attempt to fix platform property problem on MacOSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-30 15:56:31 +00:00
Stefan Csomor
31907d0307 unicode and __MACH__ additions for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 15:50:13 +00:00
Stefan Csomor
1940f66914 switching to as many MSL wchar implementations as possible for wxMac unicode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 15:44:56 +00:00
Stefan Csomor
64407854c1 cursor event support for mac activated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 15:40:46 +00:00
Stefan Csomor
ed4e170a7a mac unicode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 15:39:14 +00:00
Stefan Csomor
3470af1c9a fixed missing Idle events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 15:07:37 +00:00
Vadim Zeitlin
1cbf0cc6d3 start of Japanese translation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 14:43:02 +00:00
Vadim Zeitlin
085c26ac14 updated Japanese translation, minor changes to the code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 14:19:46 +00:00
Julian Smart
4a9dba0e56 Copyright cleanup
Added shaped sample to scripts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 13:53:55 +00:00
Julian Smart
f0f7bd8a4f Copyright cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 13:48:25 +00:00
Václav Slavík
6a87168b30 fixed bug #708570: Request 'silver' be allowed as a XPM value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-29 10:19:32 +00:00
Robin Dunn
3b3ca9beb8 Typo and compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 23:56:19 +00:00
Robin Dunn
dd1eb4e315 Compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 23:35:47 +00:00
Robin Dunn
2a73612989 Added wxTLW::SetShape and implementations for wxGTK, wxMSW and an
empty stub for wxMac.
Added some generic helpers and a new ctor to wxRegion.
Added samples/shaped.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 23:34:06 +00:00
Robin Dunn
1542ea396a Added wxTLW::SetShape and implementations for wxGTK, wxMSW and an
empty stub for wxMac.
Added some generic helpers and a new ctor to wxRegion.
Added samples/shaped.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 23:05:05 +00:00
Stefan Csomor
7728856b75 simplified definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 20:57:33 +00:00
Stefan Csomor
69a3ae88fc better mb2wc conversions for mac unicode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 20:55:23 +00:00
Stefan Csomor
2d2ed20f7b mach-o addition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 19:18:51 +00:00
Vadim Zeitlin
a1e71b1032 warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 17:41:02 +00:00
Stefan Csomor
2c1a331259 unicode fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 17:30:20 +00:00
Stefan Csomor
84e7f94cb0 mach targets added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 16:26:15 +00:00
Stefan Csomor
e49079b2ab no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 15:36:41 +00:00
Vadim Zeitlin
34415ceaac backport wxFileConfig::DeleteEntry fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 15:32:46 +00:00
Vadim Zeitlin
7e0777dabb added test for wxFileConfig::DeleteEntry
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 15:28:57 +00:00
Vadim Zeitlin
3362e80e71 fixed deleting entries at root level
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 15:25:50 +00:00
Stefan Csomor
a2facb9415 bundle icon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 15:22:08 +00:00
Stefan Csomor
e9a86b3c00 version support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 15:19:47 +00:00
Julian Smart
fe9c9eb022 Removed pointless Salford C++ support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 09:46:09 +00:00
Julian Smart
61bfe4b0ca Use wxDateTime
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-28 09:15:01 +00:00
Václav Slavík
5175dbbd9f fixed DrawTextFormatted to work in O(n) instead of O(n^2) if the text doesn't fit into the column
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 23:21:47 +00:00
Stefan Csomor
427ff66291 wxMac Unicode support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 20:33:32 +00:00
Stefan Csomor
44c44c82a3 wxMac Unicode support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 20:21:51 +00:00
Mattia Barbon
3dd709d8c3 FIxed wxRadioBox::Get/SetLabel.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 20:17:27 +00:00
Stefan Csomor
c4e41ce37a wxMac Unicode support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 20:14:39 +00:00
Václav Slavík
76806f5906 fixed loading of resource from ZIP files on MacOS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 20:06:20 +00:00
Mattia Barbon
aae91497f6 Removed some old cruft from wxBitmap, moved wxMotif- and
wxControl-specific functionality (GetXXXPixmap) into a separate
class, and fixed the implementation. Adapted wxStaticBitmap,
wxBitmapButton and wxToolBar to the new situation.
  Various fixes to wxToolBar: Realize does not create buttons
multiple times anymore, use the disabled bitmap as the disabled
bitmap, not as the toggled bitmap for toggle buttons (!),
reposition buttons/controls when a tool is removed/deleted.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 19:40:32 +00:00
Mattia Barbon
fc7ca9b347 Made wxMotif Move/SetSize/DoMoveWindow/DoSetSize
behaviour more consistent with other ports. As a side effect
now wxCalendarControl works correctly under wxMotif, too.
  Fixed wxWindow::ScrollWindow drawing artifacts when child
controls are involved.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 19:34:10 +00:00
Vadim Zeitlin
9ec1ed2a7e corrected the test for number of processors under Linux
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 13:00:04 +00:00
Robin Dunn
2b9e4799b9 SWIGged updates for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 22:46:58 +00:00
Robin Dunn
3856ee0ba4 SWIGged updates for wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 22:46:07 +00:00
Robin Dunn
3100de9921 SWIGged updates for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 22:45:47 +00:00
Mattia Barbon
2187eef5bb Calling a virtual function from a destructor is not good:
rearranged code to avoid it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 22:22:55 +00:00
Mattia Barbon
d8d1818419 SetSelection must not send an event. Fixed an off
by one index, and a crash (probably a Motif bug).
  Improved wxSpinButton appearance.
  Fixed some build warnings here and there in the samples,
removed use of deprecated wxList methods in prntdlgg.cpp, fixed
aot-of-range ID in tipdlg.cpp, fixed some errors detected by
valgrind.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 22:20:59 +00:00
Robin Dunn
6789bce964 Typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 21:58:31 +00:00
Robin Dunn
e0fb15a1c3 wxMac uses wxCursors now too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 21:57:43 +00:00
Robin Dunn
2d13837901 GetValue is pure virtual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 20:49:14 +00:00
Robin Dunn
bf78c81c04 wxImageHistogram needs WXDLLEXPORT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 20:43:09 +00:00
David Elliott
8b611f0eb2 Wrap file with #if wxUSE_SLIDER ... #endif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 19:59:07 +00:00
David Elliott
8dfc2d9896 Use #if wxUSE_GAUGE instead of #if 1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 19:56:29 +00:00
Mattia Barbon
ba2fcb0711 Fix wxSocket under wxMotif.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 18:32:58 +00:00
Mattia Barbon
51d5ec5408 Compilation fix for non-PCH compilers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 18:31:33 +00:00
David Elliott
c176a11a0e Changed #if wxUSE_NEW_GRID to #if wxUSE_GRID (there is no more new grid)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 18:09:28 +00:00
David Elliott
27397d6682 Implement wxExecute with proper callback on Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 17:53:12 +00:00
David Elliott
c8023fed76 - Added wxAddProcessCallbackForPid function
- Don't create pipeEndProcDetect on Darwin
- Initialize the wxEndProcessData before installing the callback
- Implement wxAddProcessCallbackForPid for Darwin, the code started life
  as an example from ADC and certainly has its fair share of race
  conditions, but with a few hacks it seems to be working okay.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 17:46:14 +00:00
Julian Smart
9c712743cb Correction to splittree; removed newgrid sample reference from index.htm
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 14:13:07 +00:00
Vadim Zeitlin
e08a9b55e6 finally this translation uses traditional Chinese, not simplified (renamed old zh_CN)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 11:13:04 +00:00
Robin Dunn
a95e8d8b8c wxMac does need radiocmn
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 04:10:06 +00:00
Robin Dunn
9cbf6f6ea3 Tweaks for various diffs from 2.4.0 to current HEAD
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 01:41:21 +00:00
Robin Dunn
fc0821b650 Fix broken binaries...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-26 01:26:38 +00:00
Robin Dunn
7e50db3f1d SWIGged updates for wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 21:53:30 +00:00
Robin Dunn
7108497a54 SWIGged updates for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 20:37:50 +00:00
Julian Smart
1adff2f56f Use virtual functions to help splittree work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 18:49:34 +00:00
Robin Dunn
26b8693ba5 fixed compile error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 17:10:57 +00:00
Vadim Zeitlin
446a798ddc renamed Catalan and Chinese translations to the correct names
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 11:47:45 +00:00
Julian Smart
bcd44ac1b0 Removed odbc.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 11:46:29 +00:00
Robin Dunn
230e09add6 Added file for xrc splitter support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 07:06:20 +00:00
Robin Dunn
b67a932778 SWIGged updates for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 07:04:05 +00:00
Robin Dunn
b9ac87bc5c Removed deprecation warnings in OGL and Gizmos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 06:58:05 +00:00
Robin Dunn
1e4a197e4c Merged wxPython 2.4.x to the 2.5 branch (Finally!!!)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 06:35:27 +00:00
Vadim Zeitlin
9b4e3f352b call wxApp::OnExit() when wxExit() is called and don't do wxLogError from it (replaces patch 709142)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 01:51:11 +00:00
Vadim Zeitlin
f0fe27a041 added Catalan translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 23:12:45 +00:00
Vadim Zeitlin
d80f416f62 use StretchDIBits() if we're drawing a DIB and not a DDB in Blit()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 23:10:41 +00:00
Vadim Zeitlin
2f52b4e15c use wxDIB class instead of duplicating DDB -> DIB conversion code once again (aaaargh, just how many copies of the same code with slightly different bugs in each case can we have??)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 23:07:53 +00:00
Vadim Zeitlin
cdd732de07 added test for Remove() and Replace() (patch 705051 from Nerijus)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 23:04:38 +00:00
Vadim Zeitlin
581ee8a9c5 implemented Remove() and Replace() for GTK2 (patch 705051 from Nerijus)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 23:03:19 +00:00
Vadim Zeitlin
82ac3b0a42 wxDIB::Create(wxBitmap) shouldn't do any conversions if the bitmap is already a DIB section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 22:58:50 +00:00
Vadim Zeitlin
9cf743aa7f oops, forgot default value for MemoryHDC ctor parameter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 22:48:54 +00:00
Vadim Zeitlin
697b08a89a MemoryHDC can now be used to create DCs compatible with arbitrary DCs and not just the screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 22:32:56 +00:00
Vadim Zeitlin
a8beba7230 fixed converting BI_BITFIELDS bitmaps to DIBs (fixes 589416)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 22:08:53 +00:00
David Elliott
a6b4ff2e62 Set the m_isShown flag appropriately from Show()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 21:41:49 +00:00
David Elliott
d449cf47c3 Use m_dummyNSView if necessary to get the superview frame for DoMoveWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 21:09:51 +00:00
Julian Smart
f40f9976fd Applied patch [ 705663 ] Fix capture mouse bug in wxGrid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 21:00:11 +00:00
David Elliott
548dd93d7d Create an NSView in leiu of a radio box
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:55:15 +00:00
David Elliott
981af57ccf Create an NSView in leiu of a real listbox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:53:59 +00:00
David Elliott
576a15443d Use m_dummyNSView (if it exists) in place of m_cocoaNSView to retrieve the
superview's frame rectangle and this NSView's frame rectangle.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:38:40 +00:00
Vadim Zeitlin
0bcd741653 added wxTextBuffer::Clear() (patch 706188)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:37:27 +00:00
Vadim Zeitlin
5460b9e30b added non-const begin()/end() methods to wxString (patch 696842)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:32:55 +00:00
Vadim Zeitlin
17dd9caaa5 print dialogs ignore user paper settings in non C locale (patch 696835)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:31:24 +00:00
David Elliott
c1f7d193f6 CocoaRemoveFromParent can (and will) be called when !m_cocoaNSView.
However, if there is m_dummyNSView then there must be m_cocoaNSView.
Therefore, moved wxASSERT(m_cocoaNSView) inside if(m_dummyNSView)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 20:00:22 +00:00
Vadim Zeitlin
2b17e39106 don't unselect all radio buttons if there are 2 consecutive radio groups, just those in the second one, when its first button is pressed (bug 705441)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:54:13 +00:00
David Elliott
d5f229692e Create an NSView (in leiu of a real static line)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:34:48 +00:00
David Elliott
a8c80eb142 Create an NSView (in leiu of a real static bitmap class)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:33:50 +00:00
Vadim Zeitlin
72ad377f13 Unicode compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:33:40 +00:00
Julian Smart
85b0fd7098 Reverted iodbc removal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:25:03 +00:00
Vadim Zeitlin
925f154dac added a check for allowed id value (bug 690910)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:21:08 +00:00
Vadim Zeitlin
da32743f22 calling SetValue(GetValue()) didn't reset the modified flag (bug 678391)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 19:00:04 +00:00
Vadim Zeitlin
c5c04fabb0 fix Alt-letter navigation with spin controls (bug 672974)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 18:55:42 +00:00
Julian Smart
d8103d31f7 Removing newgrid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 18:51:36 +00:00
Julian Smart
f7556ff05f Removed old grid code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 18:50:10 +00:00
Vadim Zeitlin
41aebd5d79 backport fix for bug 672894
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 18:19:34 +00:00
Vadim Zeitlin
0fa939c29a draw multiline labels in owner-drawn buttons correctly (fixes 672894)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 18:18:05 +00:00
Julian Smart
c5f5e891ec Fix by Milan Babuskov <albis@eunet.yu> in MovePageUp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 17:21:57 +00:00
David Elliott
acbf95340f - Remove wxTopLevelWindowCocoa from the wxRTTI class hierarchy
- DECLARE_NO_COPY_CLASS(wxTopLevelWindowCocoa);


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 17:06:28 +00:00
David Elliott
08af0d25f9 !defined(wxUSE_TOOLBAR_NATIVE) changed to !wxUSE_TOOLBAR_NATIVE because the
configure script does define it to 0, not undef it (wxCocoa is using this)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 16:50:23 +00:00
David Elliott
9b4d9d5638 Enable the choice dialog on wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 16:07:34 +00:00
Julian Smart
09f6516cda Remove Install
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 14:19:03 +00:00
Julian Smart
8c9a1303d8 Removing Install
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 14:15:19 +00:00
Julian Smart
fa7e240226 Removing Install
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 14:07:30 +00:00
Chris Elliott
4b1f929cc3 fix bug in Borland (bcc32 really hates ?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 12:47:41 +00:00
Chris Elliott
4c49b5d83e fix bug in Borland (bcc32 really hates ?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-24 08:44:08 +00:00
Vadim Zeitlin
810f173e8d removed wxUSE_IMAGE_LOADING_IN_MSW and wxUSE_RESOURCE_LOADING_IN_MSW settings, they're not used any more
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 21:36:43 +00:00
Vadim Zeitlin
2b254edf9c added wxDIB::Save() and wxDIB to/from wxBitmap) conversions, use them instead of the old C functions (the latter were removed, there is no old code left any more)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 21:33:21 +00:00
Julian Smart
26f0e9e2e4 Removed spurious spawnbrowser.h/cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 20:42:04 +00:00
Vadim Zeitlin
563e3ecb6c use call tmake to invoke tmake
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 20:38:52 +00:00
Vadim Zeitlin
51a2a728e5 added GlobalHandle
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 20:36:51 +00:00
Julian Smart
f7292ebeba Removed obsolete ODBC classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 20:34:36 +00:00
Chris Elliott
2f8b6a1dcc fix reference to obsolete b32univ file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 20:26:05 +00:00
Julian Smart
2ab25aca26 Removed obsolete wxDate and wxTime classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 20:14:19 +00:00
Julian Smart
621b931778 Klaas Holwerda <kholwerd@xs4all.nl> contrib/src/canvasOBSOLETE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 19:09:28 +00:00
Julian Smart
6ceef8efe9 Removed obsolete library.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 19:06:57 +00:00
Julian Smart
ce109c530a Removed gaugemsw.cpp,h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 18:52:29 +00:00
Julian Smart
6aa855b9ec Removed 16-bit gauge code (Microsoft)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 18:49:12 +00:00
Julian Smart
767ed8fd8c Removed dibutils
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 18:35:37 +00:00
Vadim Zeitlin
40c79fab3a use wxCLOSE_BOX for MyImageFrame
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 18:02:05 +00:00
Vadim Zeitlin
da9df1f51e added copying images to/pasting them from clipboard tests
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 17:48:42 +00:00
Vadim Zeitlin
22be0335df got rid of more duplicated code for working with DIBs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 15:51:37 +00:00
Vadim Zeitlin
5cb0f77dfe removed unneeded #include dib.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 15:46:50 +00:00
Mattia Barbon
3bb70c4026 Add missing header.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 15:12:41 +00:00
Mattia Barbon
8f4b6405ff wxMotif does not have support for raw bitmaps.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 15:09:48 +00:00
Mattia Barbon
3c5bd1886a Added missing comma.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 15:07:48 +00:00
Mattia Barbon
1201b3ef40 Updated TODO and ISSUES.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 15:06:17 +00:00
Vadim Zeitlin
f2bb16493d removed GetBitmapForDC() and supporting functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 14:27:34 +00:00
Vadim Zeitlin
0b2e45b162 regenerated the makefiles with the latest filelist.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 01:56:46 +00:00
Vadim Zeitlin
474df21877 use wxDIB methods instead of old functions for working with DIBs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 01:49:19 +00:00
Vadim Zeitlin
7fd328a34d use wxBitmapToHICON/CURSOR()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 01:48:15 +00:00
Vadim Zeitlin
c11bf84234 added CreateDDB() and CreatePalette()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 01:46:31 +00:00
Vadim Zeitlin
b0ea5d9603 added CopyFromDIB()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 01:45:37 +00:00
Vadim Zeitlin
a2f10a1768 removed curico files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 01:16:20 +00:00
Vadim Zeitlin
42b6a61ef6 Win16 cursor/icon functions are not needed any longer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-23 00:00:16 +00:00
Vadim Zeitlin
211b54b109 added wxBitmapToHICON/CURSOR helper functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 23:47:06 +00:00
Vadim Zeitlin
d1bf777402 suppress error messages when loading msimg32.dll
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:13:13 +00:00
Vadim Zeitlin
d35cb50456 update from Janos Vegh
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:12:44 +00:00
Vadim Zeitlin
b3f04dc2b2 test raw bitmap access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:10:09 +00:00
Vadim Zeitlin
f28e099ec3 added (very) preliminary raw bitmap support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:09:33 +00:00
Vadim Zeitlin
2cf45d6944 modifications for raw bitmap support and for using DIBs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:02:05 +00:00
Vadim Zeitlin
bbc1265c40 create the DIBs in correct (and not down up) line order
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19709 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:01:27 +00:00
Vadim Zeitlin
916b0ea345 added (very) preliminary raw bitmap support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 19:00:48 +00:00
Vadim Zeitlin
60a68e0024 backport Chinese locale fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 17:43:04 +00:00
Mattia Barbon
4d53042a6a Removed unnecessay code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 16:12:30 +00:00
Mattia Barbon
93e73c740e Do not derive wxCursor from wxBitmap, plus misc cleanup.
Derive wxGauge from wxGaugeBase, use XmScale for the
implementation if the Motif version supports the
XmTHERMOMETER style.
  Derive wxSlider from wxSliderBase; generate
wxEVT_SCROLL_THUMBRELEASE in addition to wxEVT_SCROLL_THUMBTRACK;
misc cleanup.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 15:46:22 +00:00
Václav Slavík
13de23f6d8 XRCID lookup now handles standard IDs correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 13:48:29 +00:00
Vadim Zeitlin
55427034af added GetName(), rearranged methods in alphabetic order
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 13:42:16 +00:00
David Elliott
ac4eaadf80 Use wxBitmapBase in wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 07:45:38 +00:00
David Elliott
bc85826802 Regenerated by tmake: added all the cocoa source files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 07:15:48 +00:00
David Elliott
178b5412d1 Added wxCocoa files to build system
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 07:10:44 +00:00
David Elliott
8029fe033c Use generic MDI for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:40:47 +00:00
David Elliott
e64df9bcc3 Include wxCocoa specific header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:18:36 +00:00
David Elliott
0201182bf5 Use generic implementation for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:13:03 +00:00
David Elliott
51a8edc7e6 Use the generic timer for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:07:53 +00:00
David Elliott
1a4ebaf865 Use the generic palette for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:07:11 +00:00
David Elliott
9a7324a6d9 Use the MSW/Mac font encoding info for wxCocoa (just to make wxCocoa compile)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:05:41 +00:00
David Elliott
e0ea95b6f7 Use generic font dialog for wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:03:07 +00:00
David Elliott
f4515f987d - forward declare wxDC for use as a pointer or reference parameter in
wxDCBase methods
- Include wxCocoa specific header


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 06:00:12 +00:00
David Elliott
fed66a8797 - Modify #if to include wxCocoa as a platform using wxBitmapBase
- Include wxCocoa specific header


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 05:57:18 +00:00
David Elliott
ab590906ba - Include wxCocoa specific header
- Use the normal UNIX IMPLEMENT_WXWIN_MAIN macro


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 05:55:53 +00:00
David Elliott
a24aff654f FIXME: Complete stubs or other cruft necessary to make wxCocoa build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 02:56:04 +00:00
David Elliott
812edc2530 Added more files containing original code and empty stubs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 02:38:01 +00:00
David Elliott
94c3ff9091 Checked in WXWIN=$(WXDIR) hack as per Vadim's request
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-22 01:44:49 +00:00
Václav Slavík
27ef58ba02 fixed MSLU link
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 23:14:26 +00:00
Václav Slavík
8d512476c5 no need to check for 2.3.0 anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 23:12:29 +00:00
Vadim Zeitlin
ee9768c9e0 (real) compilation fix after previous commit(s)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 21:04:31 +00:00
Vadim Zeitlin
e38b6ea8d2 (blind) compilation fix after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 20:40:40 +00:00
David Elliott
da0634c140 Added more original works and stubs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 20:25:09 +00:00
David Elliott
fb896a322a Added original works and stubs to CVS repository
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 19:51:47 +00:00
David Elliott
43225e09fe Various changes for wxCocoa
- Check for __WXCOCOA__ as an acceptable definition for a GUI
- Where __WXMAC__ is used to mean "running on a mac" check for
  one of __WXMAC__ or __WXCOCOA__
- Add the obligatory __WXCOCOA__ definitions section


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 17:09:18 +00:00
David Elliott
befdb27f7d Added wxCocoa files.lst. There are not yet any wxCocoa source files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 16:44:26 +00:00
David Elliott
71f23c9aa8 Generate src/cocoa/files.lst using the new cocoa.t
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 16:29:17 +00:00
David Elliott
01ba8b3931 Add code to handle Cocoa, CocoaH, and CocoaR
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 16:22:40 +00:00
David Elliott
aa2d605997 Added tmake template for wxCocoa, heavily derived from wxMac's mac.t
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 16:19:22 +00:00
Julian Smart
e835c3693b Copyright correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 15:43:19 +00:00
Julian Smart
aa5973eef4 Copyright correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 15:30:17 +00:00
Julian Smart
a4ab8ed5ff Copyright correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 15:24:24 +00:00
Julian Smart
2e5794713c Copyright corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 14:36:39 +00:00
Julian Smart
17240438f2 Copyright correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 14:35:05 +00:00
Chris Elliott
db4444f0ce fix memory leak as Dimitri suggested
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 10:10:16 +00:00
David Elliott
ac0c4cc396 Added support for building wxCocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 05:13:45 +00:00
David Elliott
0e68a26a43 Added stub COCOA_DIST target with TODO comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 05:02:17 +00:00
David Elliott
39989a8093 Append .mm to .SUFFIXES list
Add .mm.o rule (exact copy of .cxx.o)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 03:27:39 +00:00
Michael Bedward
00524cfd67 Updated menu Appends to remove ambiguity that BCC complained about
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 03:23:27 +00:00
David Elliott
d9e2e4c242 Allow headers to be compiled in Objective-C++ mode
Changed id to one of:
winid   Window IDs and event system
itemid  Menu items
toolid  Toolbar items


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-21 02:58:55 +00:00
Mattia Barbon
6f87d5542d Changed g95.t according to my last changes to makefile.g95,
and regenerated it. Updated changes.txt.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-20 20:31:43 +00:00
Mattia Barbon
b994671df0 makefile.g95 now adds _cyg or _min suffix to libraries/DLLs, as
per the discussion on wx-dev.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-20 17:45:38 +00:00
Julian Smart
7ebcb58495 Added more things to remove; added a couple of wxGTK items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-19 21:40:05 +00:00
Julian Smart
a125b1b9d5 Removed conflict indicators
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-19 19:20:44 +00:00
Julian Smart
09a1dffa32 Removed some deprecated usage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-19 17:24:06 +00:00
Vadim Zeitlin
9750481f36 fixed bad overflow bug in wxX11 timer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-19 16:57:30 +00:00
Vadim Zeitlin
92ee0ef908 added simplified chinese translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-19 10:55:33 +00:00
Robin Dunn
dd360466a5 Applied a modification of Patch #704995 which changes how the lines
are drawn such that only the visible portions are drawn.  This is
because (I think) if the length of the line is > 32k then on at least
Win9x and GTK 1.2 the line will wrap around to the other end of the
tree ctrl...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-19 01:01:14 +00:00
Julian Smart
174046a33c Formatting tidy-up
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-18 15:26:37 +00:00
Julian Smart
1cfa5d8e39 Some code tidying; removing dibutils.cpp which
doesn't seem to be used any more


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-18 15:08:21 +00:00
Václav Slavík
0f48e3d518 more LaTeX fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 18:57:50 +00:00
Julian Smart
68fcaeb98e Added list of things to remove
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 17:14:04 +00:00
Vadim Zeitlin
13acdb7d36 some more details
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 16:14:01 +00:00
Julian Smart
6b9aec458f Corrected copyright
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 14:00:48 +00:00
Julian Smart
7818a75c16 Corrected copyright information
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 13:41:00 +00:00
Vadim Zeitlin
355f240724 respect Veto()ing the column resize events; added test for this in the sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 13:24:45 +00:00
Julian Smart
6d89ddefa9 Corrected copyright
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 12:27:00 +00:00
Julian Smart
be55ddb10d Corrected copyright message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 12:22:02 +00:00
Julian Smart
1a19e369fb Fixed copyrights, corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 12:03:24 +00:00
Julian Smart
6aa89a22b8 Fixed copyrights and licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:55:54 +00:00
Julian Smart
55d99c7a77 Fixed copyrights and licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:28:33 +00:00
Julian Smart
e3a1e3e0e5 Fixed copyright and licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:24:30 +00:00
Julian Smart
6c9a19aaba Removed erroneous copyright names and corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:23:28 +00:00
Julian Smart
371a5b4e62 Removed erroneous copyright names and corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 10:34:04 +00:00
Julian Smart
3f0fac91ab Don't use images for wxNotebook because of crash
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 09:38:55 +00:00
Václav Slavík
0d7fb283bb backport SetFonts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 23:09:51 +00:00
Mattia Barbon
d40708e2fd Fixed (native) wxComboBox::SetSelection and
wxListBox/wxComboBox::GetString.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 20:40:35 +00:00
Václav Slavík
b1ef882100 LaTeX compilation fixes again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 20:34:07 +00:00
Václav Slavík
4eecf1150d applied patch adding SetFonts to wxHTML printing classes and allowing NULL sizes list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 20:30:26 +00:00
Václav Slavík
5851504dfc fix wxrc-generated c++ code to work in Unicode mode (patch #704064)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 20:27:15 +00:00
Robert Roebling
cc3da3f8a1 Text attributes for GTK2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 13:47:47 +00:00
Robert Roebling
e136b74763 Better scrolling to cursor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 13:28:56 +00:00
Julian Smart
18efb19f9d Added RCS ID
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 13:19:24 +00:00
Julian Smart
94af6953cf Tidied some wording, added configtool
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 13:16:52 +00:00
Stefan Csomor
5e284dd5e8 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 10:13:20 +00:00
Mattia Barbon
ea9868e8d2 Derive wxBitmapButton from wxBitmapButtonBase + misc cleanup.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 08:50:21 +00:00
Mattia Barbon
3a73cc5203 Prevent wxChoice from resizing when items are added/deleted. Corrected
DoGetBestSize.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-16 08:41:04 +00:00
Mattia Barbon
d6379fa35a Add wxRTTI to generic wxDirDialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-14 20:08:45 +00:00
Mattia Barbon
d3a80c922c Remove explicit casts to (const char *), and replace it with .c_str();
use wxConstCast instead of explicit casts to char*.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-14 20:07:03 +00:00
Chris Elliott
f72199d117 fix build for borland 5.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-14 10:47:51 +00:00
Michael Bedward
77fc3492f9 added TARGETDEF to use a def file if one exists
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-14 09:09:13 +00:00
Vadim Zeitlin
441b8072ee backport wxFontEncoding values fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-13 22:05:16 +00:00
Robin Dunn
a8f473ac36 Prevent crash in case nothing is selected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-12 19:48:45 +00:00
Stefan Csomor
7ed2b47bf5 moved fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-11 19:52:48 +00:00
Robin Dunn
8aa2cea1d0 The statusbar should start with one field, not zero
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-11 00:01:03 +00:00
Robin Dunn
271d1110ed more informative error messages
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 23:58:30 +00:00
Robin Dunn
d8c65cf488 If zero time is specified, don't try to sleep when using a timer.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 23:38:17 +00:00
Robin Dunn
fb718549cd Don't clear the HWND until after the UnsubclassWin so the old WndProc
will be restored.  Otherwise we get messages after the wxTextCtrl has
been destroyed.  (Forgot a few last time)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 23:32:18 +00:00
Robin Dunn
f3076f9fae Don't clear the HWND until after the UnsubclassWin so the old WndProc
will be restored.  Otherwise we get messages after the wxTextCtrl has
been destroyed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 23:28:40 +00:00
Vadim Zeitlin
39d6715fdf backport ParseDate() fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 22:43:45 +00:00
Vadim Zeitlin
62ae2780a8 accept \r as a delimiter when parsing dates (bug 684617)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 22:14:40 +00:00
Mattia Barbon
3e2d47e1a9 Added helper functions for string -> XmString conversion.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 21:40:53 +00:00
Mattia Barbon
a63b009834 Derive wxButton from wxButtonBase.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 21:39:01 +00:00
Mattia Barbon
521196a26a Added configure test for const_cast<>(), and enabled it
for MSVC 5 and 6, and MinGW; use const_cast<>() in
wxConstCast if it is available.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 21:37:28 +00:00
Vadim Zeitlin
79e929e79e fixed a serious bug in Shrink()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 18:11:15 +00:00
Vadim Zeitlin
28cafc44d2 backport a couple of memory leak fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 18:08:59 +00:00
Stefan Csomor
d46342af50 submenu preparation in two methods encapsulated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 15:50:28 +00:00
Stefan Csomor
578dc95029 submenu preparation in two methods encapsulated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-10 11:57:27 +00:00
Vadim Zeitlin
c9570d3076 added gtk/msgdlg.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-08 14:36:27 +00:00
Mattia Barbon
84fb430b97 Reverted changes to make buttons smaller in wxMotif because they uncover
a bug in wxGTK, and, more importantly, thay will break user code under
Motif which uses sizers and calls wxButton::SetDefault.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-08 13:47:53 +00:00
Mattia Barbon
0ddf7c0cad Modified vc.t according to last changes to makefile.vc, and regenerated
makefile.vc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-07 16:03:15 +00:00
Mattia Barbon
fb5230de74 Removed some superflous #defines already added by plaform.h, simplified a bit
the logic to construct directory and library names; now it should be possible
to build in Unicode mode without changing setup.h; fixed building wxBase with
makefiles.
  Added a new DEBUGINFO parameter. FINAL=hybrid DEBUGINFO=1 is like
FINAL=hybrid but with debug information.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-07 15:48:41 +00:00
Stefan Csomor
ab89a5b59b show and hide implementation added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-07 10:25:11 +00:00
Stefan Csomor
e9d804ebea depth for masks added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-07 10:21:16 +00:00
Stefan Csomor
637988a4f6 change to a tiny minimal value for DoGetBestSize in case of existing entries
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 21:38:12 +00:00
Stefan Csomor
8dd336cba3 added alpha channel support for mask bitmaps
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 21:20:19 +00:00
Mattia Barbon
3ca22d5e92 Fix release build.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 21:07:50 +00:00
Mattia Barbon
10d1f4131d Work around wxNotebook or Motif or wxMotif bug.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 17:52:41 +00:00
Stefan Csomor
0c2d357716 context menu support for mac enabled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 16:56:06 +00:00
Stefan Csomor
7e0e5fe1e4 value expansion to double
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 16:38:19 +00:00
Stefan Csomor
63d1f74fe9 we now must skip right click events in order to allow for context events to be generated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 16:35:10 +00:00
Stefan Csomor
c4a49e11f7 the msw implementation even shows an ok button if it is not specified, we do the same
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 16:32:14 +00:00
Stefan Csomor
8950f7cc7e added OnMouse which will trigger context menu events, added better DoMenuPopup implementation which also deals correctly with check items, submenus etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 16:30:26 +00:00
Stefan Csomor
853f8094df added OnMouse which will trigger context menu events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-06 16:26:37 +00:00
Mattia Barbon
a87758e451 Fix warning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 20:38:18 +00:00
Mattia Barbon
65ed018215 Document the new __WXMOTIF20__ preprocessor macro.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 20:36:48 +00:00
Mattia Barbon
b19a74b0bc Mentioned the need to set the WXDIR environment variable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 20:35:46 +00:00
Mattia Barbon
35af98e482 Applied patch [ 696990 ] fix makeg95.env so it can find version.mak
from Derry Bryson.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 20:21:32 +00:00
Mattia Barbon
da494b405d Added new __WXMOTIF20__ macro, which is true if the Motif version
is 2.0 or higher.
  Now Motif 2.0 or better (but not Lesstif) uses XmRenderTable instead
of the deprecated XmFontList. This allows underlined text in controls.
  Miscellaneous cleanup; used wxXmString in some more places.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 20:15:35 +00:00
Václav Slavík
bdb9ccbfd6 backport gtk2 mnemonics patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 18:10:06 +00:00
Václav Slavík
393cbb8ff7 fix compilation for GTK1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-05 15:58:10 +00:00
Václav Slavík
eaafd2f8b7 added support for GTK2 label mnemonics (patch #689573)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-04 23:34:52 +00:00
Vadim Zeitlin
53eff2a282 new wxDIB class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-04 02:15:29 +00:00
Vadim Zeitlin
336b8a4257 don't use GetSelectedInto() in release build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-04 02:14:13 +00:00
Vadim Zeitlin
acf8e3d29e start of alpha transparency support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-04 02:12:28 +00:00
Vadim Zeitlin
0c543b7a19 don't erase the background to see the transparent images better
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-04 02:10:27 +00:00
Vadim Zeitlin
9ae2ec95cf added wxDynamicLibrary::Detach()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-04 01:48:47 +00:00
Vadim Zeitlin
27bb2b7cea added support for reading alpha channel
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 20:39:50 +00:00
Vadim Zeitlin
487659e0fa added alpha channel support to wxImage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 20:33:40 +00:00
Vadim Zeitlin
c0589c62a6 added some macros to define version strings from version number (instead of having to manually update both)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 19:52:25 +00:00
Vadim Zeitlin
5169844ada added math.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 19:50:21 +00:00
Vadim Zeitlin
ddb4769e7c added wxUSE_DISPLAY
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 19:49:37 +00:00
Stefan Csomor
c8ce283736 sorry previous commit message was wrong, should read
added shrink procedure with proper color averaging, it is triggered from scale in case the old with/height are multiples of the new width/height


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 15:35:52 +00:00
Stefan Csomor
fd9655adba overflow fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 15:30:20 +00:00
Stefan Csomor
534f031251 added shrink procedure with proper color averaging
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 15:25:36 +00:00
Vadim Zeitlin
6627d4dfb7 compilation fix: include wx/platform.h before testing for __WIN32__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 02:15:55 +00:00
Vadim Zeitlin
652ab15353 fixed spurious assert in FindControl() (fixes patch 696147)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-03 00:00:52 +00:00
Vadim Zeitlin
7dc85fe2be added wxRect2DDouble == != = operators (patch 684616)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 23:44:56 +00:00
Vadim Zeitlin
a02afd1452 added wx/math.h (patch 686009)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 23:42:57 +00:00
Vadim Zeitlin
e49c85af1c added possibility to use several wxFileHistories (patch 685876)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 23:35:17 +00:00
Vadim Zeitlin
c5ef41d3b4 fixed memory leak (patch 696164)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 23:24:28 +00:00
Vadim Zeitlin
1265e13d17 added missing include (patch 690352)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 23:21:53 +00:00
Vadim Zeitlin
2b293fc78f fixed memory leak (patch 685580)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 23:18:26 +00:00
Stefan Csomor
da804130ba GiveFeedback support, Cursor Extension
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:48:38 +00:00
Stefan Csomor
7541150812 OSX printing fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:47:37 +00:00
Stefan Csomor
42683dfb10 destroy event support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:46:44 +00:00
Stefan Csomor
2a61618831 usleep fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:45:53 +00:00
Stefan Csomor
c5e591789b xpm support, color cursor support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:44:08 +00:00
Stefan Csomor
78e053ec45 xpm support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:38:30 +00:00
Stefan Csomor
30727fae8d fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:37:08 +00:00
Stefan Csomor
5f7a6626aa added copy arrow cursor macos specific
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 22:35:42 +00:00
Robert Roebling
3352cfffbc Up-ported wxBusyCursor fix and wxCombBov default dialog
action behaviour if enter is hit in it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 21:34:32 +00:00
Gilles Depeyrot
653a3ed956 updated source to not use deprecated wxList methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 20:22:31 +00:00
Mattia Barbon
483561c568 Refactored wxStaticBox, and changed wxStaticBox and wxRadioBox border
style from sunken to the default Motif style.
  Added some convenience macros for checking Motif/Lesstif version.
  Fixed the bug that caused wxStaticBox size to change when label text
was changed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 20:08:45 +00:00
Gilles Depeyrot
a73903480f added missing include file and corrected memory leak due to creation of
never used region (NewRgn)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 19:57:47 +00:00
Václav Slavík
9ca4dd06de implemented wxCLOSE_BOX under Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 18:58:58 +00:00
Vadim Zeitlin
84267f0dfc added tests for changing display resolution and going full screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:38:03 +00:00
Vadim Zeitlin
e3612e8b54 added wxDisplay files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:31:56 +00:00
Vadim Zeitlin
c6985199b0 define some global wxDisplay-related stuff here (wxArrayVideoModes, wxDefaultVideoMode)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19422 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:30:17 +00:00
Vadim Zeitlin
716645d361 maximize the window to the correct display (i.e. the one it is currently on); ShowFullScreen() actually shows the window, too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:24:34 +00:00
Stefan Csomor
4a95c88547 OSX fixes for printing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:23:20 +00:00
Vadim Zeitlin
8585e2b506 implemented video mode support (getting the current one, enumerating, changing)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:17:20 +00:00
Vadim Zeitlin
bfc9081049 significant API changes: wxVideoMode and methods using it added, GetDepth() and IsColour() removed, GetFromWindow() added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 14:16:29 +00:00
Václav Slavík
af49404386 removed deprecated calls from wxImage example (bug #688438)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 11:01:09 +00:00
Mattia Barbon
458ca8c1fd Implemented wxButton::DoGetBestSize for wxMotif. Now normal buttons
and default buttons are visually the same size, however, given how
wxMotif draws default buttons, the Widget for a default button is
bigger (8 pixels by default), thus setting default border will
make the Widget grow.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-02 10:09:25 +00:00
Stefan Csomor
6b9eeef230 applied fix to MkDir for mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 21:09:23 +00:00
Mattia Barbon
1119b89942 Do not change background colour for parent widget; set best size to
some arbitrary value if the text control is empty.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 18:05:33 +00:00
Mattia Barbon
866c0d96cb Fix "make install" for wxMotif after recent changes for using X11 files.
Fix "make dist" for all ports (changes in internat sample), and for
wxMotif (for the aforementioned changes).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 17:52:27 +00:00
Stefan Csomor
3b43289082 added minor and major description for wxGetOsVersion for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 17:30:38 +00:00
Stefan Csomor
3211bccf7c wxMac just using Update()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 17:13:57 +00:00
Stefan Csomor
913ff1a703 added wxMac to the branch using Update for refresh
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 16:36:06 +00:00
Robert Roebling
1a44c9258a Added wxComboBox::SetString patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 10:00:29 +00:00
Robert Roebling
461573cc24 Upported combobox changes and another fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-01 09:59:27 +00:00
Julian Smart
e40298d54e Tidied space and tabs in wxMac files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:48:13 +00:00
Václav Slavík
7de24929eb 1. added native wxMessageDialog implementation for GTK+2
2. minor formatting changes, so that the changelog has consistent look


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:46:59 +00:00
Václav Slavík
cec773c6fc added native wxMessageDialog implementation for GTK+2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:46:41 +00:00
Václav Slavík
7f980cffb8 fixed wxScrollBar creation when default size was used
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:41:00 +00:00
Václav Slavík
c5969a3848 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:39:46 +00:00
Václav Slavík
13a7abf973 added native wxMessageDialog implementation for GTK+2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:37:46 +00:00
Julian Smart
d921af5140 Tidied up white space and tabs in wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 23:36:37 +00:00
Julian Smart
072df0b3af Removed unnecessary #ifs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 22:23:25 +00:00
Mattia Barbon
79132cd302 Change wxCLOSE to wxCLOSE_BOX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 22:09:14 +00:00
Julian Smart
a31a5f8534 Tidied copyright and date for wxMac files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 21:54:04 +00:00
Julian Smart
7532d2928e #ifed wxLog occurrences
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 19:30:22 +00:00
Julian Smart
f81387bd80 Added display sample to distrib file lists
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 18:04:10 +00:00
Vadim Zeitlin
e9b77bccb0 added FromPoint test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 01:48:47 +00:00
Vadim Zeitlin
c32b107789 started writing wxDisplay sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-28 01:33:55 +00:00
Robin Dunn
402ce75571 Patch from David Falkinder to help building a STC dll.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 21:10:20 +00:00
Vadim Zeitlin
d264d7091c show error message if exec() failed: not pretty but better than nothing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 18:20:38 +00:00
Vadim Zeitlin
3cdf176163 fix bug with timezone calculations when WX_GMTOFF_IN_TM si true
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 13:01:29 +00:00
Vadim Zeitlin
c54322338f fix bug with timezone calculations when WX_GMTOFF_IN_TM si true
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 12:53:03 +00:00
Vadim Zeitlin
647b8e379e wxExecute may only be called from the main thread
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 12:18:07 +00:00
Vadim Zeitlin
9e023db73b updated the sample to show the sizers, not constraints, in the main frame; also demonstrate flex grid sizer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 12:02:22 +00:00
Vadim Zeitlin
e8800dcfa7 added proportion parameter to wxFlexGridSizer::AddGrowableRow/Col()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 11:55:26 +00:00
Vadim Zeitlin
702c420889 added WXK_WINDOWS_XXX key constants
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 11:51:41 +00:00
Vadim Zeitlin
8a09029e0c added wxUSE_DISPLAY
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 10:30:35 +00:00
Stefan Csomor
7854746ec1 fix for SetSize was missing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 10:18:16 +00:00
Václav Slavík
850c6ed46e wxCLOSE->wxCLOSE_BOX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 10:13:26 +00:00
Stefan Csomor
d60de5167e SetValue can add values if not readonly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 10:06:12 +00:00
Vadim Zeitlin
62b4ae0811 fixed wxRegionIterator example
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-27 00:18:43 +00:00
Václav Slavík
9ef896e152 unified default values for conv arguments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 23:10:36 +00:00
Václav Slavík
72cd2fcc00 updates to <script> handling backport list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 23:09:25 +00:00
Václav Slavík
d3c0ce3402 unified default values for conv arguments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 19:31:44 +00:00
Václav Slavík
07cc7ddca5 compilation fix for optimizing compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 19:29:21 +00:00
Václav Slavík
7c6ad433be added wxCLOSE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 19:26:31 +00:00
Václav Slavík
c3d8ee42db added wxCLOSE and fixed wxSYSTEM_MENU on Unix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 19:24:19 +00:00
Václav Slavík
f1a19f1478 added wxCLOSE and unified wxDEFAULT_DIALOG_STYLE definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 19:21:47 +00:00
Václav Slavík
eeb029a965 fix patch #693600
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-26 19:21:02 +00:00
Robin Dunn
9230920176 Changed how the dynamic event tables (used for all Python wx classes,
C++ wx classes typically use static event tables) are searched such
that they behave from a Python perspective more like the static tables
in C++.  Namely that if there are identical event bindings in a base
Python class and a derived Python class that the one in the derived
class will be found first and that if Skip is called that the one in
the base class will still be found instead of skipping directly to the
static stable in the C++ class.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 21:22:44 +00:00
Vadim Zeitlin
a9d3434a3b finally fixed the flicker problem in wxTE_RICH[2] text controls when appending a lot of text to them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 18:44:20 +00:00
Vadim Zeitlin
07601f5945 don't log erroneous error messages when writing an empty string to a wxTE_RICH2 control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 16:48:50 +00:00
Vadim Zeitlin
4756503a3d fixed typo in WX_DECLARE_OBJARRAY example
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 16:14:30 +00:00
Vadim Zeitlin
77b0d411e3 fixed typo in he check in SetSizeHints()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 16:12:42 +00:00
Vadim Zeitlin
bad93b357f forward declare wxMenu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 12:43:06 +00:00
Vadim Zeitlin
5315ebfaed test for the bug with showing a modeless dialog from a modal one in wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 12:33:35 +00:00
Stefan Csomor
e549bec483 m_y of generic tree item was only a short, which unnecessarily limits the number of items that can be displayed and handled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-25 09:48:30 +00:00
Vadim Zeitlin
34b6a45ab9 centralize version info in one file, include it from all makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-24 23:20:22 +00:00
Vadim Zeitlin
117395866e do use micro version number in the DLL names -- but in the unstable branch only
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-24 23:19:21 +00:00
Vadim Zeitlin
817f640621 use jast major.minor, not major.minor.micro, in the DLL names
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-24 00:33:28 +00:00
Vadim Zeitlin
a6861c1dc8 get the version info directly from wx/version.h instead of hardcoding it here
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-24 00:26:50 +00:00
Vadim Zeitlin
ca1aac5387 regenerated using the correct versions in/for the DLLs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-24 00:25:08 +00:00
Václav Slavík
6b8877197f backport CDATA code in wxHTML
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 23:11:23 +00:00
Vadim Zeitlin
10e8e34f71 note warning against using /ox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 21:59:26 +00:00
Mattia Barbon
e1aae52885 Implemented DoGetBestSize for wxListBox, (native) wxComboBox and
wxTextCtrl, and used it when wxSize(-1, -1) is passed to Create, to set
the initial size.
  Added wxDoChangeFont and wxXmStringToString helper functions, removed
the use of m_stringList in native wxComboBox, removed some duplicated code
in wxWindow.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 20:33:43 +00:00
Vadim Zeitlin
8dcc14725d removed the extra offset in moveto in DrawRotatedText() (why was it there?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 19:57:45 +00:00
Mattia Barbon
d4d46b56f0 Allow setting default file name in wxMotif wxFileDialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 19:24:45 +00:00
Václav Slavík
1da51aafba make wxConvUTF8 available in wchar_t-less mode, too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 19:01:54 +00:00
Václav Slavík
4561e95d96 documentation for wxFileConfig changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 19:01:41 +00:00
Václav Slavík
67de05a11c wxFileConfig in Unicode fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 19:01:29 +00:00
Václav Slavík
8829fa8200 implemented empty handler for <script> tag, so that script code doesn't show in rendered page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 19:00:08 +00:00
Václav Slavík
7c6cd4a86b fixed parsing of CDATA elements (<script> and <style>) (Bill Nalen)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 18:59:13 +00:00
Vadim Zeitlin
749caeeb38 documented wxGetApp()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-23 02:03:41 +00:00
Chris Elliott
ec8b106913 update watcom makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-22 15:42:49 +00:00
Mattia Barbon
e74bade6d8 Added Active Accessibility files to filelist.txt, regenerated
wxWindows.dsp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-21 21:27:53 +00:00
Robin Dunn
5aab763c09 Only send two EVT_BUTTON events when double clicking a button, not three
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-21 20:27:56 +00:00
Julian Smart
010ba10dc5 Applied FL patch from Stefan Kowski
"Enclosed there is a patch for the FL library that solves a problem
overwriting the status bar if a bar is expanded.

Cause of this is the calculation of the new window height which may be less
than 0 in some cases. In my test a value of -1 caused the window default
height to be set which was larger than the space available, therefore the
status bar was overwritten."


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-21 16:02:33 +00:00
Mattia Barbon
0a514d12e8 Regenerated files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-20 18:30:06 +00:00
Mattia Barbon
69c4481222 Use some wxX11 files (currently pen.cpp and brush.cpp) in wxMotif.
Add src/x11 to VPATH in configure, and add a new flag to filelist.txt
indicating a file used in wxMotif but not in wxMotif directory.
  Modifed VMS makefiles, too (should be checked by someone with VMS,
though).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-20 18:20:47 +00:00
Václav Slavík
e7370dac93 fixed wxSYS_DEFAULT_GUI_FONT lookup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 23:17:01 +00:00
Mattia Barbon
729be74dd1 Fix DrawRotatedtext to behave more like wxMSW: take into account
text background colour, and fix some wrong mathematics which caused
incorrect results.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 21:12:00 +00:00
Julian Smart
9dc8c75994 Temporary fix for strange wxDateTime link error with VC++ and wxUSE_ACCESSIBILITY=1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 21:06:52 +00:00
Mattia Barbon
21342bba68 Allow selecting a mono bitmap into a wxMemoryDC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 21:06:02 +00:00
Václav Slavík
3ebd765df5 fixed Traditional Chinese mapping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 19:25:47 +00:00
Vadim Zeitlin
2862acdeb7 removed several out of date/wrong sentences; mention wxEvtHandler::Connect()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 18:54:07 +00:00
Julian Smart
2aefc52854 Further tweaks to accessibility code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 16:31:28 +00:00
Vadim Zeitlin
af7b5345ed use -O0 when optimizing is off -- seems to __slightly__ reduce the build times with g++ 3.2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 13:52:11 +00:00
Vadim Zeitlin
e587e144c8 prevent from setting min[WH] > max[WH] because this leads to an infinite loop later on and generally doesnt make sense
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 13:44:32 +00:00
Vadim Zeitlin
3cfda0b764 fixed a typo which was preventing any events from being generated after DeleteAll() call
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 13:15:50 +00:00
Robin Dunn
7de595519a Send the wxWindowDestroyEvent for all ports
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-19 02:59:36 +00:00
Mattia Barbon
8b49ecd77a Patch [ 688973 ] from William Gallafent: add missing wx/dc.h.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 21:33:43 +00:00
Julian Smart
038a5591e4 Fixed warning, reformatted some code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 15:39:23 +00:00
Julian Smart
d43851f77e Applied patch [ 608866 ] wxGrid: vertical column label text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 14:25:34 +00:00
Robert Roebling
0878fb4c7d Applied John's patch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:48:55 +00:00
Julian Smart
2cdd094b12 Applied patch [ 681921 ] Stray focus rectangle in static text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:40:30 +00:00
Julian Smart
a8f4cabe1e Applied patch [ 681893 ] Combobox in toolbar
This patch adds controls (i.e. combobox) to toolbars.
It also changes the toolbar sample so the combobox is
actually shown.

Otto Wyss


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:38:02 +00:00
Julian Smart
8586126c7b Enhancements to the accessibility sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:35:14 +00:00
Julian Smart
c6e2af4570 Some improvements to accessibility behaviour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:33:42 +00:00
Julian Smart
787d22ec24 Applied patch [ 686843 ] File Dialog Wildcard Bug
A bug was introduced in generic/src/filedlgg.cpp
between versions 2.2.9 and 2.4 that causes incomplete
file extensions to be appended to filenames not having
extensions after a user changes the wildcard index in
the filedialog. This patch reverts back to the correct
code.

Bob Downey


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:27:23 +00:00
Julian Smart
e6396ed451 Applied patch [ 681262 ] Add EVT_MENU_OPEN support for GTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-18 09:02:30 +00:00
Julian Smart
e0496eaaa4 Changed back inline/const things
wxTabCtrl must have WS_CHILD window style
small access.cpp tweaks (call QueryInterface)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-17 12:43:47 +00:00
Julian Smart
ae23a52a16 Added start at accessibility sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-17 10:15:02 +00:00
Václav Slavík
b1ef887ad8 another compilation fix for over-optimized #includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-16 23:08:33 +00:00
Gilles Depeyrot
904a2463aa fix wxDateTime offset for Apple Developer Tools (SourceForge bug # 614010)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-16 18:19:15 +00:00
Vadim Zeitlin
e38ed919ba inserted casts allowing to have arrays of function pointers -- this is wrong but works on most platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-16 17:46:05 +00:00
Julian Smart
ed5317e538 Added start at accessibility functionality
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-16 11:59:49 +00:00
Julian Smart
45a959a33b Added accessibility headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-16 11:57:24 +00:00
Julian Smart
57b486583d VC++ 6 doesn't seem to like the uninlining thing and
also the wxDateTime::TIME_T_FACTOR must be always defined;
else we get link errors. I don't know why these didn't
turn up before...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-15 17:14:19 +00:00
Stefan Csomor
e56aba8dd5 Files from a Drop were only added but the fileslist never cleard
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-15 08:36:30 +00:00
Mattia Barbon
73d33f1ac6 Setting background colour on listbox parent makes it look ugly, do not
do it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-14 20:43:53 +00:00
Mattia Barbon
369da72455 Fix wxEventLoop so it does not sleep 20 msec between events when threads
are anabled. Now the ode should be equivalent to the 2.4 event loop.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-14 20:41:57 +00:00
Vadim Zeitlin
b1e343f2bb silent gcc warning about missing \n at the end of file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-14 20:21:00 +00:00
Vadim Zeitlin
22cbd10ea3 compilation fix (missing header)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-14 20:19:49 +00:00
Chris Elliott
63d6802445 fix for watcom open compiler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-13 20:57:11 +00:00
Julian Smart
80793cda3e DOc fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-13 18:28:36 +00:00
Vadim Zeitlin
6faf4b5f59 say that WarpPointer() is not supported under Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-13 13:16:58 +00:00
Vadim Zeitlin
41e6092432 marked dbkeyg.h as a wxBase file (fixes 685857)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-13 11:34:07 +00:00
Jouk Jansen
c18670e45c Committing in .
Roving class reference within the class itself.

 Modified Files:
 	wxWindows/src/univ/combobox.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-13 07:21:50 +00:00
Vadim Zeitlin
a08e7186b4 added an assert checking that Resume() is not called unnecessarily
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-13 00:22:36 +00:00
Chris Elliott
6bc5a86729 first watcom makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 22:17:08 +00:00
Chris Elliott
366e20d6fc fix watcom makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 21:25:54 +00:00
Chris Elliott
d3abc823be fix watcom makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 21:16:56 +00:00
Chris Elliott
d8bb3c9c64 improve watcom makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 21:01:20 +00:00
Chris Elliott
9c11ecdbed fix unused vars for watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 20:58:58 +00:00
Václav Slavík
c3d15542d6 compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 20:35:27 +00:00
Mattia Barbon
08e5319b03 Implemented wxToggleButton under Motif.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 18:20:23 +00:00
Vadim Zeitlin
9045ad9dfc added DoSetNativeFontInfo() to avoid virtual function hiding
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 15:42:27 +00:00
Vadim Zeitlin
bf3353768a removed redundant code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-12 11:42:11 +00:00
Vadim Zeitlin
7899ef9592 fixed typo in SetToolClientData() docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 22:55:40 +00:00
Mattia Barbon
6db2faf3ad Remove another already backported change.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 21:26:10 +00:00
Mattia Barbon
4df410bf5c Remove already backported change.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 21:16:23 +00:00
Mattia Barbon
8e7361ccbc Changes to be backported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 21:09:05 +00:00
Mattia Barbon
100f92893d Finished native wxComboBox implementation; it still needs some testing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 17:51:28 +00:00
Julian Smart
b6e2df0b36 Added an item to toback24.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 15:50:59 +00:00
Robert Roebling
6185050104 Minor corrections.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-11 11:20:45 +00:00
Chris Elliott
1a55595e69 fix contrib makefile for watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 21:55:23 +00:00
Mattia Barbon
fd52ec657f Clearly mark wxGLCanvas as not working under wxX11.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 21:27:24 +00:00
Mattia Barbon
5c0ee4a80a Fix compilation with GCC (at least 2.95.4).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 21:18:32 +00:00
Mattia Barbon
67a26a1a0b Fix compilation after last fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 21:12:55 +00:00
Mattia Barbon
ed39ff57b3 Remove unnecessary header dependencies. Fix resulting compilation
problems for wxMSW, wxGTK, wxMotif, wxX11 and wxMac in default
configuration. Non-default configurations will probably need some more
fixes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 21:07:36 +00:00
Chris Elliott
d51f2e6587 fix for making libraries
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 20:43:39 +00:00
Stefan Csomor
2ad50cc75b bug fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 19:15:13 +00:00
Vadim Zeitlin
cfef519aaa scrolbar event orientation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 16:16:14 +00:00
Vadim Zeitlin
27e229f55a set orientation for scrolbar events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 16:11:55 +00:00
Robert Roebling
d9e403cc40 Support underscroes in menu item names under GTK2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-10 10:13:58 +00:00
Vadim Zeitlin
91388efc15 use bigger than default page size to avoid 'library too big' errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 22:03:49 +00:00
Vadim Zeitlin
3e43d6143b added missing const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 21:26:22 +00:00
Vadim Zeitlin
111ee2fdb8 fileconf stuff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 21:22:47 +00:00
Vadim Zeitlin
bc33be3b05 don't trigger an assert in wxFileConfigGroup::DeleteSubgroupByName() if the group doesn't exist
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 21:17:18 +00:00
Mattia Barbon
2b830c41f7 Do not use stipple when drawing text, use solid foreground/background
colour instead.
  Use XSetTile/FillTiled instead of XSetStipple/FillStippled, otherwise
BadMatch errors occur in wxDC::SetBrush.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 20:21:54 +00:00
Mattia Barbon
b64c979322 Replaced wxDebugMsg with wxLogError.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 17:05:24 +00:00
Stefan Csomor
1c52210086 clipboard extension
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 09:11:43 +00:00
Stefan Csomor
2eefc6d59e crash upon hide fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 09:10:02 +00:00
Stefan Csomor
0e878cfcc6 code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 09:08:09 +00:00
Stefan Csomor
6ef7c8e01e native tooltips
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 09:04:18 +00:00
Stefan Csomor
6dbc7fb4e5 redraw changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 09:01:05 +00:00
Stefan Csomor
81b41c03c6 code changed along msw lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 08:56:54 +00:00
Stefan Csomor
07c76470e9 corrected disposal for b/w cursors and creation and disposal of colour cursors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 08:54:08 +00:00
Stefan Csomor
d1e3f88a08 mask and hotspot corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 08:23:08 +00:00
Stefan Csomor
2a391f8718 clipboard bitmap support extended
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 08:19:28 +00:00
Stefan Csomor
9c3c584918 clipboard
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-09 08:15:35 +00:00
Chris Elliott
9d1461a451 remove references to 16 bit compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-08 11:50:09 +00:00
Jouk Jansen
bf91e65285 Committing in .
wxMotif changes for OpenVMS

 Modified Files:
 	wxWindows/src/motif/descrip.mms
 	wxWindows/src/motif/evtloop.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-07 07:27:30 +00:00
Vadim Zeitlin
80e297514d corrected several errors when generating project file with all configs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-07 02:56:49 +00:00
Julian Smart
4fedd384a1 Moved ffile inclusion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-06 14:07:45 +00:00
Robin Dunn
ca7353de3a Check the image height when calulating the line height. This allows
larger than normal images to be used.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-06 02:18:51 +00:00
Vadim Zeitlin
e2b87f38d9 allow compilation with wxUSE_DATETIME == 0 (patch 679822)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-06 00:53:46 +00:00
Vadim Zeitlin
83911a5a4d compilation fix for WXWIN_COMPATIBILITY_2 == 1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-06 00:51:15 +00:00
Robin Dunn
895066d8c8 Scintilla uses a -1 index to unselect, we need to catch that.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-05 23:30:36 +00:00
Vadim Zeitlin
debc914bdc fixed typo in the label
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-05 12:17:18 +00:00
Vadim Zeitlin
4f5a7f7409 HP-UX fixes: use INSTALL_DIR as install doesn't have -d option; fixes for threads compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-05 00:54:04 +00:00
Stefan Csomor
d8e9da78a0 added hints from QA 1061
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 22:30:58 +00:00
Stefan Csomor
a19f009bce OSX native tooltips
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 22:27:54 +00:00
Stefan Csomor
04f2e99050 carbon event savvy wakeup call
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 22:25:21 +00:00
Mattia Barbon
1845da40f2 Update with recent changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 21:57:55 +00:00
Mattia Barbon
49bbd59b01 Do not redeclare a struct (w32api 2.2 will have it).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 21:37:58 +00:00
Mattia Barbon
9b1bd0c6e7 Applied patch [ 679397 ] remove GPL code from motif build
from Ian Brown, with some modifications; this patch replaces the (GPL)
Motif ComboBox with an implementation based on the native (for Motif 2.0)
ComboBox. The old ComboBox is still used as a fallback for older Motif
versions. My modifications include some method's implementation and
some workarounds for LessTif.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 21:09:03 +00:00
Vadim Zeitlin
205b0c9c6a try to create smaller executables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 20:34:43 +00:00
Vadim Zeitlin
9d1e1be463 added wxLocale::FindLanguageInfo()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 16:43:10 +00:00
Vadim Zeitlin
677a9e28b5 fix for warnings when wxUSE_RESOURCE_LOADING_IN_MSW == 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 00:57:47 +00:00
Vadim Zeitlin
f6eff86e7e added Watcom mention
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 00:56:28 +00:00
Vadim Zeitlin
d4c8e4a1d4 corrected the value of EUC_JP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-04 00:54:46 +00:00
Václav Slavík
e4d47fbd6f fixes to ShowFullScreen (KDE 3.1)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 23:31:55 +00:00
Václav Slavík
1cff04deb5 fixes to ShowFullScreen (KDE 3.1)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 23:23:05 +00:00
Vadim Zeitlin
a2f26963ba added (woefully incomplete) Japanese translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 23:09:13 +00:00
Mattia Barbon
ac856b274a More changes to be backported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 22:45:05 +00:00
Mattia Barbon
bf60426831 Make wxr resources work in Unicode mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 22:39:02 +00:00
Mattia Barbon
94311eef78 MSVC 5 does not have BIF_EDITBOX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 22:35:42 +00:00
Mattia Barbon
00dd3b1897 Do not #include an header where a forward declaration suffixes. Do not
include wx/wx.h directly.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 20:56:40 +00:00
Jouk Jansen
ff7d1dcb82 Committing in .
One #undef for OpenVMS only

 Modified Files:
 	wxWindows/src/gtk/app.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-03 12:51:34 +00:00
Vadim Zeitlin
7f88f624d6 changed C++ comments in C comments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 22:54:04 +00:00
Vadim Zeitlin
0aa35d1962 fixed First() signatures
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 22:21:28 +00:00
Mattia Barbon
1092b2a039 Mark for backporting.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 21:01:54 +00:00
Mattia Barbon
d76240bfe1 Fix client data handling: delete client data for all items when a
wxChoice is deleted, delete client data for an item when that item is
deleted.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 21:00:06 +00:00
Stefan Neis
ab9f788e31 Some OS/2 specific improvements.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 20:31:27 +00:00
Vadim Zeitlin
f083414031 compilation fix for wxUSE_RESOURCE_LOADING_IN_MSW == 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 18:31:23 +00:00
Mattia Barbon
7e1bcfa80e Implemented wxEventLoop for wxMotif, and used it in wxDialog::ShowModal,
wxWindow::DoPopupMenu and for the application main loop.
  Implemented wxWakeUpIdle.
  Fixed crash when a popup menu entry is used to close/destroy the parent
window of the menu.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 15:48:50 +00:00
Vadim Zeitlin
d894c20113 compilation fix for non-PCH
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 15:20:35 +00:00
Vadim Zeitlin
766c5e24a5 added Unicode build configurations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 15:19:11 +00:00
Julian Smart
9cb98d8995 Applied patch [ 678788 ] Dialog command event propagation problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 15:07:57 +00:00
Vadim Zeitlin
01feccc204 the Russian translations were somehow corrupted, fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 15:02:17 +00:00
Julian Smart
f2b99f6323 Applied patch [ 675376 ] Improves wxStaticBoxSizer
(uses GetCharHeight() instead of guessing).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:58:56 +00:00
Julian Smart
6f7c5199ed Applied patch [ 677730 ] Menus with radio items (wxUniv)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:50:05 +00:00
Julian Smart
e2ca829e7d Applied patch [ 670782 ] Combobox uses popup window width
(wxUniv)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:47:04 +00:00
Julian Smart
61a83c1c50 Applied Patch 664399: wxButton default size should not be adjusted
(wxUniv)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:39:55 +00:00
Vadim Zeitlin
f68c6b523c Unicode compilation fixes after wxFFile change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:17:41 +00:00
Vadim Zeitlin
c48e9cbb17 unused any more
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:14:08 +00:00
Vadim Zeitlin
017fcf32be allow choosing language from the command line; small cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 14:09:36 +00:00
Vadim Zeitlin
fb6e5b179a more std iostream + Unicode fixes; copy streams in blocks of 4Kb, not char by char
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 13:29:50 +00:00
Vadim Zeitlin
90e2cbf780 use wxChar, not char, for the second argument of Open() and also use wxFopen() in the implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 12:46:33 +00:00
Vadim Zeitlin
9c9c3d7a8f indicate whether this is a selection or a deselection in wxCommandEvent generated by a multiselection wxListBox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 03:05:41 +00:00
Vadim Zeitlin
cf41e1a4d5 (blind) fix for compilation in standard iostreams + Unicode mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 02:40:17 +00:00
Vadim Zeitlin
eff4ffbf4f big wxCursor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 02:06:34 +00:00
Vadim Zeitlin
62a0bb2788 removed wxCURSOR_SIZING (we now use the std one)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 01:50:07 +00:00
Vadim Zeitlin
cf54972ea2 unsuccessful attempts to create resizable dir dlg without new folder button; added BIF_EDITBOX style; minor code cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-02 00:38:09 +00:00
Vadim Zeitlin
367f7c4570 what do we need a separate (from m_windowStyle) m_dialogStyle here for? removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 23:30:53 +00:00
Vadim Zeitlin
f09c8393cb show dir selection dialog both with and without new dir button
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 22:51:07 +00:00
Chris Elliott
922c7dcb6f borland 5.5 on XP dislikes -WE line and dies; earlier systems ignore error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 21:08:22 +00:00
Vadim Zeitlin
ce9462d21d implemented wxFileSelectorEx() (this fixes docview behaviour when multiple selections are specified in doc template)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 21:04:40 +00:00
Vadim Zeitlin
93fac60414 don't print 2 empty commands after building the program under non-Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 20:47:19 +00:00
Chris Elliott
11a1face0e fix bcc bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 19:54:11 +00:00
Gilles Depeyrot
c921fd5994 Only call use uppercase letter if control, alt, or shift is held down,
otherwise lower case accelerators won't work.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-02-01 13:45:49 +00:00
Vadim Zeitlin
70687b638d silently ignore any X-fields in mime.types
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 23:09:35 +00:00
Vadim Zeitlin
e69a1ea87c compilation fix for HP-UX CC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 22:56:49 +00:00
Robert Roebling
e3cff1fbb7 Uncommented warning that causes crashes while
reading .mime.types.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 21:56:09 +00:00
Stefan Csomor
7f3c339c0d using SelectWindow for Raise Implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 15:52:24 +00:00
Stefan Csomor
597a3d06bf added AppleEvent Handler, somehow the standard event handler does not take care of all of them..
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 15:50:09 +00:00
Robert Roebling
f77cf4e68a Typo.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 14:55:28 +00:00
Robert Roebling
464f1a1da6 Compile fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 14:45:38 +00:00
Robert Roebling
adfb70c30f Removed unnecessary SET_STYLE.. macros.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 10:31:54 +00:00
Robert Roebling
288059b2b9 Corrected GTK2 creation of default font.
Removed ugly SET_STYLE_FONT code.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-31 10:31:05 +00:00
Robert Roebling
a148cfb644 Printing update for Pango (GTK2 and X11-Unicode).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-30 23:40:05 +00:00
Václav Slavík
6b5cdfed73 don't indent text body
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-30 23:10:23 +00:00
Václav Slavík
ce6cea6808 restored #ifndef wxUSE_UNICODE accidentaly removed by my previous commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-30 19:49:42 +00:00
Robin Dunn
68c124a168 1. Added m_count and maintain its value in InsertItem, RemoveItem
etc. and return it from GetItemCount to save so many calls to
   ListView_GetItemCount.

2. If EVT_LIST_DELETE_ALL_ITEMS was not handled then the
   post-processing code to prevent LVN_DELETEITEM messages was not
   getting executed.  Changed it so the post processing always
   happens.

3. It's possible with some versions of comctl32 that garbage values
   can be passed in nmLV->lParam so don't try to get the internal item
   data pointer from it.  This should close bug# 659939

4. Added FreeAllInternalData from DeleteAllItems, (part of patch
   #672065) and also guard against processing LVN_CHANG* messages
   while freeing the internal data.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-30 01:53:28 +00:00
Robin Dunn
6edf791ccb Revert last change so the right log message gets put on the file. (I
did the last check in just a wee bit too fast...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-30 01:51:04 +00:00
Robin Dunn
cca784632f Fix for export warning when compiling a DLL.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-30 01:48:11 +00:00
Václav Slavík
e74563e412 added MSLU reference to wxUSE_UNICODE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 23:29:11 +00:00
Stefan Csomor
c5c9378c98 carbon event support completed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:23:01 +00:00
Stefan Csomor
ac9b5f9889 bug fix & carbon support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:21:58 +00:00
Stefan Csomor
233d603a09 string conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:07:24 +00:00
Stefan Csomor
2726cac595 carbon modal state
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:06:54 +00:00
Stefan Csomor
5fa00d2425 bugfix : text background when using appearance text drawing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:06:08 +00:00
Stefan Csomor
4abac0c027 getting rid of wxBuffer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:04:37 +00:00
Stefan Csomor
45a0fd3723 adaptions for cleaned up string conversions & carbon events support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:04:04 +00:00
Stefan Csomor
95fd868c8f adaptions for cleaned up string conversions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:03:43 +00:00
Stefan Csomor
4c200e8d87 moving string conversions at one place
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:02:14 +00:00
Stefan Csomor
f352dd54f0 removing path corrections for wxMac, we now want a correct platform string for unzOpen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 15:00:57 +00:00
Stefan Csomor
cd28bcaded moving all string conversions to private.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 14:59:28 +00:00
Stefan Csomor
88522554f8 moving all string conversions here
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 14:58:01 +00:00
Stefan Csomor
0f5cc041d2 additional mac alias types
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 14:56:17 +00:00
Stefan Csomor
4c2300c6a1 getting rid of wxBuffer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 14:55:21 +00:00
Jouk Jansen
701d8d7606 Committing in .
wxIcon creation changed -> MOTIF code had to be changed likewise the GTK
version.

 Modified Files:
 	wxWindows/src/common/resource.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 11:54:57 +00:00
Jouk Jansen
e004299a08 Committing in .
OpenVMS updates

 Modified Files:
 	wxWindows/setup.h_vms wxWindows/src/common/descrip.mms
 	wxWindows/src/motif/toplevel.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-29 11:52:47 +00:00
David Webster
378ad9574d listctrl update
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 23:21:51 +00:00
Gilles Depeyrot
57fbe23f68 added definition of TARGET_CARBON when compiling with non generated setup.h
using Project Builder


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 22:26:30 +00:00
Gilles Depeyrot
82d4311313 moved definition of TARGET_CARBON to generated setup.h when compiling with
Apple Developer Tools


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 22:23:02 +00:00
Mattia Barbon
1e4786bb37 Regenerate makefiles.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 21:02:32 +00:00
Stefan Csomor
a3195b73a6 only handling inContent CarbonEvents if we are the active window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 16:45:31 +00:00
Stefan Csomor
851b3a889f CarbonEvents Added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 12:29:55 +00:00
Stefan Csomor
7c15086ca4 Review, Carbon Events support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 12:27:43 +00:00
Stefan Csomor
01fbf5d755 static box parent warning added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 12:26:43 +00:00
Stefan Csomor
581bebd192 no new install of event handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:30:54 +00:00
Stefan Csomor
15b41e900b cleanup, Carbon Events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:27:05 +00:00
Stefan Csomor
64820d33a1 clipping before redraw in the setbackground callback
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:25:53 +00:00
Stefan Csomor
1dd85cc3d6 closer clipping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:24:38 +00:00
Stefan Csomor
0150a5b8b9 mini-patch for better layout under OSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:23:43 +00:00
Stefan Csomor
2e97b58c63 new menu code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:22:48 +00:00
Stefan Csomor
408ad8789c not neede anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 08:22:18 +00:00
Stefan Csomor
9145b0c6ce corrected Yes/No
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 07:55:37 +00:00
Stefan Csomor
bf918b97ed wxMenu Review, added Carbon Events and full OSX Support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 07:55:08 +00:00
Stefan Csomor
cbf8aca6d4 Carbon Events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 07:01:23 +00:00
Stefan Csomor
b89f23763c formatting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 07:00:57 +00:00
Stefan Csomor
f3fb0a0719 wxMenu Review, added Carbon Events and full OSX Support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 06:54:36 +00:00
Stefan Csomor
339e0cf110 not needed anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 06:53:15 +00:00
Stefan Csomor
6357cb9d09 added WXEVENTHANDLERREF for Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-28 06:49:45 +00:00
Gilles Depeyrot
36825681b5 improved Mac resource creation step in order to allow samples to provide
specific Rez options (used in docview sample)
added separate Mac Finder flag modification step (using SetFile)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 22:18:18 +00:00
Mattia Barbon
ab82ab0704 Remove some redefinition warnings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 21:41:53 +00:00
Julian Smart
6394c5966c Corrected printing docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 11:27:43 +00:00
Ron Lee
e8d19ddd5f Add SetScrollbars patch, assuming this one really fixes things.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 09:09:19 +00:00
Ron Lee
150c8d89c7 Fixed bug in FlexGridSizer mods that prevented them from ever shrinking.
Reverted the earlier SetScrollbars patch and fixed a bug in GetVirtualSize
that was hopefully the real cause of all the preceding woe.

Added a comment and a kludge for a most unusual bug manifesting in the
scrollsub sample.  If it is resized quickly size events appear to get lost
and the scrollbar is set incorrectly.  Adding an extra call to
AdjustScrollbars masks the problem, though its clearly superfluous since
the FitInside above already calls it.  This seems to be a brand new problem
(on both Gtk and msw) as of some time prior to this patch and it should be
looked into further.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 09:02:58 +00:00
Vadim Zeitlin
dd91da4ed1 added Add/InsertTool() (patch 672032)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 01:13:35 +00:00
Vadim Zeitlin
fccacb2a9d the string 'Goto...' should be translated (patch 674569)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 01:04:57 +00:00
Vadim Zeitlin
2b61c41b71 updated sample evrsion from Greg Chicares
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 00:19:36 +00:00
Vadim Zeitlin
cab8f76eb8 fixed a crash in socket server test and added quit command to the server
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 00:18:44 +00:00
Václav Slavík
eaf498dffe fixed someone's typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 23:20:42 +00:00
Václav Slavík
903972f999 added wxHtmlWindow::LoadFile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 23:20:00 +00:00
Václav Slavík
7cb9cf8992 1. added wxHtmlWindow::LoadFile
2. interpret LoadPage's argument as filename if it fails as URL


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18952 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 23:19:46 +00:00
Václav Slavík
2f5b93fb9f added wxSplitterWindow to XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 23:19:04 +00:00
Robert Roebling
e4da1035e4 Now scaling doesn't scale GetTextExtent() anymore. This
make print previewing look fine for now. Next is actually
   printing what you preview :-)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 21:04:10 +00:00
Václav Slavík
25d599ae91 fixed loading of GNOME2 mime icons (still not working as desired)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 20:56:31 +00:00
Václav Slavík
805f26b316 use all MIME data sources on Unix, not only mailcap/mime.types
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 20:54:57 +00:00
Julian Smart
eed1be652a Fixed problem with kill focus event getting sent to control
that is getting the focus.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 19:04:10 +00:00
Václav Slavík
f2dec5b10d compilation fixes (bug #672413)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 16:16:13 +00:00
Václav Slavík
5eac771d09 eliminate __WIN32__ only code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 16:15:08 +00:00
Vadim Zeitlin
f357c0d42c moved OLE files group under MSW files -- this is more logical
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 14:11:39 +00:00
Vadim Zeitlin
4519ac17a7 corrected the paths for the OLE files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 14:09:52 +00:00
Vadim Zeitlin
9dd96c0f6d compilation fix after wxSizer::Remove() change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 14:03:29 +00:00
Robert Roebling
77efa6a8fc Minor changes to printing sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 12:41:01 +00:00
Robert Roebling
cfcc393212 Font work.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 12:40:45 +00:00
Robert Roebling
138618acb9 Small speed up to fonts and support for scaling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 12:39:51 +00:00
Václav Slavík
e046e5f1e7 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 12:36:48 +00:00
Václav Slavík
778262c49b don't forget to backport Robert's GetInternalFont change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 12:36:28 +00:00
Gilles Depeyrot
99c2d4f20c added CarbonFrameworkLib to CodeWarrior 5 projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 11:24:49 +00:00
Vadim Zeitlin
1558859090 added iosfwrap.h (wrapper for <iosfwd>)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 00:35:19 +00:00
Vadim Zeitlin
65f19af139 added iosfwrap.h (wrapper for <iosfwd>)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 00:12:12 +00:00
Vadim Zeitlin
5d76f46282 added support for non flexible (in one direction only) flexible sizers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-26 00:04:24 +00:00
Vadim Zeitlin
2abb9d2f17 added wxArray::SetCount()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 23:47:33 +00:00
Vadim Zeitlin
0bbe4e299c documented wxT(), _T(), _()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 22:49:41 +00:00
Mattia Barbon
5709329c88 Compilation fix for changed wxSizer::Remove() signature.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 16:44:43 +00:00
Vadim Zeitlin
c781807d89 removed wxICON_IS_BITMAP, it is now always (implicitly) set to 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 13:06:00 +00:00
Vadim Zeitlin
e0d8fb4572 restored int (instea of size_t) in Remove() and Detach(); TRUE/FALSE -> true/false
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 12:50:32 +00:00
Vadim Zeitlin
d162a7ee7d removed warnings about using the deprecated functions and replaced untyped
wxLists with the type safe equivalents (patch 668204 from Dimitri)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 12:28:51 +00:00
Vadim Zeitlin
5e3841bf80 fixed typo in library name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 12:13:36 +00:00
Vadim Zeitlin
8e41796c6c File/DirExists() are const now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 12:01:57 +00:00
Gilles Depeyrot
df861444a1 added CarbonFrameworkLib to CodeWarrior 5 projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 11:52:00 +00:00
Gilles Depeyrot
2c74cde0c6 added CarbonFrameworkLib to CodeWarrior 5 projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 11:08:08 +00:00
Ron Lee
04cd30dea2 Update wxList operators, TRUE, FALSE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:52:21 +00:00
Ron Lee
cdd64cc06c Upated list operators, TRUE, FALSE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:44:53 +00:00
Ron Lee
8f91dda1b4 Don't use bitmap by default.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:38:01 +00:00
Ron Lee
4f8090e092 Update list operators, s/TRUE/true/ etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:35:21 +00:00
Ron Lee
a0f3867a6a Don't default to using bitmap.
Replaced old list operators.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:26:33 +00:00
Ron Lee
8ddf18dd0d Updates to packaging from the 2.4.0.2 release.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:20:13 +00:00
Ron Lee
c155898a21 Added missing quantize.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 04:09:06 +00:00
Vadim Zeitlin
7b4c314952 moved GetRed() in its correct place in alphabetical order
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 01:09:42 +00:00
Vadim Zeitlin
01802c507c typo fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-25 01:07:20 +00:00
David Webster
4fd899b671 Support for new native OS/2 tree control with drag-and-drop.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 22:31:41 +00:00
David Webster
c0ae383ac0 Support for new native OS/2 tree control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 22:26:04 +00:00
Julian Smart
5d9ea849d8 Removed spurious character
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 13:51:56 +00:00
Julian Smart
85b7bb3557 Applied patch [ 673055 ] Text rendering in wxGTK 2.4.0 and GTK2 fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 12:36:04 +00:00
Julian Smart
82e5f91bff Applied patch [ 668155 ] Refresh problem when msgbox is shown
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 12:29:06 +00:00
Julian Smart
c8c5c7f62e Applied wxFileHistory menu separator patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 12:20:51 +00:00
Julian Smart
e910c00040 Only use patch from Otto Wyss on universal, for now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 12:12:06 +00:00
Julian Smart
95bcc40c74 Applied patch [ 666379 ] CalCtrl doesn't use best sizes for the year combobox
In the calender the size of the combobox for the year
is just defined by a margin from the month combobox to
the left border. While in wxUniv the year control can't
show all 4 digits, in wxMsw it show almost twice as
much.Instead the year should use it's best size and be
left aligned to the calendar. Just in case the month in
any language is longer than it has space in the
calendar it is shortend.This way the year always can
show the 4 digits.

This patch relies on the fact that a combobox has a
good best size implementation. This is not the case
with wxMSW but I don't know why. In wxUniv there is
another patch [634896].


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 12:00:28 +00:00
Julian Smart
53b982112d Applied patch [ 665806 ] Better slider test in widget sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 11:55:29 +00:00
Julian Smart
5cdff2990b Applied patch [ 665088 ] Setup options cleanup (wxUniv)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 11:53:06 +00:00
Julian Smart
6766e5d136 Applied patch [ 621451 ] Fixed version of wxSlider class
Otto Wyss

This patch corrects several bugs in the wxSlider class
for the wxUniversal/MSW port. It affects the files
"slider.h", "slider.cpp", "win32.cpp" and "gtk.cpp"
(and others). The slider should now work as expected. A simple test
program can be downloaded from

"http://dpartialmirror.sourceforge.net/Test/".


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 11:23:52 +00:00
Vadim Zeitlin
350777b68f added and documented wxDirTraverser::OnOpenError
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 00:32:17 +00:00
Vadim Zeitlin
d1be6261e3 mention Watcom makefile for wxBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 00:31:15 +00:00
Vadim Zeitlin
2f0c19d0a8 minor changes to wxDir test code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-24 00:07:42 +00:00
Mattia Barbon
182c0f4675 Removed backported changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-23 20:38:55 +00:00
Mattia Barbon
9f667cbcb2 Clearly indicate that DialogEd requires wxr to compile.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-23 20:30:40 +00:00
Václav Slavík
a663cce7f9 removed wxEncodingConverter from docs where wxMBConv should be mentioned instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-23 19:49:53 +00:00
David Webster
c4f4cf895c Try this again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-23 14:22:05 +00:00
Vadim Zeitlin
06e8e72d84 updated for the latest makewat.env changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 23:03:35 +00:00
Vadim Zeitlin
ae7583b4bf yet more doc fixes to backport
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 21:49:06 +00:00
Vadim Zeitlin
3492e7c804 fixed Update() signature
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 21:46:45 +00:00
Vadim Zeitlin
efa7066d36 use correctly defined LIBPAGESIZE instead of 512 for the page size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 21:02:34 +00:00
Vadim Zeitlin
8bbbae215c made wxBitmapRefData private (actually, this also fixes some bug so it's not absolutely gratitious, but I already closed the bug not knowing that my cvs checkin was going to timeout and die and don't remember any more what it was...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:43:02 +00:00
Vadim Zeitlin
33a7c3dd0b linking fix for wxUSE_WCHAR_T=0: always provide wxStrtok() unless HAVE_STRTOK_R is defined
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:32:43 +00:00
Vadim Zeitlin
545d1e6050 update Watcom section; minor additions to the other ones
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:31:04 +00:00
Vadim Zeitlin
a7b4607f4a compilation fixes for OpenWatcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:19:23 +00:00
Vadim Zeitlin
c9b6238d67 don't always rename the files before compiling with Watcom, this is not needed any longer with OpenWatcom (but still keep the possibility to enable this file renaming for older versions)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:15:39 +00:00
Vadim Zeitlin
a0499e2f21 new (for wxBase) or updated and (hopefully() improved Watcom makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:13:52 +00:00
Vadim Zeitlin
23d2edff35 fixed an unused parameter warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:10:49 +00:00
Vadim Zeitlin
7d2304132b no changes (modeline tweaked)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 17:04:12 +00:00
Vadim Zeitlin
23efb556d9 corrected and expanded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-22 16:04:22 +00:00
David Webster
b45bca403a New native OS/2 list control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 23:46:27 +00:00
David Webster
9794cae1b3 New native OS/2 list control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 23:35:16 +00:00
David Webster
c220541de4 New native OS/2 list control support.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 23:34:02 +00:00
Václav Slavík
730dfeb496 patch 672127: Adds required check for wxUSE_WXHTML_HELP to chkconf.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 23:28:07 +00:00
Vadim Zeitlin
9e300531e5 compilation fix for the last check in (sorry)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 19:57:34 +00:00
Gilles Depeyrot
f823cacbda corrected wxList::Node declarations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 19:44:23 +00:00
Vadim Zeitlin
7eb833e673 attempt to fix crash in DeleteAllItems()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 18:56:31 +00:00
Julian Smart
e7b6ce1cf9 Updated wxBitmap overview
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-21 08:58:30 +00:00
Václav Slavík
63a76696df fixed MGL libraries detection code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-20 23:23:57 +00:00
Mattia Barbon
c3f64df223 Fixed a typo in makefile.vc, updated version numbers in templates
(.DSPs were already up to date).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-20 21:57:10 +00:00
David Webster
dc259b7926 TRUE not true, FALSE not false
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-20 21:22:43 +00:00
Václav Slavík
cba5a276e4 added wxART_MISSING_IMAGE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-20 00:31:28 +00:00
Václav Slavík
e879e020e7 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 23:32:04 +00:00
Chris Elliott
18f7d0e1db commit missing .rc file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 21:35:06 +00:00
Václav Slavík
82e94f591f updated for new/better way of declaring wxART_xxx constants
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 18:10:47 +00:00
Václav Slavík
214bdb93da use wxART_BROKEN_IMAGE in wxHTML
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 18:10:09 +00:00
Václav Slavík
fd397f9966 use wxART_MISSING_IMAGE in wxHTML
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 18:08:44 +00:00
Vadim Zeitlin
5ff72dc423 added --with-wxdir=DIR option
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 12:04:07 +00:00
Mattia Barbon
db8b7c5061 More changes to be backported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 10:18:50 +00:00
Mattia Barbon
24dc054793 Patch [669503] Patch to CW7 wxMSW project file
from Igor Mikolic-Torreira


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18822 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 10:15:45 +00:00
Mattia Barbon
a203834e6b Patch [669508] Define Win32 symbols for CW in platform.h
from Igor Mikolic-Torreira


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 10:10:54 +00:00
Mattia Barbon
cceb71da44 Patch [665886]: Fix smapi.cpp to support new for loop scoping.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 10:01:52 +00:00
Mattia Barbon
1bc822dfb5 Derive wxBitmap from wxBitmapBase in wxMotif, with the appropriate
changes to wxIcon.
  Fix deprecation warnings and use %p to format WXWidget in debug output
(fixes the 4 non-deprecation warnings).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 09:52:29 +00:00
Ron Lee
2fda214570 We surely don't need two debugging sections,
called one Logging features instead.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-19 08:20:38 +00:00
Václav Slavík
192ce0bec9 better XRC handler for wxToolBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 23:56:36 +00:00
Václav Slavík
432be5aade reformatted for 79 chars width and added wxToolBar docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 23:50:36 +00:00
Václav Slavík
c37ffc1fef updated wxToolBar handler to support new wxToolBar features
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 23:49:28 +00:00
Mattia Barbon
fd304d989b Fix some wxMotif build warnings about deprecated methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 13:01:17 +00:00
Vadim Zeitlin
52c71b808f experimental --inplace flag implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 03:09:08 +00:00
Vadim Zeitlin
8d90d2f25f attempts to fix vsnprintf() detection under HP-UX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 02:40:03 +00:00
Vadim Zeitlin
ec0d6da38d attempts to fix vsnprintf() detection under HP-UX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 02:33:13 +00:00
Vadim Zeitlin
677eb52d3f no real changes, just cleanup after merging in Vaclav's changes which were the same as I had done locally (but forgot to commit)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 01:53:08 +00:00
Vadim Zeitlin
1b80ba97f3 fixed resource leak in MemoryHDC (closes bug 670016)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 01:51:05 +00:00
Václav Slavík
cc81d32f2b TRUE/FALSE -> true/false in documentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:16:34 +00:00
Václav Slavík
4aa3178674 why the heck should something that reacts on wxID_CLOSE be called OnQuit?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:03:59 +00:00
Václav Slavík
e7266247d5 added wxFileName::MakeRelative test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:03:30 +00:00
Václav Slavík
65d8ef1e73 added --disable-compat24, 22 compatibility is off by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:02:32 +00:00
Václav Slavík
b4a89d27eb wxLocale::Init bugfix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:01:41 +00:00
Václav Slavík
56acdfef2f use wxFileName::MakeAbsolute istead of Normalize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:01:29 +00:00
Václav Slavík
0894707e7c added wxFileName::MakeAbsolute
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:01:18 +00:00
Václav Slavík
7f891ef107 no need to have this VMS-only; removed TABs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-18 00:00:22 +00:00
Robin Dunn
c9c50e2395 wxMac (and maybe others?) get PAGEUP/PAGEDOWN instead of NEXT/PRIOR
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 22:52:50 +00:00
Vadim Zeitlin
4522bb3ecf use wxDynamicLibrary instead of wxPluginManager
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 20:52:39 +00:00
Mattia Barbon
d66dcb6022 Under Cygwin, in platform.h default to wxMSW unless otherwise specified.
Do not #define __WIN95__, __WINDOWS__, __WXMSW__ on the command line for
Cygwin/MinGW (when build with makefiles), since platform.h already does
that for us.
  Always check for __WIN32__, not for WIN32 or _WIN32 (just for
consistency).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 20:01:20 +00:00
Václav Slavík
b78a78f779 (probably) fixed wxLocale::Init with Borland C++
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 19:58:53 +00:00
Stefan Neis
e107213f89 Fixed typo in test for WX_STATVFS_T
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 14:02:25 +00:00
Vadim Zeitlin
b448f30e9c Borland apparently uses for int64 in printf(), not
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 13:27:20 +00:00
Vadim Zeitlin
525582584c check for NULL szLocale in Init()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 12:39:00 +00:00
Vadim Zeitlin
649a48a216 tried to make wxCloseEvent docs more clear too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 11:58:40 +00:00
Vadim Zeitlin
448025b0dc documented UngetWriteBuf overload
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 11:04:58 +00:00
Stefan Csomor
f81127c568 added horizontal scrollbars to listboxes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 10:42:33 +00:00
Stefan Csomor
b9e3bdc539 make sure wxMac fonts are never AntiAliased (measuring problems would occur, because char-widths become fractional then)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 10:29:59 +00:00
Stefan Csomor
9f67b77690 include needed for CFString conversion routines (param default)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 10:27:48 +00:00
Stefan Csomor
ac17f9b104 Get/SetNoAntiAliasing implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 10:24:59 +00:00
Vadim Zeitlin
24174c30e0 tried to make Close() docs more clear
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-17 01:32:38 +00:00
Ron Lee
dc18c8f1b2 update libpng-dev deps.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 23:55:51 +00:00
Vadim Zeitlin
974d9c98f0 added links to the event docs from the default event processing section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 22:50:30 +00:00
Mattia Barbon
0ec6fd04eb Remove calls to a couple of deprecated methods, fix wxMotif build with
GCC 3.2, remove deprecated (and unused) fstream.h.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 20:44:47 +00:00
Mattia Barbon
46675b4610 Implement vertical toolbar under Motif.
Notify parent frame when toolbar is moved/resized/added/deleted so that
frame childs can be correctly repositioned.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 20:41:07 +00:00
Julian Smart
b05206c98b Added About menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 15:24:13 +00:00
Julian Smart
476d311420 Added Mac icons to helpview
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 15:21:19 +00:00
Julian Smart
2c4c6c0ad0 Added CW project file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 14:31:41 +00:00
Stefan Csomor
c718e0b31c added missing includes for wxMac specific additions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 14:19:14 +00:00
Stefan Csomor
d3d3426196 adapted wxSizer::Remove type to new header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 14:11:24 +00:00
Vadim Zeitlin
2f82c92009 forgot to include wxControlWithItem docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 13:21:38 +00:00
Vadim Zeitlin
f21fcc9d2e the find dialog is created hidden, as all the other top level windows, but the docs said otherwise
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 13:03:50 +00:00
Vadim Zeitlin
eff41ee7f5 fixed detection of whether we're invoked from the top level configure or not
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 12:58:02 +00:00
Julian Smart
d9b21c9f47 ReDOS-ified project files
Added menubar for wxHTML help viewer on Mac
Added some Mac-specific code for HelpView


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 12:26:09 +00:00
Stefan Csomor
5ab6aab880 preferences menu implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 06:54:47 +00:00
Stefan Csomor
ce72eadb4d renaming because of conflicts with base Create::
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 06:53:32 +00:00
Stefan Csomor
22ab1509cd xml projects for CW 8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 06:50:42 +00:00
Stefan Csomor
1b6b675be3 additions for __MWERKS__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 06:47:22 +00:00
Stefan Csomor
513c3efc49 conversion scripts for CW 8 Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-16 06:44:49 +00:00
Václav Slavík
4e0862c4fd XRC fixes can be backported
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 23:22:13 +00:00
Václav Slavík
e5db16098c fix object_ref handling in XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 23:14:27 +00:00
Václav Slavík
317a0d7361 1. made XRC immune against changing CWD
2. fixed object_ref handling


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 23:14:07 +00:00
Ron Lee
dc5e3b9ec5 gah. escape $ in the here block.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 22:50:23 +00:00
Ron Lee
82a649b67c reverted the --inplace addition and instead documented the use of
--prefix and --exec-prefix to do the same thing.  I can't think of
any way to do this right now with one flag without making some
assumption about the users working habits.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 22:44:38 +00:00
Vadim Zeitlin
1fd16ce13c added checks to prevent running sub configure scripts directly (they can only
be executed by the top level configure)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 22:04:32 +00:00
Vadim Zeitlin
89e6bf6d7a updated configure to match configure.in changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 21:30:05 +00:00
Vadim Zeitlin
134ecc85d0 added WXWIN_COMPATIBILITY_2_4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 21:15:00 +00:00
Julian Smart
d118863525 Applied David's fix for not autoconf-ing on RHL8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 16:12:12 +00:00
Vadim Zeitlin
cdc1d13baa Maximize(FALSE) change can be backported
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 14:59:28 +00:00
Vadim Zeitlin
a0be434e78 fixed calling Maximize(FALSE) before the window is shown (bug 667665)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 14:58:17 +00:00
Vadim Zeitlin
a3bc6643b7 make uninstall should remove wxwin.m4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 14:50:36 +00:00
Vadim Zeitlin
8da8907446 corrected Get/SetFrame() parameter/return type
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 14:45:08 +00:00
Vadim Zeitlin
9b67a3fd2e removed OnXXX() methods, added new default event handling section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 13:27:15 +00:00
Julian Smart
732b838637 Patch for Winlib: struct stat is defined in sys/stat.h, which is not
pulled in by unistd.h on some system.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 08:17:25 +00:00
Vadim Zeitlin
37a0271532 update wxStaticText check in revisions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 00:55:36 +00:00
Vadim Zeitlin
b826684e26 fix for the previous commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-15 00:54:46 +00:00
Vadim Zeitlin
747798efb8 some mor minor bug fixes which can be backported
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 23:48:19 +00:00
Vadim Zeitlin
6a629e51df fixed wxStaticText best size calculation (closes bug 667324)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 23:47:12 +00:00
Vadim Zeitlin
5553c7cfe0 Start() should resume the stopwatch if it is suspended
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 22:22:27 +00:00
Julian Smart
a006e78bd3 Fixed refresh bug on early versions of MacOS X by
refreshing whole window on (de)activation


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 21:10:32 +00:00
Stefan Csomor
ab83849cea added TARGET_CARBON and __MACH__ info
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 20:34:16 +00:00
Gilles Depeyrot
0211e0d557 clarified some Mac OS related preprocessor defines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 20:15:44 +00:00
Vadim Zeitlin
0b481c72b6 compilation fix for wxUSE_CONSTRAINTS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 19:40:55 +00:00
Mattia Barbon
0cd0d9a5ae #define HAVE_W32API_H for Cygwin/GCC 3.x, too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 18:29:10 +00:00
Julian Smart
2e38557f30 Applied patch [ 667563 ] Wine: compile fix for using glibc/msvcrt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 09:59:31 +00:00
Vadim Zeitlin
333b7dac15 fixed incorrect cast in wxRegKey:GetName()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 09:02:38 +00:00
Jouk Jansen
5a2db5f1df Committing in .
Updates for OpenVMS support

 Modified Files:
 	wxWindows/src/motif/descrip.mms
 	wxWindows/src/unix/utilsx11.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 07:22:31 +00:00
Gilles Depeyrot
eb22f2a6dc updated source to not use deprecated wxList methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-14 07:01:22 +00:00
Vadim Zeitlin
8baeca5b24 mention Solaris 7 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 23:16:18 +00:00
Vadim Zeitlin
85da04e95b use WX_STATVFS_T instead of trying to guess statvfs() argument
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 21:55:24 +00:00
Vadim Zeitlin
54ab82b3f9 added configure test for WX_STATVFS_T
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 21:54:29 +00:00
Ron Lee
9cbee2ceee Improved const correctness.
Clear wxWindow containing sizer on Remove( index ).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 19:31:37 +00:00
Stefan Csomor
6b57b49ae3 cursor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 19:19:35 +00:00
Stefan Csomor
c6a071d2d2 cursor functionality expanded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 19:17:53 +00:00
Stefan Csomor
8165e9b648 additional infos for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 19:07:08 +00:00
Ron Lee
b1d4dd7add Split this out from other changes to keep things sane..
wxDeprecated KeyCode.
wxDeprecated old wxList compat methods.
Replaced a large number of them in the gtk build already, but there are
still plenty more so feel free to help nuke them as you find them.
s/^I/    / and s/TRUE/true/ etc. a couple of these too.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-13 05:17:41 +00:00
Václav Slavík
5797172366 added info about ShowFullScreen changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 23:51:52 +00:00
Vadim Zeitlin
64f590eaa1 DeleteAllItems() does send DELETE_ITEM events (closes bug 664281)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 23:34:29 +00:00
Vadim Zeitlin
a40c9444bb compilation fix for wxUSE_RICHEDIT == 0 (closes bug 662252)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 23:24:46 +00:00
Vadim Zeitlin
14347204d3 more docs about compiler constants
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:56:05 +00:00
Vadim Zeitlin
a30c309aa8 added wxCHECK_GCC/W32API_VERSION
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:55:05 +00:00
Vadim Zeitlin
652703802c OpenWatcom fixes may be backported
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:45:49 +00:00
Vadim Zeitlin
4c87eb44c2 OpenWatcom compilation fixes (patch 665959)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:40:48 +00:00
Vadim Zeitlin
c5c843e007 compilation fix for wxUniv (patch 664699)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:31:16 +00:00
Vadim Zeitlin
b2697d4205 unTABbed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:30:51 +00:00
Vadim Zeitlin
29f82345df set wxUSE_WIZARD to 1 by default now that it works (patch 663321)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:28:26 +00:00
Vadim Zeitlin
890741df89 removed unneeded (and causing link errors) wxArrayPages from wizard code (patch 663321)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:26:31 +00:00
Vadim Zeitlin
e30285abc6 compilation fixes for non default wxUSE_XXX values (patch 662781)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:20:46 +00:00
Vadim Zeitlin
12c44eb56d corrected m_commandString type to wxString (patch 661648)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 22:06:31 +00:00
Vadim Zeitlin
7f04165e6f don't call stat() *and* lstat() (as if the file dialog wasn't already slow enough...); minor code cleanup (removed a few #ifdef's, TABs and other crap)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 14:24:32 +00:00
Mattia Barbon
7b507740a8 Remove unneeded dependencies.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 14:09:30 +00:00
Mattia Barbon
4995ca8037 Remove use of deprecated KeyCode accessor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-12 13:52:12 +00:00
Mattia Barbon
a43d5db22b Changes to be backported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 21:02:16 +00:00
Mattia Barbon
77e00fe9da Do not use deprecated functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 21:00:50 +00:00
Mattia Barbon
0fccfc51e6 Fix linking problems with MSVC 5.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 20:57:16 +00:00
Mattia Barbon
1c1572053a Fix PCH problems with some versions of CodeWarrior.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 20:55:27 +00:00
Mattia Barbon
a29ee70613 If -1 is used for width/height, use best size.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 15:03:42 +00:00
Mattia Barbon
07157c53d0 Use checkbox if togglebutton not available.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 15:00:26 +00:00
Mattia Barbon
a969055e89 Removed unused, unimplemented and undocumented wxBitmapCheckBox stub.
Minur cleanup in wxCheckBox::Create.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 14:42:38 +00:00
Mattia Barbon
a4e64fb55e Documented wxMotif filedialog limitations WRT wildcard syntax.
Modified filedialog to either extract the wildcard (if only one wildcard
is present) or assert (if more than one is present).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 14:36:25 +00:00
Stefan Csomor
992c81e203 using the new alerts under OSX - no string255 limits anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 11:57:25 +00:00
Stefan Csomor
3d963f8137 added conversion function to CFStringRefs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 11:56:48 +00:00
Stefan Csomor
67e3d9d399 removed commented out snippets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 11:54:27 +00:00
Ron Lee
094e328c21 Changes resulting from the 2.4.0 release run.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 03:50:44 +00:00
Vadim Zeitlin
82c23bb595 removed TABs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 23:52:17 +00:00
Vadim Zeitlin
1ec5cbf3de removed wxLog::HasPendingMessages() (it can't be made to work correctly with wxLogChain); don't send the messages going to a log file to debug output under MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 23:47:14 +00:00
Vadim Zeitlin
6dd16e4f26 removed style parameter from MSWCreate(), it is unneeded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 23:27:17 +00:00
Vadim Zeitlin
29020b9048 use MSWCreateControl() instead of duplicating its code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 23:24:44 +00:00
Vadim Zeitlin
278c927dd9 removed style parameter from MSWCreateToolbar(), it is unneeded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 23:23:49 +00:00
Vadim Zeitlin
eb199c515b removed CopyObject(), added copy ctor, corrected Dump()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 17:57:45 +00:00
Stefan Csomor
450a5bdd2d corrected type for text document (non standard save handler)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 17:57:05 +00:00
Stefan Csomor
738a6daa71 routing all apple events to the document manager instance if present, fully supporting launch by document double click, print by draging the document onto the printer icon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 17:56:24 +00:00
Stefan Csomor
72625f830b switching to safe yields, because we got into loops when handling print document apple events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 17:52:54 +00:00
Vadim Zeitlin
106844da7d moved assert for parent window not being a static box to common code where it should catch more cases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 17:19:57 +00:00
Stefan Csomor
b8afeb4321 added code for respecting the creator & types when saving files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 16:24:01 +00:00
Stefan Csomor
521a2cb154 makefile important for setting the correct creator of the app
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 16:18:08 +00:00
Stefan Csomor
eb017efed9 Register Default Creators under wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 16:13:40 +00:00
Stefan Csomor
1f6189acd0 added custom icons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 16:12:32 +00:00
Stefan Csomor
e5940192b2 added custom icons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 14:44:51 +00:00
Stefan Csomor
95d43281c3 no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 14:44:06 +00:00
Julian Smart
d95861551a Corrected DLL version number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 13:25:20 +00:00
Julian Smart
c4f48f14f1 Fixed corrupt files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-10 11:38:51 +00:00
Gilles Depeyrot
f346733b72 library installation base name and wxMac resources file base name
must be identical in order for the resource file to be found


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-09 20:57:31 +00:00
Gilles Depeyrot
23f0f906a2 removed execcmn from list of files to compile in release target
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-09 06:44:57 +00:00
Václav Slavík
d1a9c82bd1 fixed ANSI/Unicode incompatibility of the cache (bug 663396)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-08 19:44:53 +00:00
Vadim Zeitlin
79f306d721 removed unneeded code which was inside #if 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-08 12:33:11 +00:00
Vadim Zeitlin
381adb7449 #undef LoadBitmap() too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-08 12:27:28 +00:00
Julian Smart
d11cd571c9 Fixed DSPs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-08 10:03:54 +00:00
Julian Smart
b1e635598d Applied cvsignore patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-08 10:01:33 +00:00
Julian Smart
0447ac8e64 Eliminated streams from scoredg.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-08 09:14:35 +00:00
Vadim Zeitlin
90b1d65f2f define true/false if the compiler doesn't have them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 22:29:59 +00:00
Mattia Barbon
038305d008 Left/right arrows were swapped.
Fix wxSP_WRAP handling.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 21:41:28 +00:00
Julian Smart
a12df58228 Corrected some typos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 21:19:13 +00:00
Julian Smart
b4da152ea3 Removed old __WXWINE__ support (obsoleted by new __WINE__ symbol)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 18:11:53 +00:00
Julian Smart
eaa6418668 Removed redundant <search.h> inclusion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 16:49:22 +00:00
Mattia Barbon
3d8704720a Reverted accidental commit.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 15:17:40 +00:00
Mattia Barbon
1d390a62f9 Escape some _.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 15:15:41 +00:00
Václav Slavík
ddbfcced85 removed wxTLW cruft now that all ports have it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 15:03:56 +00:00
Julian Smart
5283098e13 Applied patch [ 662321 ] Port of wxWindows to Wine
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 13:49:08 +00:00
Ron Lee
12a3f2275c Deprecated wxSizer::Remove( wxWindow* ), s/Remove/Detach/ in most places.
Made wxSizer child list typesafe.  I've not added the wxList implicit
conversion kludge yet, let's see who complains first perhaps..

Deprecated wxSizer::{G,S}etOption in favour of {G,S}etProportion in line
with the parameter name change in the docs.

Added {G,S}etSpacer consistent with the accessors for windows/sizers.

Made all wxSizer index parameters size_t -- we support no sensible
interpretation for negative indexes in them.  Hopefully this will
cause no real problems, but code doing (eg. Remove( 0 )) will need
to change to use 0u to resolve the ambiguity with overloaded members.
This is probably a Good Thing though, ymmv.

s/FALSE/false/g ; s/TRUE/true/g ; s/wxASSERT/wxASSERT_MSG/g in sizer.{cpp,h}

Fixed (I hope) the brokenness in wxSizer::Show -- I have no code to test
this yet, so it's a blind change, but spacers should now be hidden correctly
instead of ignored, and it should be properly reversable over multiple
calls now too.

removed pointless private scoping around DECLARE_CLASS macros.

Replace 0's I added previously with NULL -- not like that will end the
email thread either..

Added Add( wxSizerItem * ) & co.  There are probably a couple of other
places we can usefully do something like this too.  Stopped short of
refactoring everything to raise some issues about sizer method recursion
on -dev.

Updated wxSizer docs some more, they are still incomplete but getting
better.

wrapped KeyCode in wxDEPRECATED, converted all (gtk build) instances
to GetKeyCode.  There may be a few left for other ports.

Fixed a couple of other random compile warnings along the way.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 10:22:07 +00:00
Vadim Zeitlin
db50ec5a50 workaround for not appearing vertical scrollbar in wxTE_RICH2 controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 01:10:03 +00:00
Vadim Zeitlin
29343d0492 made the #error message less self-contradictory
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 23:13:13 +00:00
Vadim Zeitlin
5e2411ab49 fixed the return type of LoadIcon()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 22:46:53 +00:00
Gilles Depeyrot
b447a1a7bc corrected release target which included some include files in the build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 21:35:07 +00:00
David Webster
2f60dbe2e9 OS/2 updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 21:35:03 +00:00
David Webster
af30429f59 Remove ctl3d32.lib from make.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 21:33:35 +00:00
Julian Smart
9419379a37 Make it build in Unicode mode again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 21:12:15 +00:00
Mattia Barbon
0de6dfa701 Implemented wxToplevelWindowMotif. (forgot to commit)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 20:54:54 +00:00
Gilles Depeyrot
7563339557 corrected getting FSRef associated with the POSIX path in wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 19:38:18 +00:00
David Webster
0904e5e12a OS/2 patches missing from this version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 17:50:21 +00:00
David Webster
57ff8a875b no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 17:42:48 +00:00
Mattia Barbon
798a4529fe Implemented wxToplevelWindowMotif.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 16:36:23 +00:00
Mattia Barbon
f58d1d9978 Aparently someone modified templates/filelist.txt without committing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 16:32:39 +00:00
Gilles Depeyrot
79597b2a4a updated Project Builder project for MoreFilesX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-06 07:21:05 +00:00
Robert Roebling
bbd006c0ce Removed usage of GetInternalFont() from GTK 2.0. This
also removes any usage of GdkFont. I left the actual
    deprecated method so that the change can be bckported
    without binary incompatible changes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 22:59:44 +00:00
Robert Roebling
60d85ccb3d Removed usage of GetInternalFont.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 22:57:45 +00:00
Robert Roebling
cba9ef7f73 Minor fix related to wxMiniFrame drawing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 22:56:57 +00:00
Robert Roebling
ba71852396 Corrected wxMiniFrame for GTK2 and removed its
use of GetInternalFont(). Somehow, the close
    button doesn't appear.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 22:55:38 +00:00
Vadim Zeitlin
8b39c006d8 #undef LoadIcon() too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 22:11:24 +00:00
Stefan Csomor
f1872c18e6 region calculation for windows with borders too small
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 18:25:27 +00:00
Vadim Zeitlin
7379599933 compilation warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-05 16:20:32 +00:00
Václav Slavík
48594fd2cd added my patches to the list of things to backport to 2.4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 23:51:46 +00:00
Václav Slavík
8166ab4343 added more robust wxTLW::ShowFullScreen implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 23:34:34 +00:00
Julian Smart
ad0e4b6691 Use nicer (swiss) font for default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 20:53:28 +00:00
Julian Smart
db0834fab8 A script for helping make RPMs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 20:31:11 +00:00
Václav Slavík
7071c92817 gcc has __attribute__((deprecated)) since version 3.1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 13:29:36 +00:00
Julian Smart
17e7431567 Indicated in the source and on initialisation that this is an obsolete sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 11:04:39 +00:00
Mattia Barbon
e9e4acc519 Remove #ifdef __WXSTUBS__ from headers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 09:22:53 +00:00
Robin Dunn
52d6f640e8 With the fix in gtk/font.cpp and switching to an wxplicit wxBOLD, it
should be okay to uncomment the code setting the label font.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 03:59:26 +00:00
Robin Dunn
cd9a673cd7 Ensure that the wxNativeFontInfo internal data is copied when the
wxFontRefData is.  This solves a wxGTK2 problem where the
PangoFontDescription pointer is copied by the default assignment
operator, in a binary compatible way .


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 03:51:13 +00:00
Vadim Zeitlin
6431e33a50 added polish translations from Janusz Piwowarski
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 01:54:14 +00:00
Ron Lee
55804c9363 more thinko tweaks.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-04 00:12:50 +00:00
Ron Lee
deefd67952 Recommend python-xml for xrced.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 23:47:08 +00:00
Ron Lee
0ecfbbea12 Incorporate changes from 2.4 release.
Bump standards version.
Update overrides for 2.5
Disable generation of gtk-univ package.
Update wx-config manpage.
Add wxPython-tools manpage(s).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 22:51:42 +00:00
Ron Lee
6c99908c51 The exact version it was included doesn't appear to be documented
anywhere, but __attribute__ ((deprecated)) is empirically not
supported by gcc-2.95.4.  Best guess so far is 3.0 or 3.1 so I've
erred on the side of the former for now.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18551 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 20:52:10 +00:00
Robin Dunn
f3030ba726 Disable putting selected text in the Primary Selection, since wxGTK is
currenlty clearing the Clipboard when you do this.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 19:03:01 +00:00
Julian Smart
df37f0c65c Added opengl32.lib glu32.lib to OpenGL samples VC++ project files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 18:37:28 +00:00
Julian Smart
2188f34751 Added dialup to filelist.txt and wxUniv.dsp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 18:31:43 +00:00
Julian Smart
d89e39fcdc Added missing wx/frame.h inclusion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 15:24:56 +00:00
Julian Smart
12335fa6aa Clean up memory if have to exit early
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 14:59:07 +00:00
Julian Smart
c5f53eb8cb Added a note about 'make install'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 14:08:53 +00:00
Julian Smart
c3a6a2bc10 Only enable tooltips on WIN32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 13:40:43 +00:00
Julian Smart
c8f9a56b7c wxUSE_TOOLTIPs => 1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 12:53:33 +00:00
Stefan Csomor
be0b002a3e made static box only a frame region in all calculations (otherwise the background would not be redrawn in all situations)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 12:29:16 +00:00
Julian Smart
d4e5272b3a Applied patch [ 652336 ] Add tooltip support to wxUniv on Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 12:14:59 +00:00
Julian Smart
df4a528177 Added glcanvas.cpp, tooltip.cpp, taskbar.cpp, wave.cpp to wxUniv/MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 12:01:01 +00:00
Stefan Csomor
2ac013b1a5 recommit after mac binary lapsus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 09:59:32 +00:00
Vadim Zeitlin
478d4ab7cf IsStandard() shouldn't return TRUE for formats >= wxDF_PRIVATE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-03 01:04:16 +00:00
Vadim Zeitlin
3e6562c110 argh, erased one extra line accidentally in the last commit -- restored
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 23:59:09 +00:00
Vadim Zeitlin
59018c74fe wx(Individual)LayoutConstraints may be copied
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 23:55:28 +00:00
Vadim Zeitlin
00e7a427a0 compilation fixes after applying DECLARE_NO_COPY_CLASS() patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 23:46:08 +00:00
Vadim Zeitlin
22f3361e1c use DECLARE_NO_COPY_CLASS() where applicable (patch 633384)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 23:38:11 +00:00
Vadim Zeitlin
0becd47010 support for using DIBs for wxBitmap implementation (patch 649866)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 23:28:56 +00:00
Vadim Zeitlin
f178ab7e82 use StretchBlt() if available (part of patch 649866)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 23:25:17 +00:00
Václav Slavík
c75274f93c added wxDEPRECATED
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 22:52:47 +00:00
Václav Slavík
b254d1fe03 mark wxImage's wxBitmap functions as deprecated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 22:49:50 +00:00
Vadim Zeitlin
802df2b744 documented wxDateSpan
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 22:10:21 +00:00
Vadim Zeitlin
93401be962 added operator==() and !=() for wxDateSpan
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 22:07:51 +00:00
Vadim Zeitlin
e1e1272f20 implemented support for column label alignment (closes 215870)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 21:29:21 +00:00
Vadim Zeitlin
9baf5184bd the file containing the list of things which can be backported to 2.4 branch later
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 21:00:28 +00:00
Vadim Zeitlin
caa20b1e31 added test for wxLIST_FORMAT_CENTRE/RIGHT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 21:00:17 +00:00
Vadim Zeitlin
6770762dd3 set wxListItem mask automatically to the correct value when a SetXXX() method is called
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 20:59:40 +00:00
Vadim Zeitlin
df4ac4c7e9 fixed bug with wxTR_EDIT_LABELS not working with xwTR_MULTIPLE (bug 622089)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 20:21:41 +00:00
Vadim Zeitlin
d553ceb286 test InsertItems() trying to reproduce the bug 633150 -- but unsuccessfully
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 19:18:19 +00:00
Vadim Zeitlin
ea8e90b7ce show Univ prefix in wxWindows info dialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 18:43:56 +00:00
Vadim Zeitlin
a562f4fbde removed a couple of obsolete functions from wxDialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 18:39:32 +00:00
Stefan Csomor
47710b3b4f attempt to recommit , contained binary data for some reason
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 18:13:07 +00:00
Stefan Csomor
92629fa47b attempt to recommit , contained binary data for some reason
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 18:10:38 +00:00
Stefan Csomor
2beae4b5a5 easier angle conversion wx-mac , corrected elliptic arc which sometimes filled in the wrong direction, fixed rotated text under osx (OSX ignored hanging baseline attribute)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 16:30:53 +00:00
Stefan Csomor
f2d990adc1 corrected generation of all event members (client data) and implemented DoGetBestSize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 09:37:52 +00:00
Vadim Zeitlin
047f39deb9 fixed wxMutexLocker ctor signature (patch 660549)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 01:00:17 +00:00
Vadim Zeitlin
0f66923e84 say that EVT_TEXT_ENTER requires wxTE_PROCESS_ENTER to be set (closes bug 659948)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 00:45:40 +00:00
Vadim Zeitlin
fa06b433fc fixed wxCaret::SetSize() (closes bug 659209)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 00:41:47 +00:00
Vadim Zeitlin
cd916794f0 made generic EmulateKeyPress() to work with Delete and BackSpace (closes bug 658409)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-02 00:07:13 +00:00
Vadim Zeitlin
fdd04d720f typo fix (closes bug 654197)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 23:39:07 +00:00
Vadim Zeitlin
e08bbf3708 added a test for check tbar buttons state
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 23:36:08 +00:00
Vadim Zeitlin
30e0e2518f tried to fix compilation with Watcom 11 (should fix the bug 651492)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 23:18:44 +00:00
Vadim Zeitlin
9112af3fd1 fix for HAVE_EXPLICIT for VC++ 6.0 (closes bug 651314)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 22:58:53 +00:00
Robin Dunn
65ca8c0b79 Changed wxLOG_Max to be a smaller (but still large) value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 22:50:02 +00:00
Vadim Zeitlin
e2ca995fa3 don't send CHECKLISTBOX_TOGGLE event when Check() is called (closes bug 651140)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 22:41:10 +00:00
Vadim Zeitlin
a8dade3e27 added IsEmpty
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 22:09:41 +00:00
Vadim Zeitlin
3dabb1e51b added check/uncheck/toggle tests
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 22:09:14 +00:00
Vadim Zeitlin
bed5584e2a added wxControlWithItems docs, updated the others to refer to it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 22:08:11 +00:00
Gilles Depeyrot
0c98a14e54 use MoreFilesX instead of MoreFiles when building with Apple Developer Tools
added wxWindows version compatibility information to configuration summary


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 17:59:01 +00:00
Gilles Depeyrot
ec341c7e1f use MoreFilesX instead of MoreFiles when building with Apple Developer Tools
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 17:55:21 +00:00
Gilles Depeyrot
2d4e4f802f use MoreFilesX instead of MoreFiles when building with Apple Developer Tools
improved wxGenericDirCtrl when building with Apple Developer Tools
improved wxDirData to correctly handle hidden directories


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 17:53:02 +00:00
Gilles Depeyrot
15126fa8c2 MoreFilesX 1.0.1: A collection of useful high-level File Manager routines which
use the HFS Plus APIs wherever possible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 17:20:59 +00:00
Robin Dunn
edc738528a Added wxLog::Get/SetLogLevel
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-01 05:16:07 +00:00
Robin Dunn
8eb70827f3 Fixed problem of FormatText causing both the formatted and unformatted
text to be displayed


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 22:17:37 +00:00
Gilles Depeyrot
05159a2750 SourceForge patch #654210 to fix naming/numbering shared libs under OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 21:20:59 +00:00
Julian Smart
05ac7ac578 Corrected accidental pointer arithmetic in ClientToScreen and vice versa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 20:10:03 +00:00
Václav Slavík
fa2f5d3bc9 fixed encoding handling in ANSI mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 18:55:33 +00:00
Ron Lee
96fdbb60f1 Ok, so we don't need the extra bool at all, we can just zero the sizer
pointer in wxSizerItem.  :-)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 15:26:47 +00:00
Ron Lee
00976fe56b Add wxSizer::Detach so we can detach child sizers without deletion.
Updated wxSizer docs for this and a couple of other missing/outdated
things.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 13:02:15 +00:00
Vadim Zeitlin
41f0b62a32 fixed buffer overrun when reading CCITT group 4 compressed TIFF files (patch 646603)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 01:09:16 +00:00
Vadim Zeitlin
4fa47e5643 compilation warning fixes (patch 651719)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-30 01:00:49 +00:00
Mattia Barbon
e13f128877 Allow building in unicode mode with just "make -f makefile.g95 UNICODE=1"
without requiring setup.h modifications.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 19:37:10 +00:00
Mattia Barbon
9a718b8623 Small updates:
corrected some URLS, used correct/current capitalisation for MinGW and
Cygwin, plus some minor clarifications.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 19:32:06 +00:00
Julian Smart
916095ba21 Tweaked the wording slightly for VC++ 5 compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 18:46:16 +00:00
Ron Lee
a8853c78ed Oops, don't cut and paste between ports, and do test compile both states
of a macro guard...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 15:45:35 +00:00
Mattia Barbon
b9ecc16a80 LessTif 0.93 does not hang in wxWindow::ChangeFont as 0.87 did:
enable chainging window font again.
  Set/reset MappedWhenManaged flag when showing/hiding a window, otherwise,
since some common operations (moving, adding items to a listbox, ...) do
a Unmanage-Manage pair, calling Hide and then (for example) SetSize would
show the window again.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 07:59:02 +00:00
Mattia Barbon
17fe68bd23 Small correction: add WINDOWSLDLIBS when linking an executable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 07:54:16 +00:00
Ron Lee
99006e446e Added wxTreeCtrl::GetItemParent to deprecate GetParent.
Moved GetParent into WX_COMPAT_2_2 and exposed base GetParent in
that case too.

Replaced all lib/sample uses of wxTC::GetParent with GetItemParent.

Updated docs to suit.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 07:48:21 +00:00
Vadim Zeitlin
01a4679360 fixed wxALL_FILES definition in Unicode build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-29 01:38:49 +00:00
Julian Smart
0222a60b34 Use path separator, not "/"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-28 22:58:12 +00:00
Mattia Barbon
2dcb5b11f4 Allow using tmake from places other than the current directory.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-28 20:49:49 +00:00
Mattia Barbon
f657dbe781 Allow building Win32 DLL with wxGlCanvas using MinGW + configure.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-28 20:46:30 +00:00
Julian Smart
52ee226853 Updated some scripts
Small corrections to wxScrolledWindow doc


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-28 18:42:23 +00:00
Julian Smart
f54b065ea7 Fixed compilation by removing stream inclusion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-28 18:36:25 +00:00
Mattia Barbon
0a3451df8a Updated Svedish translation from Jonas Rydberg.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 22:24:23 +00:00
Mattia Barbon
3880dd5161 Fix Cygwin + makefile.g95 + wxUSE_PROLOGIO=0.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 22:07:46 +00:00
Mattia Barbon
78e376b56f Applied patch [ 652491 ] Update makefiles for mingw
from Greg Chicares, with some small modifications.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 21:58:36 +00:00
Mattia Barbon
17ebae657e Use wxWcslen instead of wcslen.
Work around a compiler bug: with (at least) GCC 2.95.3-5 under Cygwin,
the destructor for the global s_fileInfo is called twice (!). This does
hot happen if a function returning a reference to a static variable is
used.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 21:39:58 +00:00
Robin Dunn
91f580b235 Fix for potential divide by zero error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 21:16:16 +00:00
Mattia Barbon
762e199741 wxPerl notes for DocView.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 18:30:48 +00:00
Julian Smart
5f133dc1bb Applied patch [ 657501 ] SpinButton wraps 1 too much
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 15:21:34 +00:00
Julian Smart
16990160f6 Applied patch [ 658174 ] Adds wxT() and char->wxChar conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 15:15:29 +00:00
Julian Smart
22f2279860 Applied patch [ 658505 ] Updates documentation for wxTimeSpan
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 15:12:38 +00:00
Julian Smart
657c88188f Applied patch [ 657515 ] Widgets sample notebook out of range
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 15:02:48 +00:00
Julian Smart
317246dfcb Applied patch [ 658786 ] Removes unresolved symbols from strconv (wxUniv/MSW)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 14:59:35 +00:00
Julian Smart
f9eee2db81 Applied patch [ 657969 ] Removes #if wxUSE_VALIDATORS code
for wxOS2


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 14:52:14 +00:00
Julian Smart
8251c0d6ac Added a necessary pixel to height if wxTB_NODIVIDER is specified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 14:40:52 +00:00
Julian Smart
d07ce169a8 Fixed bug [ 657949 ] Segmentation fault in ~wxFileHistory
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 14:25:59 +00:00
Julian Smart
0156594543 Improved SetScrollbars fix using client size and max of window and virtual
sizes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18422 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-27 14:17:55 +00:00
Václav Slavík
85452d7496 fixed XRCID() lookup of numeric control IDs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-26 23:36:34 +00:00
Robin Dunn
ba5da12f72 Use WXDLLEXPORT_DATA for wx*NameStr's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-26 19:16:49 +00:00
Václav Slavík
4249ec2c52 1) fixed compilation of wxBitmap, wxIcon toplevel nodes
(to be backported into 2.4.1)
2) fixed wxrc when using -o dirname/filename


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-25 15:23:44 +00:00
Mattia Barbon
99ab3e3f56 Use wxClientDataDictionary for client data.
Factored out common code into wxSizeKeeper.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-24 18:41:42 +00:00
Mattia Barbon
c13c9657a4 Use wxXmString instead of XmString.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-24 18:37:10 +00:00
Julian Smart
8a653baab6 Reverted cross-compile patch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-24 09:51:45 +00:00
Julian Smart
d0604192a5 Don't pass zero width or height to SetVirtualSize or layout is
messed up.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-23 23:42:13 +00:00
Vadim Zeitlin
4b4381cb84 minifram.cpp is a low level file under MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-23 21:29:44 +00:00
Ron Lee
6d407f1953 Typo fix (as reported to Debian bts).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-23 21:20:54 +00:00
Julian Smart
8d1e36f7e3 Don't send explicit update event if single line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-23 13:18:28 +00:00
Julian Smart
c90c201ab3 Applied cross-compile patch from Stephen Crowley
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-23 13:00:17 +00:00
Julian Smart
441582ddd8 Added *.ani to image sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-23 11:17:28 +00:00
Mattia Barbon
aff23fcd97 Unicode compilation fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-22 20:14:18 +00:00
Mattia Barbon
f37c24e078 Unicode compilation fixes.
wxpoem now compiles with default settings (making it compilable with
Unicode is a lost cause).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-22 19:57:17 +00:00
Julian Smart
a55e5190c7 FL event fix from Hans
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-22 12:17:57 +00:00
Julian Smart
45747ae371 Applied patch [ 657445 ] Contrib FL lib doesn't build with wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-22 11:03:31 +00:00
Vadim Zeitlin
b74cce40fd handle accel keys for owner drawn menu items (based on the patch 657105)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 15:01:21 +00:00
Vadim Zeitlin
46a5e01e86 use SS_CENTERIMAGE to prevent wxStaticBitmap from stretching its bitmap; also a face lift for control creation code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 14:35:18 +00:00
Vadim Zeitlin
168954a1d1 fixed memory leak (patch 655899)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 14:32:55 +00:00
Vadim Zeitlin
894c8f3ef2 fixed a typo in cygwin make install
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 13:41:02 +00:00
Václav Slavík
5dac8a3b0e fixed 2 encoding handling bugs in XRC/wxrcedit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 13:35:13 +00:00
Václav Slavík
437bd21582 WX_XMLRES_CURRENT_VERSION_STRING wasn't Unicode safe
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 00:21:23 +00:00
Václav Slavík
6267a331cb 1) added wxFrame support to wxrcedit
2) fixes to wxrcedit so that generated files are compatible with new XRC
(both in patch #648659)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-21 00:20:35 +00:00
Julian Smart
fc9a9b2ab2 Do -> Redo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-20 11:15:05 +00:00
Julian Smart
d863ed8333 Cleaned up SetMenuStrings, factoring out redo and undo label accessors at the same time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-20 10:15:06 +00:00
Vadim Zeitlin
f9becb8622 install the headers under wx/msw/gnuwin32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-20 00:23:16 +00:00
Vadim Zeitlin
98e19a5863 fixed SetSelection() (and hence SetInsertionPoint()) behaviour when using richedit 3.0 with wxTE_RICH2 style and the control doesn't have focus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-20 00:18:35 +00:00
Julian Smart
c76b1a30fa Fixed a problem with borders being set wrong sometimes on wxMSW, XP, VC++ 7
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 23:13:53 +00:00
Václav Slavík
5f265f87d9 we don't really have to use variable instead of constant...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 22:15:45 +00:00
Julian Smart
e39081afef Don't build IPC version of HelpView on Mac Classic
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 20:02:27 +00:00
Julian Smart
0bc836492e Added missing fldef.h to makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 12:21:25 +00:00
Julian Smart
192a9bf10f Apply table border fix to all ports.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 10:24:05 +00:00
Mattia Barbon
643e16ac3b Fix wxSingleChoiceDialog under wxMotif.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 09:56:03 +00:00
Julian Smart
76985f52b2 Fix border for wxGTK too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 09:54:47 +00:00
Ron Lee
8155b6405f Update packaging for 2.5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 09:16:10 +00:00
Julian Smart
d840aae3ae Reinstated the cell border fix (wxMSW)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-19 07:47:06 +00:00
Václav Slavík
94bc8b14d4 simpler fix for rendering bug fixed in previous revision
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 23:32:22 +00:00
Julian Smart
75c116ab2c Applied patch [ 649599 ] Fixes bug 610850: Inserting a menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 21:23:25 +00:00
Vadim Zeitlin
0cde01aedc removed extra (non existing) Prepend() parameter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 19:09:18 +00:00
Julian Smart
2f9a4d0e30 Fixed cell visibility test that was causing refresh glitches
in tables (since these were large enough cells to break the
original test)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 18:17:40 +00:00
Václav Slavík
b4eecb7e2f disable version-script on Solaris, it doesn't work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 13:54:10 +00:00
Julian Smart
b819b854dd Fixed cell paint background refresh bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 12:53:49 +00:00
Julian Smart
e01893d4ca Added $(EXTRADLLFLAGS) to CFLAGS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 08:33:27 +00:00
Robin Dunn
9e05364039 More unicode fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-18 06:24:15 +00:00
Vadim Zeitlin
bfedf6212c reset virtual root to NULL in DeleteAllItems()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 23:22:38 +00:00
Julian Smart
968bed8c37 Fixed [ 652512 ] wxPaintDC::FindInCache bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 23:21:17 +00:00
Julian Smart
cd501207cf Applied patch [ 654877 ] Missing == != methods in wxRect2DInt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 23:02:24 +00:00
Julian Smart
0fa2e104c5 Partially applied [ 632321 ] XRC object_ref fix
1. Fix object_ref so it at least works, with this I mean
XRC was not even handling the little sample in
tn0014.txt correct.

Hans Van Leemputten (hansvl)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 22:52:48 +00:00
Julian Smart
d1859a1fc1 Added wxUniv project file for dialogs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 22:28:42 +00:00
Julian Smart
ba7fe276d4 Doc corrections
filelist.txt correction and filedlgg.cpp inclusion for wxUniv/MSW


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 22:22:19 +00:00
Robin Dunn
4a69b0600a Added missing #if wxUSE_WAVE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 21:26:21 +00:00
Robin Dunn
18976605f5 Fixed possibility of releasing mouse if the window no longer had it captured
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 20:57:55 +00:00
Vadim Zeitlin
90aaa86507 free argv in Unicode build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 19:52:06 +00:00
Vadim Zeitlin
d47f8a6ec0 unicode compilation fix for wxBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 19:49:48 +00:00
Julian Smart
111c1e2c20 Committed Stefan's temporary fix for crashing in Mac Classic.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 17:25:33 +00:00
Julian Smart
fbb2b01c2c Missing semicolon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 11:51:29 +00:00
Julian Smart
2243113487 Further improvements to MFC sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 11:18:09 +00:00
Julian Smart
4cd513abbc MFC sample now works properly; WinMain not defined in wxMSW
if wxUSE_MFC is defined.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 10:52:10 +00:00
Robin Dunn
55b7aaea10 Unicode compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-17 01:36:47 +00:00
Robin Dunn
5bab6390a9 fixed copy/paste error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 23:08:31 +00:00
Robin Dunn
fdec65df6d Misc wxSTC fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 22:35:12 +00:00
Robin Dunn
b829bf55a0 Give wxSafeYield an onlyIfNeeded parameter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 21:58:36 +00:00
Mattia Barbon
8325937efa Last samples/Unicode fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 20:25:28 +00:00
Julian Smart
1bd71df911 Fixed missing checkbox alignment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 12:34:06 +00:00
Julian Smart
3d2814f3c3 Updated change log
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 11:11:01 +00:00
Julian Smart
5c8756b04c Applied patch [ 651713 ] changes to convertrc
David J. Cooke (davidjcooke)

amendments to convertrc: add support for
CONTROL... syntax for static, edit, combobox,
buttons, but NOT scrollbar; add support for
embedded quotes in stringtable; other minor changes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 11:03:05 +00:00
Julian Smart
7d1dcec23a Applied [ 652962 ] wxProgressDialog::Show(FALSE) bug
This fixes the problem where the application windows
were not being enabled prior to the progress dialog
being hidden in the situation where wxPD_AUTO_HIDE
was not used or was used but the end count was never
reached. This causes random applications to be
activated and brought to the front on Windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 10:57:48 +00:00
Julian Smart
e5d94b6381 Applied part of patch [ 652965 ] Enables toolbar simple in wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 10:50:49 +00:00
Julian Smart
ea5ef76f07 Applied patch [ 652894 ] Checklistbox doesn't need owner draw
Updated wxUniv readme about setup[0].h


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 10:45:09 +00:00
Julian Smart
c4c3659cf2 Copy wxUniv setup0.h to setup.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 10:36:17 +00:00
Julian Smart
62e819ee45 Removed redundant wxUniv setup.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 10:29:03 +00:00
Julian Smart
aab49a0b6a Applied patch [ 654023 ] Enables HtmlHelp (native)
Also fixed the bad event table in helpfrm.cpp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 10:22:08 +00:00
Julian Smart
37d81cc2e2 Applied [ 654253 ] wxGTK: fix to wxGetMousePosition()
wxGetMousePosition() returns -999, -999 when the mouse
pointer is not over a GTK window. This is apparently
because it uses the current window as a handle to get
to the X display. This is not necessary, however;
GDK_DISPLAY() can be used. With
this patch wxGetMousePosition() works regardless of
where on the screen the mouse is.

Jay Berkenbilt (jay_berkenbilt) modified by JACS


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-16 09:44:35 +00:00
Vadim Zeitlin
d775acfa77 use system zlib under Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 22:50:42 +00:00
Vadim Zeitlin
34bed6d9ec changed version to 2.5.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 22:37:56 +00:00
Vadim Zeitlin
7baf4bdbb6 misc gcc compilation warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 22:30:49 +00:00
Vadim Zeitlin
14ac4f3c54 printf() format warning fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 22:25:13 +00:00
Julian Smart
d0200d9eff Added Mac Classic fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 21:56:53 +00:00
Vadim Zeitlin
1383482892 send an extra kill focus event when we're deactivated
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 18:17:15 +00:00
Mattia Barbon
600683ca05 Fixed all remaining samples/Unicode compilation errors.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 17:25:36 +00:00
Václav Slavík
ee682a94cb _really_ fixed translation messages
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 12:38:15 +00:00
Mattia Barbon
42ed75321c More samples/Unicode fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-15 10:23:11 +00:00
Gilles Depeyrot
7cf4f7e21f fix FindMenu broken by implementation of double ampersands in menu and menu
item titles (finding "&File" was no longer working)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 21:44:48 +00:00
Václav Slavík
7e99eddf64 don't translate strings when it doesn't make any sense
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 21:26:22 +00:00
Václav Slavík
a949e8fac2 removed extremely user-unfriendly translations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 21:16:58 +00:00
Václav Slavík
59da340790 updated Czech translation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 21:16:41 +00:00
Václav Slavík
118cc185eb fixed typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 21:16:27 +00:00
Gilles Depeyrot
f6d90fb9ce added commands to search for menus and menu items by label
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 21:12:47 +00:00
Mattia Barbon
ab1ca7b3dd More samples/Unicode fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 18:13:27 +00:00
Mattia Barbon
3996031094 Fixed compilation of some more samples in Unicode mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 14:23:10 +00:00
Mattia Barbon
196f463f62 Fixed missing reference to wxTreeCtrlnameStr when linking treectrl sample
by adding #include "wx/treectrl.h" to data.cpp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 14:16:14 +00:00
Vadim Zeitlin
2c0a4e08a3 fixed VC++ warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 12:18:49 +00:00
Vadim Zeitlin
0441833277 fixed Unicode compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 12:15:03 +00:00
Julian Smart
b657b4c986 Added missing SetOrientation accessor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-14 09:29:02 +00:00
Václav Slavík
a3671ac092 updated message catalogs from sources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 23:53:18 +00:00
Václav Slavík
c742a6ae90 removed a forgotten relict of past: xmlbin format extension still used
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 23:50:28 +00:00
Václav Slavík
008a56c968 even more fixes to last-minute wxFileSystem mods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 23:50:15 +00:00
Václav Slavík
7a8b9bd950 fixed wxFilesystem docs bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 23:50:04 +00:00
Václav Slavík
4d144d07e7 documented FileNameToURL and URLToFileName
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 23:49:19 +00:00
Mattia Barbon
b951c85fec Add WXDLLEXPORT to friend declaration for GCC 3.2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 21:35:15 +00:00
Mattia Barbon
9f84eccdea Make some of the samples compile in Unicode mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 21:33:14 +00:00
Mattia Barbon
c17ba76f38 Unicode compilation fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 21:28:26 +00:00
Chris Elliott
a2638e741d fix visual c bugs for wxUNIVRERSAL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 12:21:19 +00:00
Jouk Jansen
09f8c2a029 Committing in .
Updated OpenVMS compile support

 Modified Files:
 	wxWindows/setup.h_vms
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-13 07:03:47 +00:00
Chris Elliott
e0d8e433c1 fix for cygwin WXDLLEXPORT bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-12 12:06:07 +00:00
Chris Elliott
099d4217df fix for wxUniversal on win32 platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-11 15:10:23 +00:00
Julian Smart
fbb1226068 Applied patch [ 651287 ] adds missing wxTreeCtrl::GetEditControl
This patch implements a missing member in the generic
version of the wxTreeCtrl. The GetEditControl member is
currently not implemented in the generic tree control
used by wxGTK. This patch implements the feature by

1. adding a pointer to the wxTextTreeControl as a
member (m_textCtrl) of the wxGenericTreeCtrl class
2. making sure pointer was initialized to 0
3. using the member variable instead of the stack
variable in the wxGenericTreeCtrl::Edit member
4. making sure the new wxGenericTreeCtrl class
member is set to 0 when the control is set up for
deletion in Finish by calling a new protected member
(ResetTextControl) of the wxGenericTreeCtrl class.

These modification were discussed on the wx-dev list
under the "wxGTK - wxTreeCtrl::GetEditControl status?"
subject.

I have tested, but I certainly welcome comments and
further testing.

Pete Stieber


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-11 09:08:46 +00:00
Julian Smart
03d1ae1799 Applied patch [ 651649 ] Scrollbar not updated without resizing
I always wondered why the scrollbar of the listbox or
the log window (textctrl) never showed a thumb in the
control sample while the combobox does. The
AdjustScrollbars gets called through a size event and
this happens before the listbox (textctrl) can set the
values for the scrollbar. So always an empty scrollbar
is shown. This patch calls AdjustScrollbars at the end
of SetScrollbars in scrlwing.cpp.

I'm not sure if this is the best fix but it works
nicely. I've only tested it with wxUniv but it should
be okay in any generic case.

(applied for __WXUNIVERSAL__ only for now -- JACS)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 21:50:11 +00:00
Julian Smart
f0e1c34310 Applied patch [ 651383 ] Removes 3 warnings when building w/ CW6
Dimitri Schoolwerth


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 21:44:08 +00:00
Julian Smart
dda4f6c089 Applied patch [ 651640 ] Toolbar sizing fix
This patch fixes the problem discussed on wx-dev
mailing list. (Message title "wxUniversal: How is the
parent notified when a child changes its size")

In short:
- This patch makes sure the toolbar notifies the parent of
any size change, this will give the parent the opportunity
to resize the frame client size and to make sure the
toolbar is in the right place.

Hans Van Leemputten


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 21:41:31 +00:00
Mattia Barbon
5e66eee143 "cd utils; make" should not try to compile dialoged unless
wxUSE_RESOURCES=yes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 21:30:28 +00:00
Mattia Barbon
9ec5e01204 Remove unused g295.t; g95.t works with any GCC from 2.95.2 to 3.2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 21:25:54 +00:00
Julian Smart
66525ca43b Applied another Marco patch (5)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 17:02:37 +00:00
Julian Smart
0a9f0ef7d0 FromString should not fail on wxMac if facename empty.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 16:10:02 +00:00
Vadim Zeitlin
84023968e5 corrected wxCommandProcessor ctor docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 14:09:38 +00:00
Julian Smart
368c9c6d84 Applied some of patch [ 650957 ] wxWinCE diff-0.0.4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 12:13:25 +00:00
Julian Smart
c8c29c490b Ignore DOS drive spec in GetRightLocation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 09:48:00 +00:00
Vadim Zeitlin
07243717e2 tried to clean strdup() mess: we now have wxStrdup[AW] which should be always available
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-10 00:43:28 +00:00
Julian Smart
2a5d3f5738 Fixed the beggar good and proper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 21:45:36 +00:00
Václav Slavík
f3d3a0e751 forgot to add wxHtmlHelpController::AddBook(wxFileName) to the headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 21:05:56 +00:00
Václav Slavík
1de1d24e96 removed XPM handler from wxImage's standard handlers, let's see if it does any harm
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 21:03:25 +00:00
Julian Smart
9d683b445c Removed duplicate art handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 18:27:10 +00:00
Mattia Barbon
2d6c58d653 The size_type typedef must be public.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 18:08:12 +00:00
Mattia Barbon
27635a90c7 Only build HelpGen in wxBase, since it will #error (this will maybe fix
some tinderboxes...).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 18:06:31 +00:00
Vadim Zeitlin
d7f6918abd removed garbage pixels from the icon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 16:43:57 +00:00
Vadim Zeitlin
7e1525b2e7 fixed warning about unused var
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 16:42:27 +00:00
Vadim Zeitlin
7bb8798ce7 fixed annoying beep when pressing space/return in the tree
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 16:41:04 +00:00
Julian Smart
dba06cd016 Convert filename to URL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 15:52:29 +00:00
Julian Smart
8ad944dcbc Should only add // under MSW -- not on Unix, not on Mac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 15:42:10 +00:00
Chris Elliott
969096ef37 fix bug with treectrl sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 15:26:28 +00:00
Julian Smart
76c451b8c1 Added horse3.ani
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 15:10:14 +00:00
Julian Smart
43b8a532e0 Ifdefed m_server
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 14:44:06 +00:00
Julian Smart
3434b611aa Reverted the _n__ fix for now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 14:35:09 +00:00
Julian Smart
1e702ab351 The wxMAKE_UNIQUE_ASSERT_NAME fix for VC++ does not work for MetroWerks CW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 14:20:06 +00:00
Julian Smart
678b263756 Applied patch [ 632115 ] Fixed internationalization on tooltips
wxMac's wxTooltip assumed that text was always PC encoded,
and always converted the string using
wxMacMakeMacStringFromPC(). This worked fine for English
characters, but multi-byte encoded languages such as Japanese
(SJIS) because garbled. I've added a check for
"wxApp::s_macDefaultEncodingIsPC" before performing the
conversion similar to other controls.

Nilesh Agarwalla


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 11:22:43 +00:00
Julian Smart
73145b0ed1 Applied patches by Scott Pleiter:
[ 643866 ] small wxGrid API changes

adds GetValue to the gridcelleditors to facilitate
querying values from the editors, also changes several
methods to virtuals to simplify inheritance.

[ 643867 ] wxGrid cell LNF & behaviour patch

Enables the grid to render its cells grey when the grid
control is disabled. Also fixes several problems when
making the gridcelleditors visible. Improves the layout
of multi-line row/column labels. Changes the CellEditor
show from a MOUSE_DOWN to a MOUSE_UP, this
stops the editor starting when creating a selection
beginging in the currently selected cell.

[ 643868 ] wxGrid rendering tweaks, improves look.

Draw the row/column using system colours. Change the
default wxGrid settings to have a more neutral starting
point - grey lines, non-bold label font, black/white
selection etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 11:14:04 +00:00
Julian Smart
552a0ebdb2 Small WinCE mods from Marco
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 11:01:50 +00:00
Julian Smart
247ef58d1a Added script to convert project files to DOS format.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:57:30 +00:00
Julian Smart
9c136858af Applied patch [ 649284 ] Fix wxODBC to work with MySQL 2.x
The current sample/db fails to build indexes with
MyODBC v2.50.39

This is due to two problems:

(1) wxDb::ModifyColumn() created a SQL statement that
was not correctly formed for MySQL. This problem
caused wxDbTable::CreateIndex() to fail to set the
columns that are going to indexes to be NOT NULL. I
fixed this by added a special case for MySQL.

(2) When creating an Index on a VARCHAR column,
MySQL requires a key length to be specified.
wxDbTable::CreateIndex() current does not do this. I
fixed this problem by adding code to do this.

The attached patch file patches dbtable.cpp and db.cpp
on the 2.5 branch.

gor Mikolic-Torreira


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:50:14 +00:00
Julian Smart
df41317113 Applied patch [ 649590 ] fixes bug 611264: wxFileDialog entry
In bug 611264 I reported that typing a filename into a
multiple selection file dialog failed. The file
returned was "..".

I discovered that this was because the previous
directory folder came up automatically selected when
the dialog was created. Then, I discovered a related
bug. If any file or folder was selected, then that was
the file which was returned regardless of what was
typed in.

To fix the problem I added an EVT_TEXT handler which
deselects everything that is selected when the user
types. The handler does not deselect anything unless
the user actually types something.

This patch implements the fix.

John Skiff


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:44:13 +00:00
Julian Smart
84cff96585 Applied patch [ 642174 ] Stop TOOL_WINDOWS stealing focus
When frames with the wxFRAME_TOOL_WINDOW
style ( i.e. a floating toolbar frame) is shown it is
activated, taking focus from the main application
window. This patch stops frames with the
wxFRAME_TOOL_WINDOW from being activated when
shown.

Scott Pleiter


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:31:17 +00:00
Julian Smart
48aa18c000 Applied patch [ 650078 ] Add better checking to wxComboBox
This patch adds extra checks, checks to see and report
if the provided item index is valid.

An other thing:
- IMHO wxComboBox::GetSelection() was wrong, I
corrected this (now it behaves the same as wxMSW,
don't know about wxGTK and others...).

Hans Van Leemputten (hansvl)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:26:21 +00:00
Julian Smart
635eb8bcc4 Applied patch [ 648042 ] Erase background error
When erasing the background with a transparent
background the logical origin of the provided DC is (re)
set, but not restored to the old value. Restoring the old
value is needed because the DC is/can be shared with
the real draw code...

This patch solves problems like mentioned in bug report
#635217 and problems like controls (like radio controls
etc) that disappear when moving the mouse over them or
clicking on them...

Hans Van Leemputten


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18141 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:20:44 +00:00
Julian Smart
2a2a71e326 Applied patch [ 642172 ] Fix menu accelerators in ownerdrw
Fixed bug when updating menu text to inform the
ownerdrw code of the new menu accelerator attached to
the menu item.
Improved the layout of the owenerdrw menu ownerdrw to
correctly account for menu accelerators, submenu
arrows etc.

Scott Pleiter

(Note from JACS: I've also changed the sample to show the Quit item
correctly aligned; it needs to have the font set before wxWin knows
it's an ownerdrawn item.)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 10:15:00 +00:00
Julian Smart
1d30a0a132 Applied patch [ 642162 ] restore wxWizard wxEVT_WIZARD_FINISHED
Restore the wxWizard wxEVT_WIZARD_FINISHED
event, which was sent when the FINISHED button was
pressed and the wizard was finished. When the
wxWizard is modal this event is not needed. However,
when the wizard is non-modal this is the only way to
determine that the wizard has finished.

Scott Pleiter


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 09:46:16 +00:00
Julian Smart
7a0363dd04 Applied patch [ 642157 ] [MSW] HMENU resource leak from wxMenuBar
Latest CVS - When a wxMenuBar is detached
from a frame and deleted the HMENU resource leaks.
This patch fixes the leak.

Scott Pleiter


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 09:29:00 +00:00
Julian Smart
fc7c8ae9c3 Applied [ 639060 ] Individual bar floating in contrib/fl
In the current contrib/fl implementation, all control bars
in the frame layout either float or they don't. I added
code to allow the bar floating to be determined on a bar-
by-bar basis. That is, this patch enables some control
bars to float while keeping others locked.

Kevin Yochum


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 09:21:23 +00:00
Julian Smart
5c6bd4a957 Added missing AddBook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 09:15:22 +00:00
Julian Smart
77416abdc5 Applied patch [ 638561 ] Allow SetFont(wxNullFont) in wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 09:14:39 +00:00
Vadim Zeitlin
ce788ad93a fixed Get/SetString() prototypes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 00:14:51 +00:00
Vadim Zeitlin
ecb7e58c24 fixed a typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 00:06:20 +00:00
Vadim Zeitlin
8def689d42 replaced wxItem_Xxx with wxITEM_XXX as they should be
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-09 00:05:29 +00:00
Julian Smart
1b489359c4 Applied patch [ 637982 ] wxComboBox needs margin
wxComboBox doesn't have a margin between the text and
the dropdown button when the default size is used.
Since wxTextctrl currently returns a rather long minmal
size, this error is only visible if a long text (around
20 chars) is used. This patch introduces a margin
(analog wxSpinctrl).

Otto Wyss


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 21:43:43 +00:00
Václav Slavík
11d667e7eb use AddBook(wxFileName)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 20:30:56 +00:00
Václav Slavík
fcf77487ed added wxHtmlHelpController::AddBook(wxFileName)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 20:30:42 +00:00
Václav Slavík
cc37ecaf2d fixed tex2rtf error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 20:30:02 +00:00
Václav Slavík
9548c49a6a modifications to URL<->filename conversion: take wxFileName, rename
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 20:28:12 +00:00
Mattia Barbon
ec75d791f0 Refactored & cleaned up wxChoice & wxComboBox code, fixed client data
handling, implemented wxControlWIthItems' methods correctly, fixed a
couple of other bugs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 18:48:05 +00:00
Mattia Barbon
21b273736b Added wxClientDataDictionary, used (in wxMotif ATM) to maintain the
association between wxControlWithItems' items and their client data.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 18:43:45 +00:00
Mattia Barbon
5fd588d229 Replaced int with size_t where appropriate, added WXDLLEXPORT, corrected
a bug in RemoveAt.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 18:38:46 +00:00
Robert Roebling
df135f2b4d Catching dclick event from a spinbutton or spin control
crashes GTK 1.2 sooner or later. Just disable this
    event for now. Should also be in 2.4, actually.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 18:02:30 +00:00
Roger Gammans
cdbecb3946 Documentation for wxDbGrid from patch 638274
Updates with the aim of improving readability.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 16:10:50 +00:00
Roger Gammans
f24badde9a new member functio of wxDbColInfo to allow two step creation , to be
descibed in the docs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18110 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 16:04:36 +00:00
Václav Slavík
69a8b5b457 Fixed EVT_TREE_SEL_CHANGED and _CHANGING under MSLU (patch 631815)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 13:23:03 +00:00
Václav Slavík
e77d4369de XRC assigns ID to wxStaticBox created by including wxStaticBoxSizer (did what patch 632470 was supposed to do)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 13:22:00 +00:00
Václav Slavík
3acd4349a5 Unicode compilation fixes for treectrl sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 13:21:33 +00:00
Václav Slavík
64e9f56b80 fixed Vadim's removal of XPM handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 13:20:49 +00:00
Vadim Zeitlin
39bc7d8020 don't add XPM handler in wxInitAllImageHandlers() because it had been already edited in wxImage::nitStandardHandlers()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-08 00:57:53 +00:00
Vadim Zeitlin
53c9228ead always declare wxAppInitializerFunction() as returning wxApp, whether we use gcc or not
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 23:58:13 +00:00
Julian Smart
3ddcf967d6 Committed vcw files also
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 16:08:47 +00:00
Julian Smart
6d613d8d4a Converted wxBase also
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 16:05:40 +00:00
Robert Roebling
0e0126c220 Various compile fixes for WinCE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 15:41:13 +00:00
Stefan Neis
694f2f3cc7 Version number changes.
Added information on how to circumvent make's problems with auto-generated
        .d files.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 15:37:00 +00:00
Julian Smart
1b6f93fcfe Corrected line endings, deps now relative
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 15:31:02 +00:00
Robert Roebling
2e8e834c0a Added simplistic makefile/project files for wxWinCE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 12:38:11 +00:00
Robert Roebling
158b668823 Platform define for wxWinCE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 12:36:03 +00:00
Julian Smart
7912e6332f Correction to path/URL code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 09:18:44 +00:00
Vadim Zeitlin
dac7d53a83 added semicolons after HASH_MAP macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 02:28:02 +00:00
Vadim Zeitlin
d86939c4c9 removed trailing semicolons at the end of HASH_MAP macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 01:30:47 +00:00
Vadim Zeitlin
5d3f766d26 test that libpng version is > 0.90
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 01:26:21 +00:00
Vadim Zeitlin
136d4499d5 minor visual corrections to renderers (patch 649847)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 01:07:35 +00:00
Vadim Zeitlin
e622dd68c2 fix for wxGetEnv() under Win16 (!) (bug 645368)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 00:58:11 +00:00
Vadim Zeitlin
859e25d4ad suppress warnings when compiling libtiff
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 00:43:48 +00:00
Vadim Zeitlin
3993765614 added trivial test for wxTextInputStream
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 00:31:56 +00:00
Vadim Zeitlin
d2ec53ea4a fix (?) for small menu item bitmaps (bug 635438)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-07 00:05:03 +00:00
Vadim Zeitlin
6eccc0c485 fixed 3 infinite loops -- the person who tested this code must have had a lot of patience (bug 645761)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:55:55 +00:00
Vadim Zeitlin
de628f984b fixed bug in wxSemaphore::WaitTimeout() which was calling the wrong wxCondition::Wait() (bug 642226 and patch 648859)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:47:34 +00:00
Vadim Zeitlin
2c62b3c3a1 corrected a too eager error message (patch 648599)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:42:16 +00:00
Vadim Zeitlin
285013b384 avoid flicker when doing SetItem() in non report mode (slightly extended patch 647970)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:40:11 +00:00
Vadim Zeitlin
c1eb1102aa generate spinctrl event when the button was clicked (slightly modified patch 648013)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:36:01 +00:00
Vadim Zeitlin
801a492c49 Append() returns int, not void
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:27:29 +00:00
Vadim Zeitlin
38c1f6f765 tell to open .dsw file, not .dsp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:24:57 +00:00
Julian Smart
409e38cd65 Applied fix for VC++ 7 which treats __LINE__ slightly differently, apparently.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 22:49:58 +00:00
Vadim Zeitlin
adb45366da compilation fix for wxUSE_INTL == 0 (patch 646466)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 21:23:36 +00:00
Vadim Zeitlin
815b393a5a fixed mem leak when using non default theme; change the art provider automatically when the theme is changed (patch 646463)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 21:07:24 +00:00
Vadim Zeitlin
61ecf6d34f fix typo in drawing slider ticks; added assert to check for it (slightly modified patch 646256)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 21:02:50 +00:00
Vadim Zeitlin
f7a201b94e better check of parameter in Delete() (2nd part of patch 646145)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 20:59:06 +00:00
Vadim Zeitlin
d00b880a79 don't leak client data (1st part of patch 646145)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 20:57:56 +00:00
Julian Smart
9b798c66c7 Removed apparently erroneous manipulation of filename/URL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 20:12:48 +00:00
Vadim Zeitlin
513e0cea96 fixed return type of GetEditControl(); updated its description
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 17:08:00 +00:00
Stefan Neis
85045dd09e Updated to more OS/2 friendly version.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 16:59:38 +00:00
Stefan Neis
42b7406da2 Changed GSocket_Select to use unix code for wxBase, previous code wasn't
detecting loss of connection.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 16:57:30 +00:00
Julian Smart
1257f68432 Added note about opening .dsp files in VC++ .NET
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 14:16:27 +00:00
Robert Roebling
4a6ea63e87 Another attempt to get make win-dist to work with WinCE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 11:50:18 +00:00
Robert Roebling
36d3844cbb Updated Makefile for WinCE (make win-dist)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 11:25:51 +00:00
Stefan Csomor
0ba344c712 print session additions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 08:07:53 +00:00
Julian Smart
1a4fe894fe Added Marco's first WinCE files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 21:18:30 +00:00
Julian Smart
42280e48f2 Further version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 12:14:53 +00:00
Vadim Zeitlin
5db9e0e80d unabbreviated i18n
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 12:04:51 +00:00
Julian Smart
8473839e3a Added artwork for the emulator, for future reference
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 11:54:50 +00:00
Julian Smart
c31752dadf Updated version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 11:08:08 +00:00
Julian Smart
1353f87837 Makefile.in: remove CVS dirs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 10:27:42 +00:00
Julian Smart
088117622c Checked for stream validity in wxImage::GetImageCount.
use horse3.ani in image sample.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 10:19:00 +00:00
Vadim Zeitlin
d643b80eb9 detect and don't use old zlib version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 02:07:05 +00:00
Vadim Zeitlin
589c71635a allow TABbing into multiline text controls even if they're not editable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-05 01:05:59 +00:00
Vadim Zeitlin
b6b2d787e3 compilation fix after recent patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-04 23:15:10 +00:00
Vadim Zeitlin
2b5f62a0b2 merged 2.4 branch into the trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-04 14:11:26 +00:00
Vadim Zeitlin
59a944cb63 added test for env var expansion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-11-28 13:34:28 +00:00
Vadim Zeitlin
4c51b68810 compilation fix in !WXWIN_COMPATIBILITY_2_2 mode; set TEST_ALL to 1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-11-28 13:29:22 +00:00
Vadim Zeitlin
01cb1c2617 added ctor taking wxFontFlags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-11-02 23:58:52 +00:00
David Webster
7bfbbc0efb Fixups in jpeg lib for multiplely defined symbolsa under VisualAge for OS/2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-10-11 16:01:49 +00:00
David Webster
376ef4a1f4 Weekly OS/2 updtaes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-10-11 15:59:35 +00:00
David Webster
13053f649b os2 update to rc file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-10-11 15:56:35 +00:00
David Webster
841346f01f removed ctl3d32.lib
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-10-11 13:44:31 +00:00
Roman Rolinsky
d21441bd9b just a test if CVS access works
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-10-04 07:19:19 +00:00
Stefan Neis
ef4d6ce8e4 Fixed some typos that occured in applying patch 606235.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-20 15:08:03 +00:00
Jouk Jansen
1507adbb8c Committing in .
Updated OpenVMS configuration

 Modified Files:
 	wxWindows/setup.h_vms
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-19 06:17:39 +00:00
Julian Smart
942e06785c Added scripts to make a minimal wxMSW distribution
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-16 19:20:38 +00:00
Julian Smart
4a28b9b81c Updated date
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-16 16:03:59 +00:00
David Webster
243116066d nativedlg and some interface changes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-16 04:56:00 +00:00
David Webster
923b48fc63 virtual function hiding problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-16 04:54:25 +00:00
David Webster
c09245191c OS/2 fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-16 04:53:42 +00:00
65 changed files with 16127 additions and 1 deletions

View File

@@ -0,0 +1,83 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_html.cpp
// Purpose: XRC resource for wxHtmlWindow
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "xh_html.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/xrc/xh_html.h"
#if wxUSE_HTML
#include "wx/html/htmlwin.h"
#include "wx/filesys.h"
wxHtmlWindowXmlHandler::wxHtmlWindowXmlHandler()
: wxXmlResourceHandler()
{
XRC_ADD_STYLE(wxHW_SCROLLBAR_NEVER);
XRC_ADD_STYLE(wxHW_SCROLLBAR_AUTO);
AddWindowStyles();
}
wxObject *wxHtmlWindowXmlHandler::DoCreateResource()
{
XRC_MAKE_INSTANCE(control, wxHtmlWindow)
control->Create(m_parentAsWindow,
GetID(),
GetPosition(), GetSize(),
GetStyle(wxT("style"), wxHW_SCROLLBAR_AUTO),
GetName());
if (HasParam(wxT("borders")))
{
control->SetBorders(GetDimension(wxT("borders")));
}
if (HasParam(wxT("url")))
{
wxString url = GetParamValue(wxT("url"));
wxFileSystem& fsys = GetCurFileSystem();
wxFSFile *f = fsys.OpenFile(url);
if (f)
{
control->LoadPage(f->GetLocation());
delete f;
}
else
control->LoadPage(url);
}
else if (HasParam(wxT("htmlcode")))
{
control->SetPage(GetText(wxT("htmlcode")));
}
SetupWindow(control);
return control;
}
bool wxHtmlWindowXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, wxT("wxHtmlWindow"));
}
#endif // wxUSE_HTML

262
docs/latex/wx/htcell.tex Normal file
View File

@@ -0,0 +1,262 @@
%
% automatically generated by HelpGen from
% htmlcell.tex at 21/Mar/99 22:45:23
%
\section{\class{wxHtmlCell}}\label{wxhtmlcell}
Internal data structure. It represents fragments of parsed HTML
page, the so-called {\bf cell} - a word, picture, table, horizontal line and so on.
It is used by \helpref{wxHtmlWindow}{wxhtmlwindow} and
\helpref{wxHtmlWinParser}{wxhtmlwinparser} to represent HTML page in memory.
You can divide cells into two groups : {\it visible} cells with non-zero width and
height and {\it helper} cells (usually with zero width and height) that
perform special actions such as color or font change.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/htmlcell.h>
\wxheading{See Also}
\helpref{Cells Overview}{cells},
\helpref{wxHtmlContainerCell}{wxhtmlcontainercell}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlCell::wxHtmlCell}\label{wxhtmlcellwxhtmlcell}
\func{}{wxHtmlCell}{\void}
Constructor.
\membersection{wxHtmlCell::AdjustPagebreak}\label{wxhtmlcelladjustpagebreak}
\func{virtual bool}{AdjustPagebreak}{\param{int * }{pagebreak}}
This method is used to adjust pagebreak position. The parameter is
variable that contains y-coordinate of page break (= horizontal line that
should not be crossed by words, images etc.). If this cell cannot be divided
into two pieces (each one on another page) then it moves the pagebreak
few pixels up.
Returns true if pagebreak was modified, false otherwise
Usage:
\begin{verbatim}
while (container->AdjustPagebreak(&p)) {}
\end{verbatim}
\membersection{wxHtmlCell::Draw}\label{wxhtmlcelldraw}
\func{virtual void}{Draw}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{view\_y1}, \param{int }{view\_y2}}
Renders the cell.
\wxheading{Parameters}
\docparam{dc}{Device context to which the cell is to be drawn}
\docparam{x,y}{Coordinates of parent's upper left corner (origin). You must
add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
\docparam{view\_y1}{y-coord of the first line visible in window. This is
used to optimize rendering speed}
\docparam{view\_y2}{y-coord of the last line visible in window. This is
used to optimize rendering speed}
\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible}
\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}}
This method is called instead of \helpref{Draw}{wxhtmlcelldraw} when the
cell is certainly out of the screen (and thus invisible). This is not
nonsense - some tags (like \helpref{wxHtmlColourCell}{wxhtmlcolourcell}
or font setter) must be drawn even if they are invisible!
\wxheading{Parameters}
\docparam{dc}{Device context to which the cell is to be drawn}
\docparam{x,y}{Coordinates of parent's upper left corner. You must
add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
\membersection{wxHtmlCell::Find}\label{wxhtmlcellfind}
\func{virtual const wxHtmlCell*}{Find}{\param{int }{condition}, \param{const void* }{param}}
Returns pointer to itself if this cell matches condition (or if any of the cells
following in the list matches), NULL otherwise.
(In other words if you call top-level container's Find it will
return pointer to the first cell that matches the condition)
It is recommended way how to obtain pointer to particular cell or
to cell of some type (e.g. wxHtmlAnchorCell reacts on
wxHTML\_COND\_ISANCHOR condition)
\wxheading{Parameters}
\docparam{condition}{Unique integer identifier of condition}
\docparam{param}{Optional parameters}
\wxheading{Defined conditions}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_COND\_ISANCHOR}}{Finds particular anchor.
{\it param} is pointer to wxString with name of the anchor.}
\twocolitem{{\bf wxHTML\_COND\_USER}}{User-defined conditions start
from this number.}
\end{twocollist}
\membersection{wxHtmlCell::GetDescent}\label{wxhtmlcellgetdescent}
\constfunc{int}{GetDescent}{\void}
Returns descent value of the cell (m\_Descent member).
\helponly{See explanation:
\image{}{descent.bmp}
}
\membersection{wxHtmlCell::GetHeight}\label{wxhtmlcellgetheight}
\constfunc{int}{GetHeight}{\void}
Returns height of the cell (m\_Height member).
\membersection{wxHtmlCell::GetId}\label{wxhtmlcellgetid}
\constfunc{virtual wxString}{GetId}{\void}
Returns unique cell identifier if there is any, empty string otherwise.
\membersection{wxHtmlCell::GetLink}\label{wxhtmlcellgetlink}
\constfunc{virtual wxHtmlLinkInfo*}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}}
Returns hypertext link if associated with this cell or NULL otherwise.
See \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
(Note: this makes sense only for visible tags).
\wxheading{Parameters}
\docparam{x,y}{Coordinates of position where the user pressed mouse button.
These coordinates are used e.g. by COLORMAP. Values are relative to the
upper left corner of THIS cell (i.e. from 0 to m\_Width or m\_Height)}
\membersection{wxHtmlCell::GetNext}\label{wxhtmlcellgetnext}
\constfunc{wxHtmlCell*}{GetNext}{\void}
Returns pointer to the next cell in list (see htmlcell.h if you're
interested in details).
\membersection{wxHtmlCell::GetParent}\label{wxhtmlcellgetparent}
\constfunc{wxHtmlContainerCell*}{GetParent}{\void}
Returns pointer to parent container.
\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx}
\constfunc{int}{GetPosX}{\void}
Returns X position within parent (the value is relative to parent's
upper left corner). The returned value is meaningful only if
parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy}
\constfunc{int}{GetPosY}{\void}
Returns Y position within parent (the value is relative to parent's
upper left corner). The returned value is meaningful only if
parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
\membersection{wxHtmlCell::GetWidth}\label{wxhtmlcellgetwidth}
\constfunc{int}{GetWidth}{\void}
Returns width of the cell (m\_Width member).
\membersection{wxHtmlCell::Layout}\label{wxhtmlcelllayout}
\func{virtual void}{Layout}{\param{int }{w}}
This method performs two actions:
\begin{enumerate}\itemsep=0pt
\item adjusts the cell's width according to the fact that maximal possible width is {\it w}.
(this has sense when working with horizontal lines, tables etc.)
\item prepares layout (=fill-in m\_PosX, m\_PosY (and sometimes m\_Height) members)
based on actual width {\it w}
\end{enumerate}
It must be called before displaying cells structure because
m\_PosX and m\_PosY are undefined (or invalid)
before calling Layout.
\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick}
\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int}{x}, \param{int }{y}, \param{const wxMouseEvent\& }{event}}
This function is simple event handler. Each time the user clicks mouse button over a cell
within \helpref{wxHtmlWindow}{wxhtmlwindow} this method of that cell is called. Default behavior is
that it calls \helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage}.
\wxheading{Note}
If you need more "advanced" event handling
you should use wxHtmlBinderCell instead.
\wxheading{Parameters}
\docparam{parent}{parent window (always wxHtmlWindow!)}
\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin}
\docparam{left, middle, right}{boolean flags for mouse buttons. true if the left/middle/right
button is pressed, false otherwise}
\membersection{wxHtmlCell::SetId}\label{wxhtmlcellsetid}
\func{void}{SetId}{\param{const wxString\& }{id}}
Sets unique cell identifier. Default value is no identifier, i.e. empty string.
\membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink}
\func{void}{SetLink}{\param{const wxHtmlLinkInfo\& }{link}}
Sets the hypertext link associated with this cell. (Default value
is \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}("", "") (no link))
\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext}
\func{void}{SetNext}{\param{wxHtmlCell }{*cell}}
Sets the next cell in the list. This shouldn't be called by user - it is
to be used only by \helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent}
\func{void}{SetParent}{\param{wxHtmlContainerCell }{*p}}
Sets parent container of this cell. This is called from
\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
\membersection{wxHtmlCell::SetPos}\label{wxhtmlcellsetpos}
\func{void}{SetPos}{\param{int }{x}, \param{int }{y}}
Sets the cell's position within parent container.

37
docs/latex/wx/htcolor.tex Normal file
View File

@@ -0,0 +1,37 @@
%
% automatically generated by HelpGen from
% htmlcolourcell.tex at 14/Mar/99 20:13:37
%
\section{\class{wxHtmlColourCell}}\label{wxhtmlcolourcell}
This cell changes the colour of either the background or the foreground.
\wxheading{Derived from}
\helpref{wxHtmlCell}{wxhtmlcell}
\wxheading{Include files}
<wx/html/htmlcell.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlColourCell::wxHtmlColourCell}\label{wxhtmlcolourcellwxhtmlcolourcell}
\func{}{wxHtmlColourCell}{\param{wxColour }{clr}, \param{int }{flags = wxHTML\_CLR\_FOREGROUND}}
Constructor.
\wxheading{Parameters}
\docparam{clr}{The color}
\docparam{flags}{Can be one of following:
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_CLR\_FOREGROUND}}{change color of text}
\twocolitem{{\bf wxHTML\_CLR\_BACKGROUND}}{change background color}
\end{twocollist}
}

250
docs/latex/wx/htcontnr.tex Normal file
View File

@@ -0,0 +1,250 @@
%
% automatically generated by HelpGen from
% htmlcontainercell.tex at 21/Mar/99 22:45:23
%
\section{\class{wxHtmlContainerCell}}\label{wxhtmlcontainercell}
The wxHtmlContainerCell class is an implementation of a cell that may
contain more cells in it. It is heavily used in the wxHTML layout algorithm.
\wxheading{Derived from}
\helpref{wxHtmlCell}{wxhtmlcell}
\wxheading{Include files}
<wx/html/htmlcell.h>
\wxheading{See Also}
\helpref{Cells Overview}{cells}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlContainerCell::wxHtmlContainerCell}\label{wxhtmlcontainercellwxhtmlcontainercell}
\func{}{wxHtmlContainerCell}{\param{wxHtmlContainerCell }{*parent}}
Constructor. {\it parent} is pointer to parent container or NULL.
\membersection{wxHtmlContainerCell::GetAlignHor}\label{wxhtmlcontainercellgetalignhor}
\constfunc{int}{GetAlignHor}{\void}
Returns container's horizontal alignment.
\membersection{wxHtmlContainerCell::GetAlignVer}\label{wxhtmlcontainercellgetalignver}
\constfunc{int}{GetAlignVer}{\void}
Returns container's vertical alignment.
\membersection{wxHtmlContainerCell::GetBackgroundColour}\label{wxhtmlcontainercellgetbackgroundcolour}
\func{wxColour}{GetBackgroundColour}{\void}
Returns the background colour of the container or {\tt wxNullColour} if no background
colour is set.
\membersection{wxHtmlContainerCell::GetFirstCell}\label{wxhtmlcontainercellgetfirstcell}
\func{wxHtmlCell*}{GetFirstCell}{\void}
Returns pointer to the first cell in the list.
You can then use wxHtmlCell's GetNext method to obtain pointer to the next
cell in list.
{\bf Note:} This shouldn't be used by the end user. If you need some way of
finding particular cell in the list, try \helpref{Find}{wxhtmlcellfind} method
instead.
\membersection{wxHtmlContainerCell::GetIndent}\label{wxhtmlcontainercellgetindent}
\constfunc{int}{GetIndent}{\param{int }{ind}}
Returns the indentation. {\it ind} is one of the {\bf wxHTML\_INDENT\_*} constants.
{\bf Note:} You must call \helpref{GetIndentUnits}{wxhtmlcontainercellgetindentunits}
with same {\it ind} parameter in order to correctly interpret the returned integer value.
It is NOT always in pixels!
\membersection{wxHtmlContainerCell::GetIndentUnits}\label{wxhtmlcontainercellgetindentunits}
\constfunc{int}{GetIndentUnits}{\param{int }{ind}}
Returns the units of indentation for {\it ind} where {\it ind} is one
of the {\bf wxHTML\_INDENT\_*} constants.
\membersection{wxHtmlContainerCell::InsertCell}\label{wxhtmlcontainercellinsertcell}
\func{void}{InsertCell}{\param{wxHtmlCell }{*cell}}
Inserts new cell into the container.
\membersection{wxHtmlContainerCell::SetAlign}\label{wxhtmlcontainercellsetalign}
\func{void}{SetAlign}{\param{const wxHtmlTag\& }{tag}}
Sets the container's alignment (both horizontal and vertical) according to
the values stored in {\it tag}. (Tags {\tt ALIGN} parameter is extracted.) In fact
it is only a front-end to \helpref{SetAlignHor}{wxhtmlcontainercellsetalignhor}
and \helpref{SetAlignVer}{wxhtmlcontainercellsetalignver}.
\membersection{wxHtmlContainerCell::SetAlignHor}\label{wxhtmlcontainercellsetalignhor}
\func{void}{SetAlignHor}{\param{int }{al}}
Sets the container's {\it horizontal alignment}. During \helpref{Layout}{wxhtmlcelllayout}
each line is aligned according to {\it al} value.
\wxheading{Parameters}
\docparam{al}{new horizontal alignment. May be one of these values:
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_ALIGN\_LEFT}}{lines are left-aligned (default)}
\twocolitem{{\bf wxHTML\_ALIGN\_JUSTIFY}}{lines are justified}
\twocolitem{{\bf wxHTML\_ALIGN\_CENTER}}{lines are centered}
\twocolitem{{\bf wxHTML\_ALIGN\_RIGHT}}{lines are right-aligned}
\end{twocollist}
}
\membersection{wxHtmlContainerCell::SetAlignVer}\label{wxhtmlcontainercellsetalignver}
\func{void}{SetAlignVer}{\param{int }{al}}
Sets the container's {\it vertical alignment}. This is per-line alignment!
\wxheading{Parameters}
\docparam{al}{new vertical alignment. May be one of these values:
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_ALIGN\_BOTTOM}}{cells are over the line (default)}
\twocolitem{{\bf wxHTML\_ALIGN\_CENTER}}{cells are centered on line}
\twocolitem{{\bf wxHTML\_ALIGN\_TOP}}{cells are under the line}
\end{twocollist}
\helponly{\image{}{alignv.bmp}}
}
\membersection{wxHtmlContainerCell::SetBackgroundColour}\label{wxhtmlcontainercellsetbackgroundcolour}
\func{void}{SetBackgroundColour}{\param{const wxColour\& }{clr}}
Sets the background colour for this container.
\membersection{wxHtmlContainerCell::SetBorder}\label{wxhtmlcontainercellsetborder}
\func{void}{SetBorder}{\param{const wxColour\& }{clr1}, \param{const wxColour\& }{clr2}}
Sets the border (frame) colours. A border is a rectangle around the container.
\wxheading{Parameters}
\docparam{clr1}{Colour of top and left lines}
\docparam{clr2}{Colour of bottom and right lines}
\membersection{wxHtmlContainerCell::SetIndent}\label{wxhtmlcontainercellsetindent}
\func{void}{SetIndent}{\param{int }{i}, \param{int }{what}, \param{int }{units = wxHTML\_UNITS\_PIXELS}}
Sets the indentation (free space between borders of container and subcells).
\wxheading{Parameters}
\docparam{i}{Indentation value.}
\docparam{what}{Determines which of the four borders we're setting. It is OR
combination of following constants:
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_INDENT\_TOP}}{top border}
\twocolitem{{\bf wxHTML\_INDENT\_BOTTOM}}{bottom}
\twocolitem{{\bf wxHTML\_INDENT\_LEFT}}{left}
\twocolitem{{\bf wxHTML\_INDENT\_RIGHT}}{right}
\twocolitem{{\bf wxHTML\_INDENT\_HORIZONTAL}}{left and right}
\twocolitem{{\bf wxHTML\_INDENT\_VERTICAL}}{top and bottom}
\twocolitem{{\bf wxHTML\_INDENT\_ALL}}{all 4 borders}
\end{twocollist}
\helponly{\image{}{indent.bmp}}
}
\docparam{units}{Units of {\it i}. This parameter affects interpretation of {\it} value.
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_UNITS\_PIXELS}}{{\it i} is number of pixels}
\twocolitem{{\bf wxHTML\_UNITS\_PERCENT}}{{\it i} is interpreted as percents of width
of parent container}
\end{twocollist}
}
\membersection{wxHtmlContainerCell::SetMinHeight}\label{wxhtmlcontainercellsetminheight}
\func{void}{SetMinHeight}{\param{int }{h}, \param{int }{align = wxHTML\_ALIGN\_TOP}}
Sets minimal height of the container.
When container's \helpref{Layout}{wxhtmlcelllayout} is called, m\_Height
is set depending on layout of subcells to the height of area covered
by layed-out subcells. Calling this method guarantees you that the height
of container is never smaller than {\it h} - even if the subcells cover
much smaller area.
\wxheading{Parameters}
\docparam{h}{The minimal height.}
\docparam{align}{If height of the container is lower than the minimum height, empty space must be inserted
somewhere in order to ensure minimal height. This parameter is one of {\bf wxHTML\_ALIGN\_TOP,
wxHTML\_ALIGN\_BOTTOM, wxHTML\_ALIGN\_CENTER}. It refers to the {\it contents}, not to the
empty place.}
\membersection{wxHtmlContainerCell::SetWidthFloat}\label{wxhtmlcontainercellsetwidthfloat}
\func{void}{SetWidthFloat}{\param{int }{w}, \param{int }{units}}
\func{void}{SetWidthFloat}{\param{const wxHtmlTag\& }{tag}, \param{double }{pixel\_scale = 1.0}}
Sets floating width adjustment.
The normal behaviour of container is that its width is the same as the width of
parent container (and thus you can have only one sub-container per line).
You can change this by setting FWA.
{\it pixel\_scale} is number of real pixels that equals to 1 HTML pixel.
\wxheading{Parameters}
\docparam{w}{Width of the container. If the value is negative it means
complement to full width of parent container (e.g.
{\tt SetWidthFloat(-50, wxHTML\_UNITS\_PIXELS)} sets the width
of container to parent's width minus 50 pixels. This is useful when
creating tables - you can call SetWidthFloat(50) and SetWidthFloat(-50))}
\docparam{units}{Units of {\it w} This parameter affects the interpretation of {\it} value.
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_UNITS\_PIXELS}}{{\it w} is number of pixels}
\twocolitem{{\bf wxHTML\_UNITS\_PERCENT}}{{\it w} is interpreted as percents of width
of parent container}
\end{twocollist}
}
\docparam{tag}{In the second version of method, {\it w} and {\it units}
info is extracted from tag's {\tt WIDTH} parameter.}
\pythonnote{The second form of this method is named
SetWidthFloatFromTag in wxPython.}

111
docs/latex/wx/htdcrend.tex Normal file
View File

@@ -0,0 +1,111 @@
%
% automatically generated by HelpGen from
% htmprint.h at 17/Oct/99 12:48:02
%
\section{\class{wxHtmlDCRenderer}}\label{wxhtmldcrenderer}
This class can render HTML document into a specified area of a DC. You can use it
in your own printing code, although use of \helpref{wxHtmlEasyPrinting}{wxhtmleasyprinting}
or \helpref{wxHtmlPrintout}{wxhtmlprintout} is strongly recommended.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/htmprint.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlDCRenderer::wxHtmlDCRenderer}\label{wxhtmldcrendererwxhtmldcrenderer}
\func{}{wxHtmlDCRenderer}{\void}
Constructor.
\membersection{wxHtmlDCRenderer::SetDC}\label{wxhtmldcrenderersetdc}
\func{void}{SetDC}{\param{wxDC* }{dc}, \param{double }{pixel\_scale = 1.0}}
Assign DC instance to the renderer.
{\it pixel\_scale} can be used when rendering to high-resolution DCs (e.g. printer) to adjust size of pixel metrics.
(Many dimensions in HTML are given in pixels -- e.g. image sizes. 300x300 image would be only one
inch wide on typical printer. With pixel\_scale = 3.0 it would be 3 inches.)
\membersection{wxHtmlDCRenderer::SetFonts}\label{wxhtmldcrenderersetfonts}
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
detailed description.
See also \helpref{SetSize}{wxhtmldcrenderersetsize}.
\membersection{wxHtmlDCRenderer::SetSize}\label{wxhtmldcrenderersetsize}
\func{void}{SetSize}{\param{int }{width}, \param{int }{height}}
Set size of output rectangle, in pixels. Note that you {\bf can't} change
width of the rectangle between calls to \helpref{Render}{wxhtmldcrendererrender}!
(You can freely change height.)
\membersection{wxHtmlDCRenderer::SetHtmlText}\label{wxhtmldcrenderersethtmltext}
\func{void}{SetHtmlText}{\param{const wxString\& }{html}, \param{const wxString\& }{basepath = wxEmptyString}, \param{bool }{isdir = true}}
Assign text to the renderer. \helpref{Render}{wxhtmldcrendererrender} then draws
the text onto DC.
\wxheading{Parameters}
\docparam{html}{HTML text. This is {\it not} a filename.}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
\docparam{isdir}{false if basepath is filename, true if it is directory name
(see \helpref{wxFileSystem}{wxfilesystem} for detailed explanation)}
\membersection{wxHtmlDCRenderer::Render}\label{wxhtmldcrendererrender}
\func{int}{Render}{\param{int }{x}, \param{int }{y}, \param{int }{from = 0}, \param{int }{dont\_render = false}}
Renders HTML text to the DC.
\wxheading{Parameters}
\docparam{x,y}{ position of upper-left corner of printing rectangle (see \helpref{SetSize}{wxhtmldcrenderersetsize})}
\docparam{from}{y-coordinate of the very first visible cell}
\docparam{dont\_render}{if true then this method only returns y coordinate of the next page
and does not output anything}
Returned value is y coordinate of first cell than didn't fit onto page.
Use this value as {\it from} in next call to Render in order to print multipages
document.
\wxheading{Caution!}
The Following three methods {\bf must} always be called before any call to Render (preferably
in this order):
\begin{itemize}\itemsep=0pt
\item \helpref{SetDC}{wxhtmldcrenderersetdc}
\item \helpref{SetSize}{wxhtmldcrenderersetsize}
\item \helpref{SetHtmlText}{wxhtmldcrenderersethtmltext}
\end{itemize}
{\bf Render() changes the DC's user scale and does NOT restore it.}
\membersection{wxHtmlDCRenderer::GetTotalHeight}\label{wxhtmldcrenderergettotalheight}
\func{int}{GetTotalHeight}{\void}
Returns the height of the HTML text. This is important if area height (see \helpref{SetSize}{wxhtmldcrenderersetsize})
is smaller that total height and thus the page cannot fit into it. In that case you're supposed to
call \helpref{Render}{wxhtmldcrendererrender} as long as its return value is smaller than GetTotalHeight's.

164
docs/latex/wx/hteasypr.tex Normal file
View File

@@ -0,0 +1,164 @@
%
% automatically generated by HelpGen from
% htmprint.h at 17/Oct/99 12:48:02
%
\section{\class{wxHtmlEasyPrinting}}\label{wxhtmleasyprinting}
This class provides very simple interface to printing
architecture. It allows you to print HTML documents using
only a few commands.
\wxheading{Note}
Do not create this class on the stack only. You should create an instance on app
startup and use this instance for all printing operations. The reason is that
this class stores various settings in it.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/htmprint.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlEasyPrinting::wxHtmlEasyPrinting}\label{wxhtmleasyprintingwxhtmleasyprinting}
\func{}{wxHtmlEasyPrinting}{\param{const wxString\& }{name = "Printing"}, \param{wxWindow* }{parentWindow = NULL}}
Constructor.
\wxheading{Parameters}
\docparam{name}{Name of the printing object. Used by preview frames and setup dialogs.}
\docparam{parentWindow}{pointer to the window that will own the preview frame and setup dialogs. May be NULL.}
\membersection{wxHtmlEasyPrinting::PreviewFile}\label{wxhtmleasyprintingpreviewfile}
\func{bool}{PreviewFile}{\param{const wxString\& }{htmlfile}}
Preview HTML file.
Returns false in case of error -- call
\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
information about the kind of the error.
\membersection{wxHtmlEasyPrinting::PreviewText}\label{wxhtmleasyprintingpreviewtext}
\func{bool}{PreviewText}{\param{const wxString\& }{htmltext}, \param{const wxString\& }{basepath = wxEmptyString}}
Preview HTML text (not file!).
Returns false in case of error -- call
\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
information about the kind of the error.
\wxheading{Parameters}
\docparam{htmltext}{HTML text.}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
\membersection{wxHtmlEasyPrinting::PrintFile}\label{wxhtmleasyprintingprintfile}
\func{bool}{PrintFile}{\param{const wxString\& }{htmlfile}}
Print HTML file.
Returns false in case of error -- call
\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
information about the kind of the error.
\membersection{wxHtmlEasyPrinting::PrintText}\label{wxhtmleasyprintingprinttext}
\func{bool}{PrintText}{\param{const wxString\& }{htmltext}, \param{const wxString\& }{basepath = wxEmptyString}}
Print HTML text (not file!).
Returns false in case of error -- call
\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
information about the kind of the error.
\wxheading{Parameters}
\docparam{htmltext}{HTML text.}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
\membersection{wxHtmlEasyPrinting::PrinterSetup}\label{wxhtmleasyprintingprintersetup}
\func{void}{PrinterSetup}{\void}
Display printer setup dialog and allows the user to modify settings.
\membersection{wxHtmlEasyPrinting::PageSetup}\label{wxhtmleasyprintingpagesetup}
\func{void}{PageSetup}{\void}
Display page setup dialog and allows the user to modify settings.
\membersection{wxHtmlEasyPrinting::SetFonts}\label{wxhtmleasyprintingsetfonts}
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
detailed description.
\membersection{wxHtmlEasyPrinting::SetHeader}\label{wxhtmleasyprintingsetheader}
\func{void}{SetHeader}{\param{const wxString\& }{header}, \param{int }{pg = wxPAGE\_ALL}}
Set page header.
\wxheading{Parameters}
\docparam{header}{HTML text to be used as header. You can use macros in it:
\begin{itemize}\itemsep=0pt
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
}
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
\membersection{wxHtmlEasyPrinting::SetFooter}\label{wxhtmleasyprintingsetfooter}
\func{void}{SetFooter}{\param{const wxString\& }{footer}, \param{int }{pg = wxPAGE\_ALL}}
Set page footer.
\wxheading{Parameters}
\docparam{footer}{HTML text to be used as footer. You can use macros in it:
\begin{itemize}\itemsep=0pt
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
}
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
\membersection{wxHtmlEasyPrinting::GetPrintData}\label{wxhtmleasyprintinggetprintdata}
\func{wxPrintData*}{GetPrintData}{\void}
Returns pointer to \helpref{wxPrintData}{wxprintdata} instance used by this class. You can
set its parameters (via SetXXXX methods).
\membersection{wxHtmlEasyPrinting::GetPageSetupData}\label{wxhtmleasyprintinggetpagesetupdata}
\func{wxPageSetupDialogData*}{GetPageSetupData}{\void}
Returns a pointer to \helpref{wxPageSetupDialogData}{wxpagesetupdialogdata} instance used by
this class. You can set its parameters (via SetXXXX methods).

View File

@@ -0,0 +1,63 @@
%
% automatically generated by HelpGen from
% htmlfilter.tex at 29/Mar/99 18:35:09
%
\section{\class{wxHtmlFilter}}\label{wxhtmlfilter}
This class is an input filter for \helpref{wxHtmlWindow}{wxhtmlwindow}.
It allows you to read and display files of different file formats.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/htmlfilt.h>
\wxheading{See Also}
\helpref{Overview}{filters}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlFilter::wxHtmlFilter}\label{wxhtmlfilterwxhtmlfilter}
\func{}{wxHtmlFilter}{\void}
Constructor.
\membersection{wxHtmlFilter::CanRead}\label{wxhtmlfiltercanread}
\func{bool}{CanRead}{\param{const wxFSFile\& }{file}}
Returns true if this filter is capable of reading file {\it file}.
Example:
\begin{verbatim}
bool MyFilter::CanRead(const wxFSFile& file)
{
return (file.GetMimeType() == "application/x-ugh");
}
\end{verbatim}
\membersection{wxHtmlFilter::ReadFile}\label{wxhtmlfilterreadfile}
\func{wxString}{ReadFile}{\param{const wxFSFile\& }{file}}
Reads the file and returns string with HTML document.
Example:
\begin{verbatim}
wxString MyImgFilter::ReadFile(const wxFSFile& file)
{
return "<html><body><img src=\"" +
file.GetLocation() +
"\"></body></html>";
}
\end{verbatim}

221
docs/latex/wx/hthelpct.tex Normal file
View File

@@ -0,0 +1,221 @@
%
% automatically generated by HelpGen from
% htmlhelp.h at 02/May/99 19:58:53
%
\section{\class{wxHtmlHelpController}}\label{wxhtmlhelpcontroller}
{\bf WARNING!} Although this class has an API compatible with other wxWindows
help controllers as documented by \helpref{wxHelpController}{wxhelpcontroller}, it
is recommended that you use the enhanced capabilities of wxHtmlHelpController's API.
This help controller provides an easy way of displaying HTML help in your
application (see {\it test} sample). The help system is based on {\bf books}
(see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is a logical
section of documentation (for example "User's Guide" or "Programmer's Guide" or
"C++ Reference" or "wxWindows Reference"). The help controller can handle as
many books as you want.
wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc) as its
native format. The file format is described \helpref{here}{helpformat}.
Have a look at docs/html/ directory where sample project files are stored.
You can use Tex2RTF to produce these files when generating HTML, if you set {\bf htmlWorkshopFiles} to {\bf true} in
your tex2rtf.ini file.
\wxheading{Note}
It is strongly recommended to use preprocessed {\bf .hhp.cached} version of
projects. It can be either created on-the-fly (see
\helpref{SetTempDir}{wxhtmlhelpcontrollersettempdir}) or you can use
{\bf hhp2cached} utility from {\it utils/hhp2cached} to create it and
distribute the cached version together with helpfiles. See {\it samples/html/help}
sample for demonstration of its use.
\wxheading{See also}
\helpref{Information about wxBestHelpController}{wxhelpcontroller}
\wxheading{Derived from}
wxHelpControllerBase
\wxheading{Include files}
<wx/html/helpctrl.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlHelpController::wxHtmlHelpController}\label{wxhtmlhelpcontrollerwxhtmlhelpcontroller}
\func{}{wxHtmlHelpController}{\param{int }{style = wxHF\_DEFAULT\_STYLE}}
Constructor.
\wxheading{Parameters}
{\it style} is combination of these flags:
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.}
\twocolitem{\windowstyle{wxHF\_FLAT\_TOOLBAR}}{Help frame has toolbar with flat buttons (aka coolbar).}
\twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.}
\twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.}
\twocolitem{\windowstyle{wxHF\_SEARCH}}{Help frame has search panel.}
\twocolitem{\windowstyle{wxHF\_BOOKMARKS}}{Help frame has bookmarks controls.}
\twocolitem{\windowstyle{wxHF\_OPEN\_FILES}}{Allow user to open arbitrary HTML document.}
\twocolitem{\windowstyle{wxHF\_PRINT}}{Toolbar contains "print" button.}
\twocolitem{\windowstyle{wxHF\_MERGE\_BOOKS}}{Contents pane does not show
book nodes. All books are merged together and appear as single book to the
user.}
\twocolitem{\windowstyle{wxHF\_ICONS\_BOOK}}{All nodes in contents pane
have a book icon. This is how Microsoft's HTML help viewer behaves.}
\twocolitem{\windowstyle{wxHF\_ICONS\_FOLDER}}{Book nodes in contents pane have
a book icon, book's sections have a folder icon. This is the default.}
\twocolitem{\windowstyle{wxHF\_ICONS\_BOOK\_CHAPTER}}{Both book nodes and
nodes of top-level sections of a book (i.e. chapters) have a book icon,
all other sections (sections, subsections, ...) have a folder icon.}
\twocolitem{\windowstyle{wxHF\_DEFAULT\_STYLE}}{{\tt wxHF\_TOOLBAR | wxHF\_CONTENTS
| wxHF\_INDEX | wxHF\_SEARCH | wxHF\_BOOKMARKS | wxHF\_PRINT}}
\end{twocollist}
\membersection{wxHtmlHelpController::AddBook}\label{wxhtmlhelpcontrolleraddbook}
\func{bool}{AddBook}{\param{const wxFileName\& }{book\_file}, \param{bool }{show\_wait\_msg}}
\func{bool}{AddBook}{\param{const wxString\& }{book\_url}, \param{bool }{show\_wait\_msg}}
Adds book (\helpref{.hhp file}{helpformat} - HTML Help Workshop project file) into the list of loaded books.
This must be called at least once before displaying any help.
{\it book\_file} or {\it book\_url} may be either .hhp file or ZIP archive
that contains arbitrary number of .hhp files in
top-level directory. This ZIP archive must have .zip or .htb extension
(the latter stands for "HTML book"). In other words,
{\tt AddBook(wxFileName("help.zip"))}
is possible and, in fact, recommended way.
\wxheading{Parameters}
\docparam{show\_wait\_msg}{If true then a decoration-less window with progress message is displayed.}
\docparam{book\_file}{Help book filename. It is recommended to use this prototype
instead of the one taking URL, because it is less error-prone.}
\docparam{book\_url}{Help book URL (note that syntax of filename and URL is
different on most platforms)}
\wxheading{Note}
Don't forget to install wxFileSystem ZIP handler with
{\tt wxFileSystem::AddHandler(new wxZipFSHandler);} before calling this method
on a .zip or .htb file!
\membersection{wxHtmlHelpController::CreateHelpFrame}\label{wxhtmlhelpcontrollercreatehelpframe}
\func{virtual wxHtmlHelpFrame*}{CreateHelpFrame}{\param{wxHtmlHelpData * }{data}}
This protected virtual method may be overridden so that the controller
uses slightly different frame. See {\it samples/html/helpview} sample for
an example.
\membersection{wxHtmlHelpController::Display}\label{wxhtmlhelpcontrollerdisplay}
\func{void}{Display}{\param{const wxString\& }{x}}
Displays page {\it x}. This is THE important function - it is used to display
the help in application.
You can specify the page in many ways:
\begin{itemize}\itemsep=0pt
\item as direct filename of HTML document
\item as chapter name (from contents) or as a book name
\item as some word from index
\item even as any word (will be searched)
\end{itemize}
Looking for the page runs in these steps:
\begin{enumerate}\itemsep=0pt
\item try to locate file named x (if x is for example "doc/howto.htm")
\item try to open starting page of book named x
\item try to find x in contents (if x is for example "How To ...")
\item try to find x in index (if x is for example "How To ...")
\item switch to Search panel and start searching
\end{enumerate}
\func{void}{Display}{\param{const int }{id}}
This alternative form is used to search help contents by numeric IDs.
\pythonnote{The second form of this method is named DisplayId in
wxPython.}
\membersection{wxHtmlHelpController::DisplayContents}\label{wxhtmlhelpcontrollerdisplaycontents}
\func{void}{DisplayContents}{\void}
Displays help window and focuses contents panel.
\membersection{wxHtmlHelpController::DisplayIndex}\label{wxhtmlhelpcontrollerdisplayindex}
\func{void}{DisplayIndex}{\void}
Displays help window and focuses index panel.
\membersection{wxHtmlHelpController::KeywordSearch}\label{wxhtmlhelpcontrollerkeywordsearch}
\func{bool}{KeywordSearch}{\param{const wxString\& }{keyword}}
Displays help window, focuses search panel and starts searching.
Returns true if the keyword was found.
{\bf Important:} KeywordSearch searches only pages listed in .hhc file(s).
You should list all pages in the contents file.
\membersection{wxHtmlHelpController::ReadCustomization}\label{wxhtmlhelpcontrollerreadcustomization}
\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
Reads the controller's setting (position of window, etc.)
\membersection{wxHtmlHelpController::SetTempDir}\label{wxhtmlhelpcontrollersettempdir}
\func{void}{SetTempDir}{\param{const wxString\& }{path}}
Sets the path for storing temporary files - cached binary versions of index and contents files. These binary
forms are much faster to read. Default value is empty string (empty string means
that no cached data are stored). Note that these files are {\it not}
deleted when program exits.
Once created these cached files will be used in all subsequent executions
of your application. If cached files become older than corresponding .hhp
file (e.g. if you regenerate documentation) it will be refreshed.
\membersection{wxHtmlHelpController::SetTitleFormat}\label{wxhtmlhelpcontrollersettitleformat}
\func{void}{SetTitleFormat}{\param{const wxString\& }{format}}
Sets format of title of the frame. Must contain exactly one "\%s"
(for title of displayed HTML page).
\membersection{wxHtmlHelpController::UseConfig}\label{wxhtmlhelpcontrolleruseconfig}
\func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}}
Associates {\it config} object with the controller.
If there is associated config object, wxHtmlHelpController automatically
reads and writes settings (including wxHtmlWindow's settings) when needed.
The only thing you must do is create wxConfig object and call UseConfig.
If you do not use {\it UseConfig}, wxHtmlHelpController will use
default wxConfig object if available (for details see
\helpref{wxConfigBase::Get}{wxconfigbaseget} and
\helpref{wxConfigBase::Set}{wxconfigbaseset}).
\membersection{wxHtmlHelpController::WriteCustomization}\label{wxhtmlhelpcontrollerwritecustomization}
\func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
Stores controllers setting (position of window etc.)

View File

@@ -0,0 +1,87 @@
%
% automatically generated by HelpGen from
% helpdata.h at 24/Oct/99 18:03:10
%
\section{\class{wxHtmlHelpData}}\label{wxhtmlhelpdata}
This class is used by \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}
and \helpref{wxHtmlHelpFrame}{wxhtmlhelpframe} to access HTML help items.
It is internal class and should not be used directly - except for the case
you're writing your own HTML help controller.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/helpdata.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlHelpData::wxHtmlHelpData}\label{wxhtmlhelpdatawxhtmlhelpdata}
\func{}{wxHtmlHelpData}{\void}
Constructor.
\membersection{wxHtmlHelpData::AddBook}\label{wxhtmlhelpdataaddbook}
\func{bool}{AddBook}{\param{const wxString\& }{book\_url}}
Adds new book. {\it book} is URL (not filename!) of HTML help project (hhp)
or ZIP file that contains arbitrary number of .hhp projects (this zip
file can have either .zip or .htb extension, htb stands for "html book").
Returns success.
\membersection{wxHtmlHelpData::FindPageById}\label{wxhtmlhelpdatafindpagebyid}
\func{wxString}{FindPageById}{\param{int }{id}}
Returns page's URL based on integer ID stored in project.
\membersection{wxHtmlHelpData::FindPageByName}\label{wxhtmlhelpdatafindpagebyname}
\func{wxString}{FindPageByName}{\param{const wxString\& }{page}}
Returns page's URL based on its (file)name.
\membersection{wxHtmlHelpData::GetBookRecArray}\label{wxhtmlhelpdatagetbookrecarray}
\func{const wxHtmlBookRecArray\&}{GetBookRecArray}{\void}
Returns array with help books info.
\membersection{wxHtmlHelpData::GetContents}\label{wxhtmlhelpdatagetcontents}
\func{wxHtmlContentsItem*}{GetContents}{\void}
Returns contents lists pointer.
\membersection{wxHtmlHelpData::GetContentsCnt}\label{wxhtmlhelpdatagetcontentscnt}
\func{int}{GetContentsCnt}{\void}
Returns size of contents list.
\membersection{wxHtmlHelpData::GetIndex}\label{wxhtmlhelpdatagetindex}
\func{wxHtmlContentsItem*}{GetIndex}{\void}
Returns pointer to index items list.
\membersection{wxHtmlHelpData::GetIndexCnt}\label{wxhtmlhelpdatagetindexcnt}
\func{int}{GetIndexCnt}{\void}
Returns size of index list.
\membersection{wxHtmlHelpData::SetTempDir}\label{wxhtmlhelpdatasettempdir}
\func{void}{SetTempDir}{\param{const wxString\& }{path}}
Sets temporary directory where binary cached versions of MS HTML Workshop
files will be stored. (This is turned off by default and you can enable
this feature by setting non-empty temp dir.)

170
docs/latex/wx/hthlpfrm.tex Normal file
View File

@@ -0,0 +1,170 @@
%
% automatically generated by HelpGen from
% helpfrm.h at 24/Oct/99 18:03:10
%
\section{\class{wxHtmlHelpFrame}}\label{wxhtmlhelpframe}
This class is used by \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}
to display help.
It is an internal class and should not be used directly - except for the case
when you're writing your own HTML help controller.
\wxheading{Derived from}
\helpref{wxFrame}{wxframe}
\wxheading{Include files}
<wx/html/helpfrm.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlHelpFrame::wxHtmlHelpFrame}\label{wxhtmlhelpframewxhtmlhelpframe}
\func{}{wxHtmlHelpFrame}{\param{wxHtmlHelpData* }{data = NULL}}
\func{}{wxHtmlHelpFrame}{\param{wxWindow* }{parent}, \param{int }{wxWindowID}, \param{const wxString\& }{title = wxEmptyString}, \param{int }{style = wxHF\_DEFAULT\_STYLE}, \param{wxHtmlHelpData* }{data = NULL}}
Constructor.
{\it style} is combination of these flags:
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.}
\twocolitem{\windowstyle{wxHF\_FLAT\_TOOLBAR}}{Help frame has toolbar with flat buttons (aka coolbar).}
\twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.}
\twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.}
\twocolitem{\windowstyle{wxHF\_SEARCH}}{Help frame has search panel.}
\twocolitem{\windowstyle{wxHF\_BOOKMARKS}}{Help frame has bookmarks controls.}
\twocolitem{\windowstyle{wxHF\_OPEN\_FILES}}{Allow user to open arbitrary HTML document.}
\twocolitem{\windowstyle{wxHF\_PRINT}}{Toolbar contains "print" button.}
\twocolitem{\windowstyle{wxHF\_MERGE\_BOOKS}}{Contents pane does not show
book nodes. All books are merged together and appear as single book to the
user.}
\twocolitem{\windowstyle{wxHF\_ICONS\_BOOK}}{All nodes in contents pane
have a book icon. This is how Microsoft's HTML help viewer behaves.}
\twocolitem{\windowstyle{wxHF\_ICONS\_FOLDER}}{Book nodes in contents pane have
a book icon, book's sections have a folder icon. This is the default.}
\twocolitem{\windowstyle{wxHF\_ICONS\_BOOK\_CHAPTER}}{Both book nodes and
nodes of top-level sections of a book (i.e. chapters) have a book icon,
all other sections (sections, subsections, ...) have a folder icon.}
\twocolitem{\windowstyle{wxHF\_DEFAULT\_STYLE}}{{\tt wxHF\_TOOLBAR | wxHF\_CONTENTS
| wxHF\_INDEX | wxHF\_SEARCH | wxHF\_BOOKMARKS | wxHF\_PRINT}}
\end{twocollist}
\membersection{wxHtmlHelpFrame::Create}\label{wxhtmlhelpframecreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{title = wxEmptyString}, \param{int }{style = wxHF\_DEFAULT\_STYLE}}
Creates the frame. See \helpref{the constructor}{wxhtmlhelpframewxhtmlhelpframe}
for parameters description.
\membersection{wxHtmlHelpFrame::CreateContents}\label{wxhtmlhelpframecreatecontents}
\func{void}{CreateContents}{\param{bool }{show\_progress = false}}
Creates contents panel. (May take some time.)
\membersection{wxHtmlHelpFrame::CreateIndex}\label{wxhtmlhelpframecreateindex}
\func{void}{CreateIndex}{\param{bool }{show\_progress = false}}
Creates index panel. (May take some time.)
\membersection{wxHtmlHelpFrame::CreateSearch}\label{wxhtmlhelpframecreatesearch}
\func{void}{CreateSearch}{\void}
Creates search panel.
\membersection{wxHtmlHelpFrame::Display}\label{wxhtmlhelpframedisplay}
\func{bool}{Display}{\param{const wxString\& }{x}}
\func{bool}{Display}{\param{const int }{id}}
Displays page x. If not found it will give the user the choice of
searching books.
Looking for the page runs in these steps:
\begin{enumerate}\itemsep=0pt
\item try to locate file named x (if x is for example "doc/howto.htm")
\item try to open starting page of book x
\item try to find x in contents (if x is for example "How To ...")
\item try to find x in index (if x is for example "How To ...")
\end{enumerate}
The second form takes numeric ID as the parameter.
(uses extension to MS format, <param name="ID" value=id>)
\pythonnote{The second form of this method is named DisplayId in
wxPython.}
\membersection{wxHtmlHelpFrame::DisplayContents}\label{wxhtmlhelpframedisplaycontents}
\func{bool}{DisplayContents}{\void}
Displays contents panel.
\membersection{wxHtmlHelpFrame::DisplayIndex}\label{wxhtmlhelpframedisplayindex}
\func{bool}{DisplayIndex}{\void}
Displays index panel.
\membersection{wxHtmlHelpFrame::GetData}\label{wxhtmlhelpframegetdata}
\func{wxHtmlHelpData*}{GetData}{\void}
Return wxHtmlHelpData object.
\membersection{wxHtmlHelpFrame::KeywordSearch}\label{wxhtmlhelpframekeywordsearch}
\func{bool}{KeywordSearch}{\param{const wxString\& }{keyword}}
Search for given keyword.
\membersection{wxHtmlHelpFrame::ReadCustomization}\label{wxhtmlhelpframereadcustomization}
\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{const wxString\& }{path = wxEmptyString}}
Reads user's settings for this frame (see \helpref{wxHtmlHelpController::ReadCustomization}{wxhtmlhelpcontrollerreadcustomization})
\membersection{wxHtmlHelpFrame::RefreshLists}\label{wxhtmlhelpframerefreshlists}
\func{void}{RefreshLists}{\param{bool }{show\_progress = false}}
Refresh all panels. This is necessary if a new book was added.
\membersection{wxHtmlHelpFrame::SetTitleFormat}\label{wxhtmlhelpframesettitleformat}
\func{void}{SetTitleFormat}{\param{const wxString\& }{format}}
Sets the frame's title format. {\it format} must contain exactly one "\%s"
(it will be replaced by the page title).
\membersection{wxHtmlHelpFrame::UseConfig}\label{wxhtmlhelpframeuseconfig}
\func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}}
Add books to search choice panel.
\membersection{wxHtmlHelpFrame::WriteCustomization}\label{wxhtmlhelpframewritecustomization}
\func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{const wxString\& }{path = wxEmptyString}}
Saves user's settings for this frame (see \helpref{wxHtmlHelpController::WriteCustomization}{wxhtmlhelpcontrollerwritecustomization}).
\membersection{wxHtmlHelpFrame::AddToolbarButtons}\label{wxhtmlhelpframeaddtoolbarbuttons}
\func{virtual void}{AddToolbarButtons}{\param{wxToolBar *}{toolBar}, \param{int }{style}}
You may override this virtual method to add more buttons into help frame's
toolbar. {\it toolBar} is a pointer to the toolbar and {\it style} is the style
flag as passed to Create method.
wxToolBar::Realize is called immediately after returning from this function.
See {\it samples/html/helpview} for an example.

View File

@@ -0,0 +1,59 @@
\section{\class{wxHtmlLinkInfo}}\label{wxhtmllinkinfo}
This class stores all necessary information about hypertext
links (as represented by {\tt <A>} tag in HTML documents). In
current implementation it stores URL and target frame name.
{\it Note that frames are not currently supported by wxHTML!}
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/htmlcell.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlLinkInfo::wxHtmlLinkInfo}\label{wxhtmllinkinfowxhtmllinkinfo}
\func{}{wxHtmlLinkInfo}{\void}
Default ctor.
\func{}{wxHtmlLinkInfo}{\param{const wxString\& }{href}, \param{const wxString\& }{target = wxEmptyString}}
Construct hypertext link from HREF (aka URL) and TARGET (name of target
frame).
\membersection{wxHtmlLinkInfo::GetEvent}\label{wxhtmllinkinfogetevent}
\func{const wxMouseEvent *}{GetEvent}{\void}
Return pointer to event that generated OnLinkClicked event. Valid
only within \helpref{wxHtmlWindow::OnLinkClicked}{wxhtmlwindowonlinkclicked},
NULL otherwise.
\membersection{wxHtmlLinkInfo::GetHtmlCell}\label{wxhtmllinkinfogethtmlcell}
\func{const wxHtmlCell *}{GetHtmlCell}{\void}
Return pointer to the cell that was clicked. Valid
only within \helpref{wxHtmlWindow::OnLinkClicked}{wxhtmlwindowonlinkclicked},
NULL otherwise.
\membersection{wxHtmlLinkInfo::GetHref}\label{wxhtmllinkinfogethref}
\func{wxString}{GetHref}{\void}
Return {\it HREF} value of the {\tt <A>} tag.
\membersection{wxHtmlLinkInfo::GetTarget}\label{wxhtmllinkinfogettarget}
\func{wxString}{GetTarget}{\void}
Return {\it TARGET} value of the {\tt <A>} tag (this value
is used to specify in which frame should be the page pointed
by \helpref{Href}{wxhtmllinkinfogethref} opened).

View File

@@ -0,0 +1,82 @@
\subsection{Cells and Containers}\label{cells}
This article describes mechanism used by
\helpref{wxHtmlWinParser}{wxhtmlwinparser} and
\helpref{wxHtmlWindow}{wxhtmlwindow} to parse and display HTML documents.
\wxheading{Cells}
You can divide any text (or HTML) into small fragments. Let's call these
fragments {\bf cells}. Cell is for example one word, horizontal line, image
or any other part of document. Each cell has width and height (except special
"magic" cells with zero dimensions - e.g. colour changers or font changers).
See \helpref{wxHtmlCell}{wxhtmlcell}.
\wxheading{Containers}
Container is kind of cell that may contain sub-cells. Its size depends
on number and sizes of its sub-cells (and also depends on width of window).
See \helpref{wxHtmlContainerCell}{wxhtmlcontainercell},
\helpref{wxHtmlCell::Layout}{wxhtmlcelllayout}.
\begin{comment}
% Bitmap is corrupt!
This image shows you cells and containers:
\helponly{\image{}{contbox.bmp}}
\end{comment}
\wxheading{Using Containers in Tag Handler}
\helpref{wxHtmlWinParser}{wxhtmlwinparser} provides a user-friendly way
of managing containers. It is based on the idea of opening and closing containers.
Use \helpref{OpenContainer}{wxhtmlwinparseropencontainer} to open new
a container {\it within an already opened container}. This new container is a
{\it sub-container} of the old one. (If you want to create a new container with
the same depth level you can call {\tt CloseContainer(); OpenContainer();}.)
Use \helpref{CloseContainer}{wxhtmlwinparserclosecontainer} to close the
container. This doesn't create a new container with same depth level but
it returns "control" to the parent container.
\begin{comment}
% Bitmap corrupt!
See explanation:
\helponly{\image{}{cont.bmp}}
\end{comment}
It is clear there must be same number of calls to
OpenContainer as to CloseContainer...
\wxheading{Example}
This code creates a new paragraph (container at same depth level)
with "Hello, world!":
\begin{verbatim}
m_WParser -> CloseContainer();
c = m_WParser -> OpenContainer();
m_WParser -> AddWord("Hello, ");
m_WParser -> AddWord("world!");
m_WParser -> CloseContainer();
m_WParser -> OpenContainer();
\end{verbatim}
\begin{comment}
% Bitmap corrupt!
and here is image of the situation:
\helponly{\image{}{hello.bmp}}
\end{comment}
You can see that there was opened container before running the code. We closed
it, created our own container, then closed our container and opened
new container. The result was that we had {\it same depth level} after
executing. This is general rule that should be followed by tag handlers:
leave depth level of containers unmodified (in other words, number of
OpenContainer and CloseContainer calls should be same within \helpref{HandleTag}{wxhtmltaghandlerhandletag}'s body).

View File

@@ -0,0 +1,10 @@
\subsection{Input Filters}\label{filters}
The wxHTML library provides a mechanism for reading and displaying
files of many different file formats.
\helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage} can load not
only HTML files but any known file. To make a file type known to wxHtmlWindow
you must create a \helpref{wxHtmlFilter}{wxhtmlfilter} filter and
register it using \helpref{wxHtmlWindow::AddFilter}{wxhtmlwindowaddfilter}.

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

@@ -0,0 +1,146 @@
\subsection{Tag Handlers}\label{handlers}
The wxHTML library provides architecture of pluggable {\it tag handlers}.
Tag handler is class that understands particular HTML tag (or tags) and is
able to interpret it.
\helpref{wxHtmlWinParser}{wxhtmlwinparser} has static table of {\bf modules}.
Each module contains one or more tag handlers. Each time a new wxHtmlWinParser
object is constructed all modules are scanned and handlers are added
to wxHtmlParser's list of available handlers (note: wxHtmlParser's list
is non-static).
\wxheading{How it works}
Common tag handler's \helpref{HandleTag}{wxhtmltaghandlerhandletag} method
works in four steps:
\begin{enumerate}\itemsep=0pt
\item Save state of parent parser into local variables
\item Change parser state according to tag's params
\item Parse text between the tag and paired ending tag (if present)
\item Restore original parser state
\end{enumerate}
See \helpref{wxHtmlWinParser}{wxhtmlwinparser} for methods for modifying
parser's state. In general you can do things like opening/closing containers,
changing colors, fonts etc.
\wxheading{Providing own tag handlers}
You should create new .cpp file and place following lines into it:
\begin{verbatim}
#include <mod_templ.h>
#include <forcelink.h>
FORCE_LINK_ME(yourmodulefilenamewithoutcpp)
\end{verbatim}
Then you must define handlers and one module.
\wxheading{Tag handlers}
The handler is derived from \helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}
(or directly from \helpref{wxHtmlTagHandler}{wxhtmltaghandler})
You can use set of macros to define the handler (see src/html/m\_*.cpp files
for details). Handler definition must start with {\bf TAG\_HANDLER\_BEGIN} macro
and end with {\bf TAG\_HANDLER\_END} macro. I strongly recommend to have a look
at {\it include/wxhtml/mod\_templ.h} file. Otherwise you won't understand
the structure of macros. See macros reference:
{\bf TAG\_HANDLER\_BEGIN}({\it name}, {\it tags})
Starts handler definition. {\it name} is handler identifier (in fact
part of class name), {\it tags} is string containing list of tags
supported by this handler (in uppercase). This macro derives new class from
wxHtmlWinTagHandler and implements it is
\helpref{GetSupportedTags}{wxhtmltaghandlergetsupportedtags} method.
Example: TAG\_HANDLER\_BEGIN(FONTS, "B,I,U,T")
{\bf TAG\_HANDLER\_VARS}
This macro starts block of variables definitions. (Variables are identical
to class attributes.) Example:
\begin{verbatim}
TAG_HANDLER_BEGIN(VARS_ONLY, "CRAZYTAG")
TAG_HANDLER_VARS
int my_int_var;
wxString something_else;
TAG_HANDLER_END(VARS_ONLY)
\end{verbatim}
This macro is used only in rare cases.
{\bf TAG\_HANDLER\_CONSTR}({\it name})
This macro supplies object constructor. {\it name} is same name as the one
from TAG\_HANDLER\_BEGIN macro. Body of constructor follow after
this macro (you must use { and } ). Example:
\begin{verbatim}
TAG_HANDLER_BEGIN(VARS2, "CRAZYTAG")
TAG_HANDLER_VARS
int my_int_var;
TAG_HANDLER_CONSTR(vars2)
{ // !!!!!!
my_int_var = 666;
} // !!!!!!
TAG_HANDLER_END(VARS2)
\end{verbatim}
Never used in wxHTML :-)
{\bf TAG\_HANDLER\_PROC}({\it varib})
This is very important macro. It defines \helpref{HandleTag}{wxhtmltaghandlerhandletag}
method. {\it varib} is name of parameter passed to the method, usually
{\it tag}. Body of method follows after this macro.
Note than you must use { and } ! Example:
\begin{verbatim}
TAG_HANDLER_BEGIN(TITLE, "TITLE")
TAG_HANDLER_PROC(tag)
{
printf("TITLE found...\n");
}
TAG_HANDLER_END(TITLE)
\end{verbatim}
{\bf TAG\_HANDLER\_END}({\it name})
Ends definition of tag handler {\it name}.
\wxheading{Tags Modules}
You can use set of 3 macros TAGS\_MODULE\_BEGIN, TAGS\_MODULE\_ADD and
TAGS\_MODULE\_END to inherit new module from
\helpref{wxHtmlTagsModule}{wxhtmltagsmodule} and to create instance of it.
See macros reference:
{\bf TAGS\_MODULE\_BEGIN}({\it modname})
Begins module definition. {\it modname} is part of class name and must
be unique.
{\bf TAGS\_MODULE\_ADD}({\it name})
Adds the handler to this module. {\it name} is the identifier from
TAG\_HANDLER\_BEGIN.
{\bf TAGS\_MODULE\_END}({\it modname})
Ends the definition of module.
{\bf Example:}
\begin{verbatim}
TAGS_MODULE_BEGIN(Examples)
TAGS_MODULE_ADD(VARS_ONLY)
TAGS_MODULE_ADD(VARS2)
TAGS_MODULE_ADD(TITLE)
TAGS_MODULE_END(Examples)
\end{verbatim}

View File

@@ -0,0 +1,96 @@
\subsection{Help Files Format}\label{helpformat}
wxHTML library uses a reduced version of MS HTML Workshop format.
Tex2RTF can produce these files when generating HTML, if you set {\bf htmlWorkshopFiles} to {\bf true} in
your tex2rtf.ini file.
(See \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller} for help controller description.)
A {\bf book} consists of three files: header file, contents file and index file.
You can make a regular zip archive of these files, plus the HTML and any image files,
for wxHTML (or helpview) to read; and the .zip file can optionally be renamed to .htb.
\wxheading{Header file (.hhp)}
Header file must contain these lines (and may contain additional lines which are ignored) :
\begin{verbatim}
Contents file=<filename.hhc>
Index file=<filename.hhk>
Title=<title of your book>
Default topic=<default page to be displayed.htm>
\end{verbatim}
All filenames (including the Default topic) are relative to the
location of .hhp file.
{\bf Localization note:} In addition, .hhp file may contain line
\begin{verbatim}
Charset=<rfc_charset>
\end{verbatim}
which specifies what charset (e.g. "iso8859\_1") was used in contents
and index files. Please note that this line is incompatible with
MS HTML Help Workshop and it would either silently remove it or complain
with some error. See also
\helpref{Writing non-English applications}{nonenglishoverview}.
\wxheading{Contents file (.hhc)}
Contents file has HTML syntax and it can be parsed by regular HTML parser. It contains exactly one list
({\tt <ul>}....{\tt </ul>} statement):
\begin{verbatim}
<ul>
<li> <object type="text/sitemap">
<param name="Name" value="@topic name@">
<param name="ID" value=@numeric_id@>
<param name="Local" value="@filename.htm@">
</object>
<li> <object type="text/sitemap">
<param name="Name" value="@topic name@">
<param name="ID" value=@numeric_id@>
<param name="Local" value="@filename.htm@">
</object>
...
</ul>
\end{verbatim}
You can modify value attributes of param tags. {\it topic name} is name of chapter/topic as is displayed in
contents, {\it filename.htm} is HTML page name (relative to .hhp file) and {\it numeric\_id} is optional
- it is used only when you use \helpref{wxHtmlHelpController::Display(int)}{wxhtmlhelpcontrollerdisplay}
Items in the list may be nested - one {\tt <li>} statement may contain a {\tt <ul>} sub-statement:
\begin{verbatim}
<ul>
<li> <object type="text/sitemap">
<param name="Name" value="Top node">
<param name="Local" value="top.htm">
</object>
<ul>
<li> <object type="text/sitemap">
<param name="Name" value="subnode in topnode">
<param name="Local" value="subnode1.htm">
</object>
...
</ul>
<li> <object type="text/sitemap">
<param name="Name" value="Another Top">
<param name="Local" value="top2.htm">
</object>
...
</ul>
\end{verbatim}
\wxheading{Index file (.hhk)}
Index files have same format as contents file except that ID params are ignored and sublists are {\bf not}
allowed.

View File

@@ -0,0 +1,82 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: htmllbox.tex
%% Purpose: wxHtmlListBox documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 01.06.03
%% RCS-ID: $Id$
%% Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxHtmlListBox}}\label{wxhtmllistbox}
wxHtmlListBox is an implementation of \helpref{wxVListBox}{wxvlistbox} which
shows HTML content in the listbox rows. This is still an abstract base class
and you will need to derive your own class from it (see htlbox sample for the
example) but you will only need to override a single
\helpref{OnGetItem()}{wxhtmllistboxongetitem} function.
\wxheading{Derived from}
\helpref{wxVListBox}{wxvlistbox}
\wxheading{Include files}
<wx/htmllbox.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlListBox::wxHtmlListBox}\label{wxhtmllistboxwxhtmllistbox}
\func{}{wxHtmlListBox}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{size\_t }{countItems = 0}, \param{long }{style = 0}, \param{const wxString\& }{name = wxVListBoxNameStr}}
Normal constructor which calls \helpref{Create()}{wxhtmllistboxcreate}
internally.
\func{}{wxHtmlListBox}{\void}
Default constructor, you must call \helpref{Create()}{wxhtmllistboxcreate}
later.
\membersection{wxHtmlListBox::\destruct{wxHtmlListBox}}\label{wxhtmllistboxdtor}
\func{}{\destruct{wxHtmlListBox}}{\void}
Destructor cleans up whatever resources we use.
\membersection{wxHtmlListBox::Create}\label{wxhtmllistboxcreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{size\_t }{countItems = 0}, \param{long }{style = 0}, \param{const wxString\& }{name = wxVListBoxNameStr}}
Creates the control and optionally sets the initial number of items in it
(it may also be set or changed later with
\helpref{SetItemCount()}{wxvlistboxsetitemcount}).
There are no special styles defined for wxHtmlListBox, in particular the
wxListBox styles can not be used here.
Returns {\tt true} on success or {\tt false} if the control couldn't be created
\membersection{wxHtmlListBox::OnGetItem}\label{wxhtmllistboxongetitem}
\constfunc{wxString}{OnGetItem}{\param{size\_t }{n}}
This method must be implemented in the derived class and should return
the body (i.e. without {\tt <html>} nor {\tt <body>} tags) of the HTML fragment
for the given item.
\membersection{wxHtmlListBox::OnGetItemMarkup}\label{wxhtmllistboxongetitemmarkup}
\constfunc{wxString}{OnGetItemMarkup}{\param{size\_t }{n}}
This function may be overridden to decorate HTML returned by
\helpref{OnGetItem()}{wxhtmllistboxongetitem}.

13
docs/latex/wx/htmlprn.tex Normal file
View File

@@ -0,0 +1,13 @@
\subsection{HTML Printing}\label{printing}
The wxHTML library provides printing facilities with several levels of complexity.
The easiest way to print an HTML document is to use
\helpref{wxHtmlEasyPrinting class}{wxhtmleasyprinting}. It lets you print HTML documents with only one
command and you don't have to worry about deriving from the wxPrintout class at all. It is only a simple wrapper around the
\helpref{wxHtmlPrintout}{wxhtmlprintout}, normal wxWindows printout class.
And finally there is the low level class \helpref{wxHtmlDCRenderer}{wxhtmldcrenderer} which you can use to
render HTML into a rectangular area on any DC. It supports rendering into multiple rectangles with the same
width. (The most common use of this is placing one rectangle on each page or printing into two columns.)

View File

@@ -0,0 +1,68 @@
\subsection{wxHTML quick start}\label{wxhtmlquickstart}
\wxheading{Displaying HMTL}
First of all, you must include <wx/wxhtml.h>.
Class \helpref{wxHtmlWindow}{wxhtmlwindow} (derived from wxScrolledWindow)
is used to display HTML documents.
It has two important methods: \helpref{LoadPage}{wxhtmlwindowloadpage}
and \helpref{SetPage}{wxhtmlwindowsetpage}.
LoadPage loads and displays HTML file while SetPage displays directly the
passed {\bf string}. See the example:
\begin{verbatim}
mywin -> LoadPage("test.htm");
mywin -> SetPage("<html><body>"
"<h1>Error</h1>"
"Some error occurred :-H)"
"</body></hmtl>");
\end{verbatim}
I think the difference is quite clear.
\wxheading{Displaying Help}
See \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}.
\wxheading{Setting up wxHtmlWindow}
Because wxHtmlWindow is derived from wxScrolledWindow and not from
wxFrame, it doesn't have visible frame. But the user usually want to see
the title of HTML page displayed somewhere and frame's titlebar is
ideal place for it.
wxHtmlWindow provides 2 methods in order to handle this:
\helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe} and
\helpref{SetRelatedStatusBar}{wxhtmlwindowsetrelatedstatusbar}.
See the example:
\begin{verbatim}
html = new wxHtmlWindow(this);
html -> SetRelatedFrame(this, "HTML : %%s");
html -> SetRelatedStatusBar(0);
\end{verbatim}
The first command associates html object with it is parent frame
(this points to wxFrame object there) and sets format of title.
Page title "Hello, world!" will be displayed as "HTML : Hello, world!"
in this example.
The second command sets which frame's status bar should be used to display
browser's messages (such as "Loading..." or "Done" or hypertext links).
\wxheading{Customizing wxHtmlWindow}
You can customize wxHtmlWindow by setting font size, font face and
borders (space between border of window and displayed HTML). Related functions:
\begin{itemize}\itemsep=0pt
\item \helpref{SetFonts}{wxhtmlwindowsetfonts}
\item \helpref{SetBorders}{wxhtmlwindowsetborders}
\item \helpref{ReadCustomization}{wxhtmlwindowreadcustomization}
\item \helpref{WriteCustomization}{wxhtmlwindowwritecustomization}
\end{itemize}
The last two functions are used to store user customization info wxConfig stuff
(for example in the registry under Windows, or in a dotfile under Unix).

148
docs/latex/wx/htmltags.tex Normal file
View File

@@ -0,0 +1,148 @@
\subsection{Tags supported by wxHTML}\label{htmltagssupported}
wxHTML is not full implementation of HTML standard. Instead, it supports most common tags so that it
is possible to display {\it simple} HTML documents with it. (For example it works fine with pages created
in Netscape Composer or generated by tex2rtf).
Following tables list all tags known to wxHTML, together with supported parameters.
A tag has general form of {\tt <tagname param\_1 param\_2 ... param\_n>} where param\_i is
either {\tt paramname="paramvalue"} or {\tt paramname=paramvalue} - these two are equivalent. Unless stated
otherwise, wxHTML is case-insensitive.
\wxheading{Table of common parameter values}
We will use these substitutions in tags descriptions:
\begin{verbatim}
[alignment] CENTER
LEFT
RIGHT
JUSTIFY
[v_alignment] TOP
BOTTOM
CENTER
[color] HTML 4.0-compliant colour specification
[fontsize] -2
-1
+0
+1
+2
+3
+4
1
2
3
4
5
6
7
[pixels] integer value that represents dimension in pixels
[percent] i%
where i is integer
[url] an URL
[string] text string
[coords] c(1),c(2),c(3),...,c(n)
where c(i) is integer
\end{verbatim}
\wxheading{List of supported tags}
\begin{verbatim}
A NAME=[string]
HREF=[url]
TARGET=[target window spec]
ADDRESS
AREA SHAPE=POLY
SHAPE=CIRCLE
SHAPE=RECT
COORDS=[coords]
HREF=[url]
B
BIG
BLOCKQUOTE
BODY TEXT=[color]
LINK=[color]
BGCOLOR=[color]
BR ALIGN=[alignment]
CENTER
CITE
CODE
DD
DIV ALIGN=[alignment]
DL
DT
EM
FONT COLOR=[color]
SIZE=[fontsize]
FACE=[comma-separated list of facenames]
HR ALIGN=[alignment]
SIZE=[pixels]
WIDTH=[percent|pixels]
NOSHADE
H1
H2
H3
H4
H5
H6
I
IMG SRC=[url]
WIDTH=[pixels]
HEIGHT=[pixels]
ALIGN=TEXTTOP
ALIGN=CENTER
ALIGN=ABSCENTER
ALIGN=BOTTOM
USEMAP=[url]
KBD
LI
MAP NAME=[string]
META HTTP-EQUIV="Content-Type"
CONTENT=[string]
OL
P ALIGN=[alignment]
PRE
SAMP
SMALL
STRIKE
STRONG
TABLE ALIGN=[alignment]
WIDTH=[percent|pixels]
BORDER=[pixels]
VALIGN=[v_alignment]
BGCOLOR=[color]
CELLSPACING=[pixels]
CELLPADDING=[pixels]
TD ALIGN=[alignment]
VALIGN=[v_alignment]
BGCOLOR=[color]
WIDTH=[percent|pixels]
COLSPAN=[pixels]
ROWSPAN=[pixels]
TH ALIGN=[alignment]
VALIGN=[v_alignment]
BGCOLOR=[color]
WIDTH=[percent|pixels]
COLSPAN=[pixels]
ROWSPAN=[pixels]
TITLE
TR ALIGN=[alignment]
VALIGN=[v_alignment]
BGCOLOR=[color]
TT
U
UL
\end{verbatim}

267
docs/latex/wx/htparser.tex Normal file
View File

@@ -0,0 +1,267 @@
%
% automatically generated by HelpGen from
% htmlparser.tex at 14/Mar/99 20:13:37
%
\section{\class{wxHtmlParser}}\label{wxhtmlparser}
This class handles the {\bf generic} parsing of HTML document: it scans
the document and divide it into blocks of tags (where one block
consists of beginning and ending tag and of text between these
two tags).
It is independent from wxHtmlWindow and can be used as stand-alone parser
(Julian Smart's idea of speech-only HTML viewer or wget-like utility -
see InetGet sample for example).
It uses system of tag handlers to parse the HTML document. Tag handlers
are not statically shared by all instances but are created for each
wxHtmlParser instance. The reason is that the handler may contain
document-specific temporary data used during parsing (e.g. complicated
structures like tables).
Typically the user calls only the \helpref{Parse}{wxhtmlparserparse} method.
\wxheading{Derived from}
wxObject
\wxheading{Include files}
<wx/html/htmlpars.h>
\wxheading{See also}
\helpref{Cells Overview}{cells},
\helpref{Tag Handlers Overview}{handlers},
\helpref{wxHtmlTag}{wxhtmltag}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlParser::wxHtmlParser}\label{wxhtmlparserwxhtmlparser}
\func{}{wxHtmlParser}{\void}
Constructor.
\membersection{wxHtmlParser::AddTag}\label{wxhtmlparseraddtag}
\func{void}{AddTag}{\param{const wxHtmlTag\& }{tag}}
This may (and may not) be overwritten in derived class.
This method is called each time new tag is about to be added.
{\it tag} contains information about the tag. (See \helpref{wxHtmlTag}{wxhtmltag}
for details.)
Default (wxHtmlParser) behaviour is this:
First it finds a handler capable of handling this tag and then it calls
handler's HandleTag method.
\membersection{wxHtmlParser::AddTagHandler}\label{wxhtmlparseraddtaghandler}
\func{virtual void}{AddTagHandler}{\param{wxHtmlTagHandler }{*handler}}
Adds handler to the internal list (\& hash table) of handlers. This
method should not be called directly by user but rather by derived class'
constructor.
This adds the handler to this {\bf instance} of wxHtmlParser, not to
all objects of this class! (Static front-end to AddTagHandler is provided
by wxHtmlWinParser).
All handlers are deleted on object deletion.
\membersection{wxHtmlParser::AddText}\label{wxhtmlparseraddword}
\func{virtual void}{AddWord}{\param{const char* }{txt}}
Must be overwritten in derived class.
This method is called by \helpref{DoParsing}{wxhtmlparserdoparsing}
each time a part of text is parsed. {\it txt} is NOT only one word, it is
substring of input. It is not formatted or preprocessed (so white spaces are
unmodified).
\membersection{wxHtmlParser::DoParsing}\label{wxhtmlparserdoparsing}
\func{void}{DoParsing}{\param{int }{begin\_pos}, \param{int }{end\_pos}}
\func{void}{DoParsing}{\void}
Parses the m\_Source from begin\_pos to end\_pos-1.
(in noparams version it parses whole m\_Source)
\membersection{wxHtmlParser::DoneParser}\label{wxhtmlparserdoneparser}
\func{virtual void}{DoneParser}{\void}
This must be called after DoParsing().
\membersection{wxHtmlParser::GetFS}\label{wxhtmlparsergetfs}
\constfunc{wxFileSystem*}{GetFS}{\void}
Returns pointer to the file system. Because each tag handler has
reference to it is parent parser it can easily request the file by
calling
\begin{verbatim}
wxFSFile *f = m_Parser -> GetFS() -> OpenFile("image.jpg");
\end{verbatim}
\membersection{wxHtmlParser::GetProduct}\label{wxhtmlparsergetproduct}
\func{virtual wxObject*}{GetProduct}{\void}
Returns product of parsing. Returned value is result of parsing
of the document. The type of this result depends on internal
representation in derived parser (but it must be derived from wxObject!).
See wxHtmlWinParser for details.
\membersection{wxHtmlParser::GetSource}\label{wxhtmlparsergetsource}
\func{wxString*}{GetSource}{\void}
Returns pointer to the source being parsed.
\membersection{wxHtmlParser::InitParser}\label{wxhtmlparserinitparser}
\func{virtual void}{InitParser}{\param{const wxString\& }{source}}
Setups the parser for parsing the {\it source} string. (Should be overridden
in derived class)
\membersection{wxHtmlParser::OpenURL}\label{wxhtmlparseropenurl}
\func{virtual wxFSFile*}{OpenURL}{\param{wxHtmlURLType }{type}, \param{const wxString\& }{url}}
Opens given URL and returns {\tt wxFSFile} object that can be used to read data
from it. This method may return NULL in one of two cases: either the URL doesn't
point to any valid resource or the URL is blocked by overridden implementation
of {\it OpenURL} in derived class.
\wxheading{Parameters}
\docparam{type}{Indicates type of the resource. Is one of
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_URL\_PAGE}}{Opening a HTML page.}
\twocolitem{{\bf wxHTML\_URL\_IMAGE}}{Opening an image.}
\twocolitem{{\bf wxHTML\_URL\_OTHER}}{Opening a resource that doesn't fall into
any other category.}
\end{twocollist}}
\docparam{url}{URL being opened.}
\wxheading{Notes}
Always use this method in tag handlers instead of {\tt GetFS()->OpenFile()}
because it can block the URL and is thus more secure.
Default behaviour is to call \helpref{wxHtmlWindow::OnOpeningURL}{wxhtmlwindowonopeningurl}
of the associated wxHtmlWindow object (which may decide to block the URL or
redirect it to another one),if there's any, and always open the URL if the
parser is not used with wxHtmlWindow.
Returned {\tt wxFSFile} object is not guaranteed to point to {\it url}, it might
have been redirected!
\membersection{wxHtmlParser::Parse}\label{wxhtmlparserparse}
\func{wxObject*}{Parse}{\param{const wxString\& }{source}}
Proceeds parsing of the document. This is end-user method. You can simply
call it when you need to obtain parsed output (which is parser-specific)
The method does these things:
\begin{enumerate}\itemsep=0pt
\item calls \helpref{InitParser(source)}{wxhtmlparserinitparser}
\item calls \helpref{DoParsing}{wxhtmlparserdoparsing}
\item calls \helpref{GetProduct}{wxhtmlparsergetproduct}
\item calls \helpref{DoneParser}{wxhtmlparserdoneparser}
\item returns value returned by GetProduct
\end{enumerate}
You shouldn't use InitParser, DoParsing, GetProduct or DoneParser directly.
\membersection{wxHtmlParser::PushTagHandler}\label{wxhtmlparserpushtaghandler}
\func{void}{PushTagHandler}{\param{wxHtmlTagHandler* }{handler}, \param{wxString }{tags}}
Forces the handler to handle additional tags
(not returned by \helpref{GetSupportedTags}{wxhtmltaghandlergetsupportedtags}).
The handler should already be added to this parser.
\wxheading{Parameters}
\docparam{handler}{the handler}
\docparam{tags}{List of tags (in same format as GetSupportedTags's return value). The parser
will redirect these tags to {\it handler} (until call to \helpref{PopTagHandler}{wxhtmlparserpoptaghandler}). }
\wxheading{Example}
Imagine you want to parse following pseudo-html structure:
\begin{verbatim}
<myitems>
<param name="one" value="1">
<param name="two" value="2">
</myitems>
<execute>
<param program="text.exe">
</execute>
\end{verbatim}
It is obvious that you cannot use only one tag handler for <param> tag.
Instead you must use context-sensitive handlers for <param> inside <myitems>
and <param> inside <execute>.
This is the preferred solution:
\begin{verbatim}
TAG_HANDLER_BEGIN(MYITEM, "MYITEMS")
TAG_HANDLER_PROC(tag)
{
// ...something...
m_Parser -> PushTagHandler(this, "PARAM");
ParseInner(tag);
m_Parser -> PopTagHandler();
// ...something...
}
TAG_HANDLER_END(MYITEM)
\end{verbatim}
\membersection{wxHtmlParser::PopTagHandler}\label{wxhtmlparserpoptaghandler}
\func{void}{PopTagHandler}{\void}
Restores parser's state before last call to
\helpref{PushTagHandler}{wxhtmlparserpushtaghandler}.
\membersection{wxHtmlParser::SetFS}\label{wxhtmlparsersetfs}
\func{void}{SetFS}{\param{wxFileSystem }{*fs}}
Sets the virtual file system that will be used to request additional
files. (For example {\tt <IMG>} tag handler requests wxFSFile with the
image data.)
\membersection{wxHtmlParser::StopParsing}\label{wxhtmlparserstopparsing}
\func{void}{StopParsing}{\void}
Call this function to interrupt parsing from a tag handler. No more tags
will be parsed afterward. This function may only be called from
\helpref{wxHtmlParser::Parse}{wxhtmlparserparse} or any function called
by it (i.e. from tag handlers).

106
docs/latex/wx/htprint.tex Normal file
View File

@@ -0,0 +1,106 @@
%
% automatically generated by HelpGen from
% htmprint.h at 17/Oct/99 12:48:02
%
\section{\class{wxHtmlPrintout}}\label{wxhtmlprintout}
This class serves as printout class for HTML documents.
\wxheading{Derived from}
\helpref{wxPrintout}{wxprintout}
\wxheading{Include files}
<wx/html/htmprint.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlPrintout::wxHtmlPrintout}\label{wxhtmlprintoutwxhtmlprintout}
\func{}{wxHtmlPrintout}{\param{const wxString\& }{title = "Printout"}}
Constructor.
\membersection{wxHtmlPrintout::SetFonts}\label{wxhtmlprintoutsetfonts}
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
detailed description.
\membersection{wxHtmlPrintout::SetFooter}\label{wxhtmlprintoutsetfooter}
\func{void}{SetFooter}{\param{const wxString\& }{footer}, \param{int }{pg = wxPAGE\_ALL}}
Sets page footer.
\wxheading{Parameters}
\docparam{footer}{HTML text to be used as footer. You can use macros in it:
\begin{itemize}
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
}
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
\membersection{wxHtmlPrintout::SetHeader}\label{wxhtmlprintoutsetheader}
\func{void}{SetHeader}{\param{const wxString\& }{header}, \param{int }{pg = wxPAGE\_ALL}}
Sets page header.
\wxheading{Parameters}
\docparam{header}{HTML text to be used as header. You can use macros in it:
\begin{itemize}
\item @PAGENUM@ is replaced by page number
\item @PAGESCNT@ is replaced by total number of pages
\end{itemize}
}
\docparam{pg}{one of wxPAGE\_ODD, wxPAGE\_EVEN and wxPAGE\_ALL constants.}
\membersection{wxHtmlPrintout::SetHtmlFile}\label{wxhtmlprintoutsethtmlfile}
\func{void}{SetHtmlFile}{\param{const wxString\& }{htmlfile}}
Prepare the class for printing this HTML {\bf file}. The file may be located on
any virtual file system or it may be normal file.
\membersection{wxHtmlPrintout::SetHtmlText}\label{wxhtmlprintoutsethtmltext}
\func{void}{SetHtmlText}{\param{const wxString\& }{html}, \param{const wxString\& }{basepath = wxEmptyString}, \param{bool }{isdir = true}}
Prepare the class for printing this HTML text.
\wxheading{Parameters}
\docparam{html}{HTML text. (NOT file!)}
\docparam{basepath}{base directory (html string would be stored there if it was in
file). It is used to determine path for loading images, for example.}
\docparam{isdir}{false if basepath is filename, true if it is directory name
(see \helpref{wxFileSystem}{wxfilesystem} for detailed explanation)}
\membersection{wxHtmlPrintout::SetMargins}\label{wxhtmlprintoutsetmargins}
\func{void}{SetMargins}{\param{float }{top = 25.2}, \param{float }{bottom = 25.2}, \param{float }{left = 25.2}, \param{float }{right = 25.2}, \param{float }{spaces = 5}}
Sets margins in millimeters. Defaults to 1 inch for margins and 0.5cm for space
between text and header and/or footer

194
docs/latex/wx/httag.tex Normal file
View File

@@ -0,0 +1,194 @@
%
% automatically generated by HelpGen from
% htmltag.tex at 14/Mar/99 20:13:37
%
\section{\class{wxHtmlTag}}\label{wxhtmltag}
This class represents a single HTML tag.
It is used by \helpref{tag handlers}{handlers}.
\wxheading{Derived from}
wxObject
\wxheading{Include files}
<wx/html/htmltag.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlTag::wxHtmlTag}\label{wxhtmltagwxhtmltag}
\func{}{wxHtmlTag}{\param{const wxString\& }{source}, \param{int }{pos}, \param{int }{end\_pos}, \param{wxHtmlTagsCache* }{cache}}
Constructor. You will probably never have to construct a wxHtmlTag object
yourself. Feel free to ignore the constructor parameters.
Have a look at src/html/htmlpars.cpp if you're interested in creating it.
\membersection{wxHtmlTag::GetAllParams}\label{wxhtmltaggetallparams}
\constfunc{const wxString\&}{GetAllParams}{\void}
Returns a string containing all parameters.
Example : tag contains {\tt <FONT SIZE=+2 COLOR="\#000000">}. Call to
tag.GetAllParams() would return {\tt SIZE=+2 COLOR="\#000000"}.
\membersection{wxHtmlTag::GetBeginPos}\label{wxhtmltaggetbeginpos}
\constfunc{int}{GetBeginPos}{\void}
Returns beginning position of the text {\it between} this tag and paired
ending tag.
See explanation (returned position is marked with `|'):
\begin{verbatim}
bla bla bla <MYTAG> bla bla internal text</MYTAG> bla bla
|
\end{verbatim}
\membersection{wxHtmlTag::GetEndPos1}\label{wxhtmltaggetendpos1}
\constfunc{int}{GetEndPos1}{\void}
Returns ending position of the text {\it between} this tag and paired
ending tag.
See explanation (returned position is marked with `|'):
\begin{verbatim}
bla bla bla <MYTAG> bla bla internal text</MYTAG> bla bla
|
\end{verbatim}
\membersection{wxHtmlTag::GetEndPos2}\label{wxhtmltaggetendpos2}
\constfunc{int}{GetEndPos2}{\void}
Returns ending position 2 of the text {\it between} this tag and paired
ending tag.
See explanation (returned position is marked with `|'):
\begin{verbatim}
bla bla bla <MYTAG> bla bla internal text</MYTAG> bla bla
|
\end{verbatim}
\membersection{wxHtmlTag::GetName}\label{wxhtmltaggetname}
\constfunc{wxString}{GetName}{\void}
Returns tag's name. The name is always in uppercase and it doesn't contain
'<' or '/' characters. (So the name of {\tt <FONT SIZE=+2>} tag is "FONT"
and name of {\tt </table>} is "TABLE")
\membersection{wxHtmlTag::GetParam}\label{wxhtmltaggetparam}
\constfunc{wxString}{GetParam}{\param{const wxString\& }{par}, \param{bool }{with\_commas = false}}
Returns the value of the parameter. You should check whether the
parameter exists or not (use \helpref{HasParam}{wxhtmltaghasparam}) first.
\wxheading{Parameters}
\docparam{par}{The parameter's name.}
\docparam{with\_commas}{true if you want to get commas as well. See example.}
\wxheading{Example}
\begin{verbatim}
...
/* you have wxHtmlTag variable tag which is equal to
HTML tag <FONT SIZE=+2 COLOR="#0000FF"> */
dummy = tag.GetParam("SIZE");
// dummy == "+2"
dummy = tag.GetParam("COLOR");
// dummy == "#0000FF"
dummy = tag.GetParam("COLOR", true);
// dummy == "\"#0000FF\"" -- see the difference!!
\end{verbatim}
\membersection{wxHtmlTag::GetParamAsColour}\label{wxhtmltaggetparamascolour}
\constfunc{bool}{GetParamAsColour}{\param{const wxString\& }{par}, \param{wxColour *}{clr}}
Interprets tag parameter {\it par} as colour specification and saves its value
into wxColour variable pointed by {\it clr}.
Returns true on success and false if {\it par} is not colour specification or
if the tag has no such parameter.
\membersection{wxHtmlTag::GetParamAsInt}\label{wxhtmltaggetparamasint}
\constfunc{bool}{GetParamAsInt}{\param{const wxString\& }{par}, \param{int *}{value}}
Interprets tag parameter {\it par} as an integer and saves its value
into int variable pointed by {\it value}.
Returns true on success and false if {\it par} is not an integer or
if the tag has no such parameter.
\membersection{wxHtmlTag::HasEnding}\label{wxhtmltaghasending}
\constfunc{bool}{HasEnding}{\void}
Returns true if this tag is paired with ending tag, false otherwise.
See the example of HTML document:
\begin{verbatim}
<html><body>
Hello<p>
How are you?
<p align=center>This is centered...</p>
Oops<br>Oooops!
</body></html>
\end{verbatim}
In this example tags HTML and BODY have ending tags, first P and BR
doesn't have ending tag while the second P has. The third P tag (which
is ending itself) of course doesn't have ending tag.
\membersection{wxHtmlTag::HasParam}\label{wxhtmltaghasparam}
\constfunc{bool}{HasParam}{\param{const wxString\& }{par}}
Returns true if the tag has a parameter of the given name.
Example : {\tt <FONT SIZE=+2 COLOR="\#FF00FF">} has two parameters named
"SIZE" and "COLOR".
\wxheading{Parameters}
\docparam{par}{the parameter you're looking for.}
\membersection{wxHtmlTag::IsEnding}\label{wxhtmltagisending}
\constfunc{bool}{IsEnding}{\void}
Returns true if this tag is ending one.
({\tt </FONT>} is ending tag, {\tt <FONT>} is not)
\membersection{wxHtmlTag::ScanParam}\label{wxhtmltagscanparam}
\constfunc{wxString}{ScanParam}{\param{const wxString\& }{par}, \param{const wxChar *}{format}, \param{void *}{value}}
This method scans the given parameter. Usage is exactly the same as sscanf's
usage except that you don't pass a string but a parameter name as the first
argument
and you can only retrieve one value (i.e. you can use only one "\%" element
in {\it format}).
\wxheading{Parameters}
\docparam{par}{The name of the tag you want to query}
\docparam{format}{scanf()-like format string.}
\docparam{value}{pointer to a variable to store the value in }

View File

@@ -0,0 +1,91 @@
%
% automatically generated by HelpGen from
% htmltaghandler.tex at 18/Mar/99 19:20:29
%
\section{\class{wxHtmlTagHandler}}\label{wxhtmltaghandler}
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/html/htmlpars.h>
\wxheading{See Also}
\helpref{Overview}{handlers},
\helpref{wxHtmlTag}{wxhtmltag}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlTagHandler::m\_Parser}\label{wxhtmltaghandlermparser}
{\bf wxHtmlParser* m\_Parser}
This attribute is used to access parent parser. It is protected so that
it can't be accessed by user but can be accessed from derived classes.
\membersection{wxHtmlTagHandler::wxHtmlTagHandler}\label{wxhtmltaghandlerwxhtmltaghandler}
\func{}{wxHtmlTagHandler}{\void}
Constructor.
\membersection{wxHtmlTagHandler::GetSupportedTags}\label{wxhtmltaghandlergetsupportedtags}
\func{virtual wxString}{GetSupportedTags}{\void}
Returns list of supported tags. The list is in uppercase and tags
are delimited by ','. Example : {\tt "I,B,FONT,P" }
\membersection{wxHtmlTagHandler::HandleTag}\label{wxhtmltaghandlerhandletag}
\func{virtual bool}{HandleTag}{\param{const wxHtmlTag\& }{tag}}
This is the core method of each handler. It is called each time
one of supported tags is detected. {\it tag} contains all necessary
info (see \helpref{wxHtmlTag}{wxhtmltag} for details).
\wxheading{Return value}
true if \helpref{ParseInner}{wxhtmltaghandlerparseinner} was called,
false otherwise.
\wxheading{Example}
\begin{verbatim}
bool MyHandler::HandleTag(const wxHtmlTag& tag)
{
...
// change state of parser (e.g. set bold face)
ParseInner(tag);
...
// restore original state of parser
}
\end{verbatim}
You shouldn't call ParseInner if the tag is not paired with an ending one.
\membersection{wxHtmlTagHandler::ParseInner}\label{wxhtmltaghandlerparseinner}
\func{void}{ParseInner}{\param{const wxHtmlTag\& }{tag}}
This method calls parser's \helpref{DoParsing}{wxhtmlparserdoparsing} method
for the string between this tag and the paired ending tag:
\begin{verbatim}
...<A HREF="x.htm">Hello, world!</A>...
\end{verbatim}
In this example, a call to ParseInner (with {\it tag} pointing to A tag)
will parse 'Hello, world!'.
\membersection{wxHtmlTagHandler::SetParser}\label{wxhtmltaghandlersetparser}
\func{virtual void}{SetParser}{\param{wxHtmlParser }{*parser}}
Assigns {\it parser} to this handler. Each {\bf instance} of handler
is guaranteed to be called only from the parser.

View File

@@ -0,0 +1,43 @@
%
% automatically generated by HelpGen from
% htmltagsmodule.tex at 14/Mar/99 20:13:37
\section{\class{wxHtmlTagsModule}}\label{wxhtmltagsmodule}
This class provides easy way of filling wxHtmlWinParser's table of
tag handlers. It is used almost exclusively together with the set of
\helpref{TAGS\_MODULE\_* macros}{handlers}
\wxheading{Derived from}
\helpref{wxModule}{wxmodule}
\wxheading{Include files}
<wx/html/winpars.h>
\wxheading{See Also}
\helpref{Tag Handlers}{handlers},
\helpref{wxHtmlTagHandler}{wxhtmltaghandler},
\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler},
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlTagsModule::FillHandlersTable}\label{wxhtmltagsmodulefillhandlerstable}
\func{virtual void}{FillHandlersTable}{\param{wxHtmlWinParser }{*parser}}
You must override this method. In most common case its body consists
only of lines of the following type:
\begin{verbatim}
parser -> AddTagHandler(new MyHandler);
\end{verbatim}
I recommend using the {\bf TAGS\_MODULE\_*} macros.
\wxheading{Paremeters}
\docparam{parser}{Pointer to the parser that requested tables filling.}

70
docs/latex/wx/http.tex Normal file
View File

@@ -0,0 +1,70 @@
\section{\class{wxHTTP}}\label{wxhttp}
\wxheading{Derived from}
\helpref{wxProtocol}{wxprotocol}
\wxheading{Include files}
<wx/protocol/http.h>
\wxheading{See also}
\helpref{wxSocketBase}{wxsocketbase}, \helpref{wxURL}{wxurl}
% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------
% ----------------------------------------------------------------------------
\membersection{wxHTTP::GetInputStream}\label{wxhttpgetinputstream}
\func{wxInputStream *}{GetInputStream}{\param{const wxString\&}{ path}}
Creates a new input stream on the the specified path. You can use all except the seek
functionality of wxStream. Seek isn't available on all streams. For example,
http or ftp streams doesn't deal with it. Other functions like Tell and SeekI
for this sort of stream.
You will be notified when the EOF is reached by an error.
\wxheading{Note}
You can know the size of the file you are getting using \helpref{wxStreamBase::GetSize()}{wxstreambasegetsize}.
But there is a limitation: as HTTP servers aren't obliged to pass the size of
the file, in some case, you will be returned 0xfffffff by GetSize(). In these
cases, you should use the value returned by \helpref{wxInputStream::LastRead()}{wxinputstreamlastread}:
this value will be 0 when the stream is finished.
\wxheading{Return value}
Returns the initialized stream. You will have to delete it yourself once you
don't use it anymore. The destructor closes the network connection.
The next time you will try to get a file the network connection will have
to be reestablished: but you don't have to take care of this wxHTTP reestablishes it automatically.
\wxheading{See also}
\helpref{wxInputStream}{wxinputstream}
% ----------------------------------------------------------------------------
\membersection{wxHTTP::SetHeader}
\func{void}{SetHeader}{\param{const wxString\&}{ header}, \param{const wxString\&}{ h\_data}}
It sets data of a field to be sent during the next request to the HTTP server. The field
name is specified by {\it header} and the content by {\it h\_data}.
This is a low level function and it assumes that you know what you are doing.
\membersection{wxHTTP::GetHeader}
\func{wxString}{GetHeader}{\param{const wxString\&}{ header}}
Returns the data attached with a field whose name is specified by {\it header}.
If the field doesn't exist, it will return an empty string and not a NULL string.
\wxheading{Note}
The header is not case-sensitive: I mean that "CONTENT-TYPE" and "content-type"
represent the same header.

View File

@@ -0,0 +1,37 @@
%
% automatically generated by HelpGen from
% htmlcell.h at 14/Apr/99 20:12:40
%
\section{\class{wxHtmlWidgetCell}}\label{wxhtmlwidgetcell}
wxHtmlWidgetCell is a class that provides a connection between HTML cells and widgets (an object derived
from wxWindow). You can use it to display things like forms, input boxes etc. in an HTML window.
wxHtmlWidgetCell takes care of resizing and moving window.
\wxheading{Derived from}
\helpref{wxHtmlCell}{wxhtmlcell}
\wxheading{Include files}
<wx/html/htmlcell.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlWidgetCell::wxHtmlWidgetCell}\label{wxhtmlwidgetcellwxhtmlwidgetcell}
\func{}{wxHtmlWidgetCell}{\param{wxWindow* }{wnd}, \param{int }{w = 0}}
Constructor.
\wxheading{Parameters}
\docparam{wnd}{Connected window. It is parent window {\bf must} be the wxHtmlWindow object within
which it is displayed!}
\docparam{w}{Floating width. If non-zero width of {\it wnd} window is adjusted so that it is
always {\it w} percents of parent container's width. (For example w = 100 means that the window
will always have same width as parent container)}

383
docs/latex/wx/htwindow.tex Normal file
View File

@@ -0,0 +1,383 @@
%
% automatically generated by HelpGen from
% htmlwindow.tex at 14/Mar/99 20:13:37
%
\section{\class{wxHtmlWindow}}\label{wxhtmlwindow}
wxHtmlWindow is probably the only class you will directly use
unless you want to do something special (like adding new tag
handlers or MIME filters).
The purpose of this class is to display HTML pages (either local
file or downloaded via HTTP protocol) in a window. The width
of the window is constant - given in the constructor - and virtual height
is changed dynamically depending on page size.
Once the window is created you can set its content by calling
\helpref{SetPage(text)}{wxhtmlwindowsetpage},
\helpref{LoadPage(filename)}{wxhtmlwindowloadpage} or
\helpref{LoadFile}{wxhtmlwindowloadfile}.
\wxheading{Note}
wxHtmlWindow uses the \helpref{wxImage}{wximage} class for displaying images.
Don't forget to initialize all image formats you need before loading any page!
(See \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers} and
\helpref{wxImage::AddHandler}{wximageaddhandler}.)
\wxheading{Derived from}
\helpref{wxScrolledWindow}{wxscrolledwindow}
\wxheading{Include files}
<wx/html/htmlwin.h>
\membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
\func{}{wxHtmlWindow}{\void}
Default constructor.
\func{}{wxHtmlWindow}{\param{wxWindow }{*parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxHW\_SCROLLBAR\_AUTO}, \param{const wxString\& }{name = "htmlWindow"}}
Constructor. The parameters are the same as for the \helpref{wxScrolledWindow}{wxscrolledwindow} constructor.
\wxheading{Parameters}
\docparam{style}{wxHW\_SCROLLBAR\_NEVER, or wxHW\_SCROLLBAR\_AUTO.
Affects the appearance of vertical scrollbar in the window.}
\membersection{wxHtmlWindow::AddFilter}\label{wxhtmlwindowaddfilter}
\func{static void}{AddFilter}{\param{wxHtmlFilter }{*filter}}
Adds \helpref{input filter}{filters} to the static list of available
filters. These filters are present by default:
\begin{itemize}\itemsep=0pt
\item {\tt text/html} MIME type
\item {\tt image/*} MIME types
\item Plain Text filter (this filter is used if no other filter matches)
\end{itemize}
\membersection{wxHtmlWindow::AppendToPage}\label{wxhtmlwindowappendtopage}
\func{bool}{AppendToPage}{\param{const wxString\& }{source}}
Appends HTML fragment to currently displayed text and refreshes the window.
\wxheading{Parameters}
\docparam{source}{HTML code fragment}
\wxheading{Return value}
false if an error occurred, true otherwise.
\membersection{wxHtmlWindow::GetInternalRepresentation}\label{wxhtmlwindowgetinternalrepresentation}
\constfunc{wxHtmlContainerCell*}{GetInternalRepresentation}{\void}
Returns pointer to the top-level container.
See also: \helpref{Cells Overview}{cells},
\helpref{Printing Overview}{printing}
\membersection{wxHtmlWindow::GetOpenedAnchor}\label{wxhtmlwindowgetopenedanchor}
\func{wxString}{GetOpenedAnchor}{\void}
Returns anchor within currently opened page
(see \helpref{GetOpenedPage}{wxhtmlwindowgetopenedpage}).
If no page is opened or if the displayed page wasn't
produced by call to LoadPage, empty string is returned.
\membersection{wxHtmlWindow::GetOpenedPage}\label{wxhtmlwindowgetopenedpage}
\func{wxString}{GetOpenedPage}{\void}
Returns full location of the opened page. If no page is opened or if the displayed page wasn't
produced by call to LoadPage, empty string is returned.
\membersection{wxHtmlWindow::GetOpenedPageTitle}\label{wxhtmlwindowgetopenedpagetitle}
\func{wxString}{GetOpenedPageTitle}{\void}
Returns title of the opened page or wxEmptyString if current page does not contain {\tt <TITLE>} tag.
\membersection{wxHtmlWindow::GetRelatedFrame}\label{wxhtmlwindowgetrelatedframe}
\constfunc{wxFrame*}{GetRelatedFrame}{\void}
Returns the related frame.
\membersection{wxHtmlWindow::HistoryBack}\label{wxhtmlwindowhistoryback}
\func{bool}{HistoryBack}{\void}
Moves back to the previous page. (each page displayed using
\helpref{LoadPage}{wxhtmlwindowloadpage} is stored in history list.)
\membersection{wxHtmlWindow::HistoryCanBack}\label{wxhtmlwindowhistorycanback}
\func{bool}{HistoryCanBack}{\void}
Returns true if it is possible to go back in the history (i.e. HistoryBack()
won't fail).
\membersection{wxHtmlWindow::HistoryCanForward}\label{wxhtmlwindowhistorycanforward}
\func{bool}{HistoryCanForward}{\void}
Returns true if it is possible to go forward in the history (i.e. HistoryBack()
won't fail).
\membersection{wxHtmlWindow::HistoryClear}\label{wxhtmlwindowhistoryclear}
\func{void}{HistoryClear}{\void}
Clears history.
\membersection{wxHtmlWindow::HistoryForward}\label{wxhtmlwindowhistoryforward}
\func{bool}{HistoryForward}{\void}
Moves to next page in history.
\membersection{wxHtmlWindow::LoadFile}\label{wxhtmlwindowloadfile}
\func{virtual bool}{LoadFile}{\param{const wxFileName\& }{filename}}
Loads HTML page from file and displays it.
\wxheading{Return value}
false if an error occurred, true otherwise
\wxheading{See also}
\helpref{LoadPage}{wxhtmlwindowloadpage}
\membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
\func{virtual bool}{LoadPage}{\param{const wxString\& }{location}}
Unlike SetPage this function first loads HTML page from {\it location}
and then displays it. See example:
\begin{verbatim}
htmlwin->LoadPage("help/myproject/index.htm");
\end{verbatim}
\wxheading{Parameters}
\docparam{location}{The address of document. See \helpref{wxFileSystem}{wxfilesystem} for details on address format and behaviour of "opener".}
\wxheading{Return value}
false if an error occurred, true otherwise
\wxheading{See also}
\helpref{LoadFile}{wxhtmlwindowloadfile}
\membersection{wxHtmlWindow::OnCellClicked}\label{wxhtmlwindowoncellclicked}
\func{virtual void}{OnCellClicked}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}, \param{const wxMouseEvent\& }{event}}
This method is called when a mouse button is clicked inside wxHtmlWindow.
The default behaviour is to call
\helpref{OnLinkClicked}{wxhtmlwindowonlinkclicked} if the cell contains a
hypertext link.
\wxheading{Parameters}
\docparam{cell}{The cell inside which the mouse was clicked, always a simple
(i.e. non container) cell}
\docparam{x, y}{The logical coordinates of the click point}
\docparam{event}{The mouse event containing other information about the click}
\membersection{wxHtmlWindow::OnCellMouseHover}\label{wxhtmlwindowoncellmousehover}
\func{virtual void}{OnCellMouseHover}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}}
This method is called when a mouse moves over an HTML cell.
\wxheading{Parameters}
\docparam{cell}{The cell inside which the mouse is currently, always a simple
(i.e. non container) cell}
\docparam{x, y}{The logical coordinates of the click point}
\membersection{wxHtmlWindow::OnLinkClicked}\label{wxhtmlwindowonlinkclicked}
\func{virtual void}{OnLinkClicked}{\param{const wxHtmlLinkInfo\& }{link}}
Called when user clicks on hypertext link. Default behaviour is to call
\helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else.
Also see \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
\membersection{wxHtmlWindow::OnOpeningURL}\label{wxhtmlwindowonopeningurl}
\func{virtual wxHtmlOpeningStatus}{OnOpeningURL}{\param{wxHtmlURLType }{type},\param{const wxString\& }{url}, \param{wxString *}{redirect}}
Called when an URL is being opened (either when the user clicks on a link or
an image is loaded). The URL will be opened only if OnOpeningURL returns
{\tt wxHTML\_OPEN}. This method is called by
\helpref{wxHtmlParser::OpenURL}{wxhtmlparseropenurl}.
You can override OnOpeningURL to selectively block some
URLs (e.g. for security reasons) or to redirect them elsewhere. Default
behaviour is to always return {\tt wxHTML\_OPEN}.
\wxheading{Parameters}
\docparam{type}{Indicates type of the resource. Is one of
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_URL\_PAGE}}{Opening a HTML page.}
\twocolitem{{\bf wxHTML\_URL\_IMAGE}}{Opening an image.}
\twocolitem{{\bf wxHTML\_URL\_OTHER}}{Opening a resource that doesn't fall into
any other category.}
\end{twocollist}}
\docparam{url}{URL being opened.}
\docparam{redirect}{Pointer to wxString variable that must be filled with an
URL if OnOpeningURL returns {\tt wxHTML\_REDIRECT}.}
\wxheading{Return value}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxHTML\_OPEN}}{Open the URL.}
\twocolitem{{\bf wxHTML\_BLOCK}}{Deny access to the URL, \helpref{wxHtmlParser::OpenURL}{wxhtmlparseropenurl} will return NULL.}
\twocolitem{{\bf wxHTML\_REDIRECT}}{Don't open {\it url}, redirect to another
URL. OnOpeningURL must fill {\it *redirect} with the new URL. OnOpeningURL will
be called again on returned URL.}
\end{twocollist}
\membersection{wxHtmlWindow::OnSetTitle}\label{wxhtmlwindowonsettitle}
\func{virtual void}{OnSetTitle}{\param{const wxString\& }{title}}
Called on parsing {\tt <TITLE>} tag.
\membersection{wxHtmlWindow::ReadCustomization}\label{wxhtmlwindowreadcustomization}
\func{virtual void}{ReadCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
This reads custom settings from wxConfig. It uses the path 'path'
if given, otherwise it saves info into currently selected path.
The values are stored in sub-path {\tt wxHtmlWindow}
Read values: all things set by SetFonts, SetBorders.
\wxheading{Parameters}
\docparam{cfg}{wxConfig from which you want to read the configuration.}
\docparam{path}{Optional path in config tree. If not given current path is used.}
\membersection{wxHtmlWindow::SetBorders}\label{wxhtmlwindowsetborders}
\func{void}{SetBorders}{\param{int }{b}}
This function sets the space between border of window and HTML contents. See image:
\helponly{\image{}{border.bmp}}
\wxheading{Parameters}
\docparam{b}{indentation from borders in pixels}
\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
This function sets font sizes and faces.
\wxheading{Parameters}
\docparam{normal\_face}{This is face name for normal (i.e. non-fixed) font.
It can be either empty string (then the default face is chosen) or
platform-specific face name. Examples are "helvetica" under Unix or
"Times New Roman" under Windows.}
\docparam{fixed\_face}{The same thing for fixed face ( <TT>..</TT> )}
\docparam{sizes}{This is an array of 7 items of {\it int} type.
The values represent size of font with HTML size from -2 to +4
( <FONT SIZE=-2> to <FONT SIZE=+4> ). Default sizes are used if {\it sizes}
is NULL.}
\wxheading{Defaults}
Default font sizes are defined by constants wxHTML\_FONT\_SIZE\_1,
wxHTML\_FONT\_SIZE\_2, ..., wxHTML\_FONT\_SIZE\_7. Note that they differ among
platforms. Default face names are empty strings.
\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
\func{bool}{SetPage}{\param{const wxString\& }{source}}
Sets HTML page and display it. This won't {\bf load} the page!!
It will display the {\it source}. See example:
\begin{verbatim}
htmlwin -> SetPage("<html><body>Hello, world!</body></html>");
\end{verbatim}
If you want to load a document from some location use
\helpref{LoadPage}{wxhtmlwindowloadpage} instead.
\wxheading{Parameters}
\docparam{source}{The HTML document source to be displayed.}
\wxheading{Return value}
false if an error occurred, true otherwise.
\membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
\func{void}{SetRelatedFrame}{\param{wxFrame* }{frame}, \param{const wxString\& }{format}}
Sets the frame in which page title will be displayed. {\it format} is format of
frame title, e.g. "HtmlHelp : \%s". It must contain exactly one \%s. This
\%s is substituted with HTML page title.
\membersection{wxHtmlWindow::SetRelatedStatusBar}\label{wxhtmlwindowsetrelatedstatusbar}
\func{void}{SetRelatedStatusBar}{\param{int }{bar}}
{\bf After} calling \helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe},
this sets statusbar slot where messages will be displayed.
(Default is -1 = no messages.)
\wxheading{Parameters}
\docparam{bar}{statusbar slot number (0..n)}
\membersection{wxHtmlWindow::WriteCustomization}\label{wxhtmlwindowwritecustomization}
\func{virtual void}{WriteCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
Saves custom settings into wxConfig. It uses the path 'path'
if given, otherwise it saves info into currently selected path.
Regardless of whether the path is given or not, the function creates sub-path
{\tt wxHtmlWindow}.
Saved values: all things set by SetFonts, SetBorders.
\wxheading{Parameters}
\docparam{cfg}{wxConfig to which you want to save the configuration.}
\docparam{path}{Optional path in config tree. If not given, the current path is used.}

View File

@@ -0,0 +1,31 @@
%
% automatically generated by HelpGen from
% htmlwintaghandler.tex at 14/Mar/99 20:13:37
%
\section{\class{wxHtmlWinTagHandler}}\label{wxhtmlwintaghandler}
This is basically wxHtmlTagHandler except that
it is extended with protected member m\_WParser pointing to
the wxHtmlWinParser object (value of this member is identical
to wxHtmlParser's m\_Parser).
\wxheading{Derived from}
\helpref{wxHtmlTagHandler}{wxhtmltaghandler}
\wxheading{Include files}
<wx/html/winpars.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlWinTagHandler::m\_WParser}\label{wxhtmlwintaghandlerwxhtmlwintaghandlermwparser}
{\bf wxHtmlWinParser* m\_WParser}
Value of this attribute is identical to value of m\_Parser. The only different
is that m\_WParser points to wxHtmlWinParser object while m\_Parser
points to wxHtmlParser object. (The same object, but overcast.)

298
docs/latex/wx/htwinprs.tex Normal file
View File

@@ -0,0 +1,298 @@
%
% automatically generated by HelpGen from
% htmlwinparser.tex at 14/Mar/99 20:13:37
%
\section{\class{wxHtmlWinParser}}\label{wxhtmlwinparser}
This class is derived from \helpref{wxHtmlParser}{wxhtmlparser} and
its main goal is to parse HTML input so that it can be displayed in
\helpref{wxHtmlWindow}{wxhtmlwindow}. It uses a special
\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}.
\wxheading{Notes}
The product of parsing is a wxHtmlCell (resp. wxHtmlContainer) object.
\wxheading{Derived from}
\helpref{wxHtmlParser}{wxhtmlparser}
\wxheading{Include files}
<wx/html/winpars.h>
\wxheading{See Also}
\helpref{Handlers overview}{handlers}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlWinParser::wxHtmlWinParser}\label{wxhtmlwinparserwxhtmlwinparser}
\func{}{wxHtmlWinParser}{\void}
\func{}{wxHtmlWinParser}{\param{wxHtmlWindow }{*wnd}}
Constructor. Don't use the default one, use constructor with
{\it wnd} parameter ({\it wnd} is pointer to associated \helpref{wxHtmlWindow}{wxhtmlwindow})
\membersection{wxHtmlWinParser::AddModule}\label{wxhtmlwinparseraddmodule}
\func{static void}{AddModule}{\param{wxHtmlTagsModule }{*module}}
Adds \helpref{module}{handlers} to the list of wxHtmlWinParser tag handler.
\membersection{wxHtmlWinParser::CloseContainer}\label{wxhtmlwinparserclosecontainer}
\func{wxHtmlContainerCell*}{CloseContainer}{\void}
Closes the container, sets actual container to the parent one
and returns pointer to it (see \helpref{Overview}{cells}).
\membersection{wxHtmlWinParser::CreateCurrentFont}\label{wxhtmlwinparsercreatecurrentfont}
\func{virtual wxFont*}{CreateCurrentFont}{\void}
Creates font based on current setting (see
\helpref{SetFontSize}{wxhtmlwinparsersetfontsize},
\helpref{SetFontBold}{wxhtmlwinparsersetfontbold},
\helpref{SetFontItalic}{wxhtmlwinparsersetfontitalic},
\helpref{SetFontFixed}{wxhtmlwinparsersetfontfixed},
\helpref{SetFontUnderlined}{wxhtmlwinparsersetfontunderlined})
and returns pointer to it.
If the font was already created only a pointer is returned.
\membersection{wxHtmlWinParser::GetActualColor}\label{wxhtmlwinparsergetactualcolor}
\constfunc{const wxColour\&}{GetActualColor}{\void}
Returns actual text colour.
\membersection{wxHtmlWinParser::GetAlign}\label{wxhtmlwinparsergetalign}
\constfunc{int}{GetAlign}{\void}
Returns default horizontal alignment.
\membersection{wxHtmlWinParser::GetCharHeight}\label{wxhtmlwinparsergetcharheight}
\constfunc{int}{GetCharHeight}{\void}
Returns (average) char height in standard font. It is used as DC-independent metrics.
{\bf Note:} This function doesn't return the {\it actual} height. If you want to
know the height of the current font, call {\tt GetDC -> GetCharHeight()}.
\membersection{wxHtmlWinParser::GetCharWidth}\label{wxhtmlwinparsergetcharwidth}
\constfunc{int}{GetCharWidth}{\void}
Returns average char width in standard font. It is used as DC-independent metrics.
{\bf Note:} This function doesn't return the {\it actual} width. If you want to
know the height of the current font, call {\tt GetDC -> GetCharWidth()}
\membersection{wxHtmlWinParser::GetContainer}\label{wxhtmlwinparsergetcontainer}
\constfunc{wxHtmlContainerCell*}{GetContainer}{\void}
Returns pointer to the currently opened container (see \helpref{Overview}{cells}).
Common use:
\begin{verbatim}
m_WParser -> GetContainer() -> InsertCell(new ...);
\end{verbatim}
\membersection{wxHtmlWinParser::GetDC}\label{wxhtmlwinparsergetdc}
\func{wxDC*}{GetDC}{\void}
Returns pointer to the DC used during parsing.
\membersection{wxHtmlWinParser::GetEncodingConverter}\label{wxhtmlwinparsergetencodingconverter}
\constfunc{wxEncodingConverter *}{GetEncodingConverter}{\void}
Returns \helpref{wxEncodingConverter}{wxencodingconverter} class used
to do conversion between \helpref{input encoding}{wxhtmlwinparsergetinputencoding}
and \helpref{output encoding}{wxhtmlwinparsergetoutputencoding}.
\membersection{wxHtmlWinParser::GetFontBold}\label{wxhtmlwinparsergetfontbold}
\constfunc{int}{GetFontBold}{\void}
Returns true if actual font is bold, false otherwise.
\membersection{wxHtmlWinParser::GetFontFace}\label{wxhtmlwinparsergetfontface}
\constfunc{wxString}{GetFontFace}{\void}
Returns actual font face name.
\membersection{wxHtmlWinParser::GetFontFixed}\label{wxhtmlwinparsergetfontfixed}
\constfunc{int}{GetFontFixed}{\void}
Returns true if actual font is fixed face, false otherwise.
\membersection{wxHtmlWinParser::GetFontItalic}\label{wxhtmlwinparsergetfontitalic}
\constfunc{int}{GetFontItalic}{\void}
Returns true if actual font is italic, false otherwise.
\membersection{wxHtmlWinParser::GetFontSize}\label{wxhtmlwinparsergetfontsize}
\constfunc{int}{GetFontSize}{\void}
Returns actual font size (HTML size varies from -2 to +4)
\membersection{wxHtmlWinParser::GetFontUnderlined}\label{wxhtmlwinparsergetfontunderlined}
\constfunc{int}{GetFontUnderlined}{\void}
Returns true if actual font is underlined, false otherwise.
\membersection{wxHtmlWinParser::GetInputEncoding}\label{wxhtmlwinparsergetinputencoding}
\constfunc{wxFontEncoding}{GetInputEncoding}{\void}
Returns input encoding.
\membersection{wxHtmlWinParser::GetLink}\label{wxhtmlwinparsergetlink}
\constfunc{const wxHtmlLinkInfo\&}{GetLink}{\void}
Returns actual hypertext link. (This value has a non-empty
\helpref{Href}{wxhtmllinkinfogethref} string
if the parser is between {\tt <A>} and {\tt </A>} tags,
wxEmptyString otherwise.)
\membersection{wxHtmlWinParser::GetLinkColor}\label{wxhtmlwinparsergetlinkcolor}
\constfunc{const wxColour\&}{GetLinkColor}{\void}
Returns the colour of hypertext link text.
\membersection{wxHtmlWinParser::GetOutputEncoding}\label{wxhtmlwinparsergetoutputencoding}
\constfunc{wxFontEncoding}{GetOutputEncoding}{\void}
Returns output encoding, i.e. closest match to document's input encoding
that is supported by operating system.
\membersection{wxHtmlWinParser::GetWindow}\label{wxhtmlwinparsergetwindow}
\func{wxHtmlWindow*}{GetWindow}{\void}
Returns associated window (wxHtmlWindow). This may be NULL! (You should always
test if it is non-NULL. For example {\tt TITLE} handler sets window
title only if some window is associated, otherwise it does nothing)
\membersection{wxHtmlWinParser::OpenContainer}\label{wxhtmlwinparseropencontainer}
\func{wxHtmlContainerCell*}{OpenContainer}{\void}
Opens new container and returns pointer to it (see \helpref{Overview}{cells}).
\membersection{wxHtmlWinParser::SetActualColor}\label{wxhtmlwinparsersetactualcolor}
\func{void}{SetActualColor}{\param{const wxColour\& }{clr}}
Sets actual text colour. Note: this DOESN'T change the colour!
You must create \helpref{wxHtmlColourCell}{wxhtmlcolourcell} yourself.
\membersection{wxHtmlWinParser::SetAlign}\label{wxhtmlwinparsersetalign}
\func{void}{SetAlign}{\param{int }{a}}
Sets default horizontal alignment (see
\helpref{wxHtmlContainerCell::SetAlignHor}{wxhtmlcontainercellsetalignhor}.)
Alignment of newly opened container is set to this value.
\membersection{wxHtmlWinParser::SetContainer}\label{wxhtmlwinparsersetcontainer}
\func{wxHtmlContainerCell*}{SetContainer}{\param{wxHtmlContainerCell *}{c}}
Allows you to directly set opened container. This is not recommended - you should use OpenContainer
wherever possible.
\membersection{wxHtmlWinParser::SetDC}\label{wxhtmlwinparsersetdc}
\func{virtual void}{SetDC}{\param{wxDC }{*dc}, \param{double }{pixel\_scale = 1.0}}
Sets the DC. This must be called before \helpref{Parse}{wxhtmlparserparse}!
{\it pixel\_scale} can be used when rendering to high-resolution
DCs (e.g. printer) to adjust size of pixel metrics. (Many dimensions in
HTML are given in pixels -- e.g. image sizes. 300x300 image would be only one
inch wide on typical printer. With pixel\_scale = 3.0 it would be 3 inches.)
\membersection{wxHtmlWinParser::SetFontBold}\label{wxhtmlwinparsersetfontbold}
\func{void}{SetFontBold}{\param{int }{x}}
Sets bold flag of actualfont. {\it x} is either true of false.
\membersection{wxHtmlWinParser::SetFontFace}\label{wxhtmlwinparsersetfontface}
\func{void}{SetFontFace}{\param{const wxString\& }{face}}
Sets current font face to {\it face}. This affects either fixed size
font or proportional, depending on context (whether the parser is
inside {\tt <TT>} tag or not).
\membersection{wxHtmlWinParser::SetFontFixed}\label{wxhtmlwinparsersetfontfixed}
\func{void}{SetFontFixed}{\param{int }{x}}
Sets fixed face flag of actualfont. {\it x} is either true of false.
\membersection{wxHtmlWinParser::SetFontItalic}\label{wxhtmlwinparsersetfontitalic}
\func{void}{SetFontItalic}{\param{int }{x}}
Sets italic flag of actualfont. {\it x} is either true of false.
\membersection{wxHtmlWinParser::SetFontSize}\label{wxhtmlwinparsersetfontsize}
\func{void}{SetFontSize}{\param{int }{s}}
Sets actual font size (HTML size varies from 1 to 7)
\membersection{wxHtmlWinParser::SetFontUnderlined}\label{wxhtmlwinparsersetfontunderlined}
\func{void}{SetFontUnderlined}{\param{int }{x}}
Sets underlined flag of actualfont. {\it x} is either true of false.
\membersection{wxHtmlWinParser::SetFonts}\label{wxhtmlwinparsersetfonts}
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
Sets fonts. See \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts} for
detailed description.
\membersection{wxHtmlWinParser::SetInputEncoding}\label{wxhtmlwinparsersetinputencoding}
\func{void}{SetInputEncoding}{\param{wxFontEncoding }{enc}}
Sets input encoding. The parser uses this information to build conversion
tables from document's encoding to some encoding supported by operating
system.
\membersection{wxHtmlWinParser::SetLink}\label{wxhtmlwinparsersetlink}
\func{void}{SetLink}{\param{const wxHtmlLinkInfo\& }{link}}
Sets actual hypertext link. Empty link is represented
by \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo} with {\it Href} equal
to wxEmptyString.
\membersection{wxHtmlWinParser::SetLinkColor}\label{wxhtmlwinparsersetlinkcolor}
\func{void}{SetLinkColor}{\param{const wxColour\& }{clr}}
Sets colour of hypertext link.

View File

@@ -0,0 +1,73 @@
/////////////////////////////////////////////////////////////////////////////
// Name: forcelnk.h
// Purpose: see bellow
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/*
DESCRPITON:
mod_*.cpp files contain handlers for tags. These files are modules - they contain
one wxTagModule class and it's OnInit() method is called from wxApp's init method.
The module is called even if you only link it into the executable, so everything
seems wonderful.
The problem is that we have these modules in LIBRARY and mod_*.cpp files contain
no method nor class which is known out of the module. So the linker won't
link these .o/.obj files into executable because it detected that it is not used
by the program.
To workaround this I introduced set of macros FORCE_LINK_ME and FORCE_LINK. These
macros are generic and are not limited to mod_*.cpp files. You may find them quite
useful somewhere else...
How to use them:
let's suppose you want to always link file foo.cpp and that you have module
always.cpp that is certainly always linked (e.g. the one with main() function
or htmlwin.cpp in wxHtml library).
Place FORCE_LINK_ME(foo) somewhere in foo.cpp and FORCE_LINK(foo) somewhere
in always.cpp
See mod_*.cpp and htmlwin.cpp for example :-)
*/
#ifndef _WX_FORCELNK_H_
#define _WX_FORCELNK_H_
// This must be part of the module you want to force:
#define FORCE_LINK_ME(module_name) \
int _link_dummy_func_##module_name (); \
int _link_dummy_func_##module_name () \
{ \
return 1; \
}
// And this must be somewhere where it certainly will be linked:
#define FORCE_LINK(module_name) \
extern int _link_dummy_func_##module_name (); \
static int _link_dummy_var_##module_name = \
_link_dummy_func_##module_name ();
#define FORCE_WXHTML_MODULES() \
FORCE_LINK(m_layout) \
FORCE_LINK(m_fonts) \
FORCE_LINK(m_image) \
FORCE_LINK(m_list) \
FORCE_LINK(m_dflist) \
FORCE_LINK(m_pre) \
FORCE_LINK(m_hline) \
FORCE_LINK(m_links) \
FORCE_LINK(m_tables) \
FORCE_LINK(m_style)
#endif // _WX_FORCELNK_H_

108
include/wx/html/helpctrl.h Normal file
View File

@@ -0,0 +1,108 @@
/////////////////////////////////////////////////////////////////////////////
// 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"
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "helpctrl.h"
#endif
#if wxUSE_WXHTML_HELP
#include "wx/html/helpfrm.h"
#include "wx/helpbase.h"
#define wxID_HTML_HELPFRAME (wxID_HIGHEST + 1)
class WXDLLEXPORT wxHtmlHelpController : public wxHelpControllerBase // wxEvtHandler
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpController)
public:
wxHtmlHelpController(int style = wxHF_DEFAULT_STYLE);
virtual ~wxHtmlHelpController();
void SetTitleFormat(const wxString& format);
void SetTempDir(const wxString& path) { m_helpData.SetTempDir(path); }
bool AddBook(const wxString& book_url, bool show_wait_msg = FALSE);
bool AddBook(const wxFileName& book_file, bool show_wait_msg = FALSE);
bool Display(const wxString& x);
bool Display(int id);
bool DisplayContents();
bool DisplayIndex();
bool KeywordSearch(const wxString& keyword);
wxHtmlHelpFrame* GetFrame() { return m_helpFrame; }
void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString);
// 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);
//// Backward compatibility with wxHelpController API
virtual bool Initialize(const wxString& file, int WXUNUSED(server) ) { return Initialize(file); }
virtual bool Initialize(const wxString& file);
virtual void SetViewer(const wxString& WXUNUSED(viewer), long WXUNUSED(flags) = 0) {}
virtual bool LoadFile(const wxString& file = wxT(""));
virtual bool DisplaySection(int sectionNo);
virtual bool DisplaySection(const wxString& section) { return Display(section); }
virtual bool DisplayBlock(long blockNo) { return DisplaySection(blockNo); }
virtual bool DisplayTextPopup(const wxString& text, const wxPoint& pos);
virtual void SetFrameParameters(const wxString& title,
const wxSize& size,
const wxPoint& pos = wxDefaultPosition,
bool newFrameEachTime = FALSE);
/// 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);
// Get direct access to help data:
wxHtmlHelpData *GetHelpData() { return &m_helpData; }
virtual bool Quit() ;
virtual void OnQuit() {};
void OnCloseFrame(wxCloseEvent& evt);
// Make the help controller's frame 'modal' if
// needed
void AddGrabIfNeeded();
protected:
virtual wxHtmlHelpFrame* CreateHelpFrame(wxHtmlHelpData *data);
virtual void CreateHelpWindow();
virtual void DestroyHelpWindow();
wxHtmlHelpData m_helpData;
wxHtmlHelpFrame* m_helpFrame;
wxConfigBase * m_Config;
wxString m_ConfigRoot;
wxString m_titleFormat;
int m_FrameStyle;
// DECLARE_EVENT_TABLE()
DECLARE_NO_COPY_CLASS(wxHtmlHelpController)
};
#endif // wxUSE_WXHTML_HELP
#endif // _WX_HELPCTRL_H_

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

@@ -0,0 +1,218 @@
/////////////////////////////////////////////////////////////////////////////
// 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_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "helpdata.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/object.h"
#include "wx/string.h"
#include "wx/filesys.h"
#include "wx/dynarray.h"
#include "wx/font.h"
class WXDLLEXPORT wxHtmlHelpData;
//--------------------------------------------------------------------------------
// helper classes & structs
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlBookRecord
{
public:
wxHtmlBookRecord(const wxString& bookfile, const wxString& basepath,
const wxString& title, const wxString& start)
{
m_BookFile = bookfile;
m_BasePath = basepath;
m_Title = title;
m_Start = start;
// for debugging, give the contents index obvious default values
m_ContentsStart = m_ContentsEnd = -1;
}
wxString GetBookFile() const { return m_BookFile; }
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) { m_ContentsStart = start; m_ContentsEnd = end; }
int GetContentsStart() const { return m_ContentsStart; }
int GetContentsEnd() const { return m_ContentsEnd; }
void SetTitle(const wxString& title) { m_Title = title; }
void SetBasePath(const wxString& path) { m_BasePath = path; }
void SetStart(const wxString& start) { m_Start = start; }
// returns full filename of page (which is part of the book),
// i.e. with book's basePath prepended. If page is already absolute
// path, basePath is _not_ prepended.
wxString GetFullPath(const wxString &page) const;
protected:
wxString m_BookFile;
wxString m_BasePath;
wxString m_Title;
wxString m_Start;
int m_ContentsStart;
int m_ContentsEnd;
};
WX_DECLARE_EXPORTED_OBJARRAY(wxHtmlBookRecord, wxHtmlBookRecArray);
struct wxHtmlContentsItem
{
short int m_Level;
int m_ID;
wxChar* m_Name;
wxChar* m_Page;
wxHtmlBookRecord *m_Book;
// returns full filename of m_Page, i.e. with book's basePath prepended
wxString GetFullPath() const { return m_Book->GetFullPath(m_Page); }
};
//------------------------------------------------------------------------------
// wxHtmlSearchEngine
// This class takes input streams and scans them for occurence
// of keyword(s)
//------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlSearchEngine : public wxObject
{
public:
wxHtmlSearchEngine() : wxObject() {m_Keyword = NULL; }
~wxHtmlSearchEngine() {if (m_Keyword) delete[] m_Keyword; }
// Sets the keyword we will be searching for
virtual void LookFor(const wxString& keyword, bool case_sensitive, bool whole_words_only);
// Scans the stream for the keyword.
// Returns TRUE if the stream contains keyword, fALSE otherwise
virtual bool Scan(const wxFSFile& file);
private:
wxChar *m_Keyword;
bool m_CaseSensitive;
bool m_WholeWords;
DECLARE_NO_COPY_CLASS(wxHtmlSearchEngine)
};
// 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,
bool case_sensitive, bool whole_words_only,
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;
wxHtmlSearchEngine m_Engine;
wxString m_Keyword, m_Name;
wxChar *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
DECLARE_NO_COPY_CLASS(wxHtmlSearchStatus)
};
class WXDLLEXPORT wxHtmlHelpData : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpData)
friend class wxHtmlSearchStatus;
public:
wxHtmlHelpData();
~wxHtmlHelpData();
// 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.
void SetTempDir(const wxString& path);
// Adds new book. 'book' is location of .htb file (stands for "html book").
// See documentation for details on its format.
// Returns success.
bool AddBook(const wxString& book);
bool AddBookParam(const wxFSFile& bookfile,
wxFontEncoding encoding,
const wxString& title, const wxString& contfile,
const wxString& indexfile = wxEmptyString,
const wxString& deftopic = wxEmptyString,
const wxString& path = wxEmptyString);
// Some accessing stuff:
// returns URL of page on basis of (file)name
wxString FindPageByName(const wxString& page);
// returns URL of page on basis of MS id
wxString FindPageById(int 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;
wxHtmlContentsItem* m_Index; // list of all available books and pages.
int m_IndexCnt; // list of index items
protected:
// Imports .hhp files (MS HTML Help Workshop)
bool LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys,
const wxString& indexfile, const wxString& contentsfile);
// Reads binary book
bool LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f);
// Writes binary book
bool SaveCachedBook(wxHtmlBookRecord *book, wxOutputStream *f);
DECLARE_NO_COPY_CLASS(wxHtmlHelpData)
};
#endif
#endif

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

@@ -0,0 +1,239 @@
/////////////////////////////////////////////////////////////////////////////
// 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_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "helpfrm.h"
#endif
#include "wx/defs.h"
#if wxUSE_WXHTML_HELP
#include "wx/html/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/combobox.h"
#include "wx/checkbox.h"
#include "wx/stattext.h"
#include "wx/html/htmlwin.h"
#include "wx/html/htmprint.h"
class WXDLLEXPORT wxButton;
class WXDLLEXPORT wxTextCtrl;
// style flags for the Help Frame
#define wxHF_TOOLBAR 0x0001
#define wxHF_CONTENTS 0x0002
#define wxHF_INDEX 0x0004
#define wxHF_SEARCH 0x0008
#define wxHF_BOOKMARKS 0x0010
#define wxHF_OPEN_FILES 0x0020
#define wxHF_PRINT 0x0040
#define wxHF_FLAT_TOOLBAR 0x0080
#define wxHF_MERGE_BOOKS 0x0100
#define wxHF_ICONS_BOOK 0x0200
#define wxHF_ICONS_BOOK_CHAPTER 0x0400
#define wxHF_ICONS_FOLDER 0x0000 // this is 0 since it is default
#define wxHF_DEFAULT_STYLE (wxHF_TOOLBAR | wxHF_CONTENTS | \
wxHF_INDEX | wxHF_SEARCH | \
wxHF_BOOKMARKS | wxHF_PRINT)
//compatibility:
#define wxHF_OPENFILES wxHF_OPEN_FILES
#define wxHF_FLATTOOLBAR wxHF_FLAT_TOOLBAR
#define wxHF_DEFAULTSTYLE wxHF_DEFAULT_STYLE
struct wxHtmlHelpFrameCfg
{
int x, y, w, h;
long sashpos;
bool navig_on;
};
class WXDLLEXPORT wxHelpControllerBase;
class WXDLLEXPORT wxHtmlHelpFrame : public wxFrame
{
DECLARE_DYNAMIC_CLASS(wxHtmlHelpFrame)
public:
wxHtmlHelpFrame(wxHtmlHelpData* data = NULL) { Init(data); }
wxHtmlHelpFrame(wxWindow* parent, wxWindowID wxWindowID,
const wxString& title = wxEmptyString,
int style = wxHF_DEFAULT_STYLE, wxHtmlHelpData* data = NULL);
bool Create(wxWindow* parent, wxWindowID id, const wxString& title = wxEmptyString,
int style = wxHF_DEFAULT_STYLE);
~wxHtmlHelpFrame();
wxHtmlHelpData* GetData() { return m_Data; }
wxHelpControllerBase* GetController() const { return m_helpController; }
void SetController(wxHelpControllerBase* controller) { m_helpController = controller; }
// Sets format of title of the frame. Must contain exactly one "%s"
// (for title of displayed HTML page)
void SetTitleFormat(const wxString& format);
// 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 wxString& x);
// Alternative version that works with numeric ID.
// (uses extension to MS format, <param name="ID" value=id>, see docs)
bool Display(const int id);
// Displays help window and focuses contents.
bool DisplayContents();
// Displays help window and focuses index.
bool DisplayIndex();
// 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
bool KeywordSearch(const wxString& keyword);
void UseConfig(wxConfigBase *config, const wxString& rootpath = wxEmptyString)
{
m_Config = config;
m_ConfigRoot = rootpath;
ReadCustomization(config, rootpath);
}
// 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 ReadCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString);
void WriteCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString);
// call this to let wxHtmlHelpFrame know page changed
void NotifyPageChanged();
// Refreshes Contents and Index tabs
void RefreshLists();
protected:
void Init(wxHtmlHelpData* data = NULL);
// Adds items to m_Contents tree control
void CreateContents();
// Adds items to m_IndexList
void CreateIndex();
// Add books to search choice panel
void CreateSearch();
// Add custom buttons to toolbar
virtual void AddToolbarButtons(wxToolBar *toolBar, int style);
// Displays options dialog (fonts etc.)
virtual void OptionsDialog();
void OnToolbar(wxCommandEvent& event);
void OnContentsSel(wxTreeEvent& event);
void OnIndexSel(wxCommandEvent& event);
void OnIndexFind(wxCommandEvent& event);
void OnIndexAll(wxCommandEvent& event);
void OnSearchSel(wxCommandEvent& event);
void OnSearch(wxCommandEvent& event);
void OnBookmarksSel(wxCommandEvent& event);
void OnCloseWindow(wxCloseEvent& event);
void OnActivate(wxActivateEvent& event);
#ifdef __WXMAC__
void OnClose(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
#endif
// 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;
wxPanel *m_NavigPan;
wxNotebook *m_NavigNotebook;
wxTreeCtrl *m_ContentsBox;
wxTextCtrl *m_IndexText;
wxButton *m_IndexButton;
wxButton *m_IndexButtonAll;
wxListBox *m_IndexList;
wxTextCtrl *m_SearchText;
wxButton *m_SearchButton;
wxListBox *m_SearchList;
wxChoice *m_SearchChoice;
wxStaticText *m_IndexCountInfo;
wxCheckBox *m_SearchCaseSensitive;
wxCheckBox *m_SearchWholeWords;
wxComboBox *m_Bookmarks;
wxArrayString m_BookmarksNames, m_BookmarksPages;
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;
// lists of available fonts (used in options dialog)
wxArrayString *m_NormalFonts, *m_FixedFonts;
int m_FontSize; // 0,1,2 = small,medium,big
wxString m_NormalFace, m_FixedFace;
bool m_UpdateContents;
#if wxUSE_PRINTING_ARCHITECTURE
wxHtmlEasyPrinting *m_Printer;
#endif
wxHashTable *m_PagesHash;
wxHelpControllerBase* m_helpController;
int m_hfStyle;
DECLARE_EVENT_TABLE()
DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame)
};
#endif // wxUSE_WXHTML_HELP
#endif

382
include/wx/html/htmlcell.h Normal file
View File

@@ -0,0 +1,382 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlcell.h
// 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 _WX_HTMLCELL_H_
#define _WX_HTMLCELL_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmlcell.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/html/htmltag.h"
#include "wx/html/htmldefs.h"
#include "wx/window.h"
class WXDLLEXPORT wxHtmlLinkInfo;
class WXDLLEXPORT wxHtmlCell;
class WXDLLEXPORT wxHtmlContainerCell;
//--------------------------------------------------------------------------------
// wxHtmlCell
// Internal data structure. It represents fragments of parsed HTML
// page - a word, picture, table, horizontal line and so on.
// It is used by wxHtmlWindow to represent HTML page in memory.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlCell : public wxObject
{
public:
wxHtmlCell();
virtual ~wxHtmlCell();
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;}
const wxString& GetId() const { return m_id; }
void SetId(const wxString& id) { m_id = id; }
// 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
virtual wxHtmlLinkInfo* GetLink(int WXUNUSED(x) = 0, int WXUNUSED(y) = 0) const
{ return m_Link; }
// members access methods
wxHtmlCell *GetNext() const {return m_Next;}
// members writing methods
virtual void SetPos(int x, int y) {m_PosX = x, m_PosY = y;}
void SetLink(const wxHtmlLinkInfo& link);
void SetNext(wxHtmlCell *cell) {m_Next = cell;}
// 1. adjust cell's width according to the fact that maximal possible width is w.
// (this has sense when working with horizontal lines, tables etc.)
// 2. prepare layout (=fill-in m_PosX, m_PosY (and sometime m_Height) members)
// = place items to fit window, according to the width w
virtual void Layout(int w);
// renders the cell
virtual void Draw(wxDC& WXUNUSED(dc), int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(view_y1), int WXUNUSED(view_y2)) {}
// 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 void DrawInvisible(wxDC& WXUNUSED(dc), int WXUNUSED(x), int WXUNUSED(y)) {}
// This method returns pointer to the FIRST cell for that
// the condition
// is true. It first checks if the condition is true for this
// cell and then calls m_Next->Find(). (Note: it checks
// all subcells if the cell is container)
// Condition is unique condition identifier (see htmldefs.h)
// (user-defined condition IDs should start from 10000)
// and param is optional parameter
// Example : m_Cell->Find(wxHTML_COND_ISANCHOR, "news");
// returns pointer to anchor news
virtual const wxHtmlCell* Find(int condition, const void* param) const;
// This function is called when mouse button is clicked over the cell.
//
// Parent is pointer to wxHtmlWindow that generated the event
// HINT: if this handling is not enough for you you should use
// wxHtmlWidgetCell
virtual void OnMouseClick(wxWindow *parent, int x, int y, const wxMouseEvent& event);
// This method used to adjust pagebreak position. The parameter is
// variable that contains y-coordinate of page break (= horizontal line that
// should not be crossed by words, images etc.). If this cell cannot be divided
// into two pieces (each one on another page) then it moves the pagebreak
// few pixels up.
//
// Returned value : true if pagebreak was modified, false otherwise
// Usage : while (container->AdjustPagebreak(&p)) {}
virtual bool AdjustPagebreak(int *pagebreak, int *known_pagebreaks = NULL, int number_of_pages = 0) const;
// Sets cell's behaviour on pagebreaks (see AdjustPagebreak). Default
// is true - the cell can be split on two pages
void SetCanLiveOnPagebreak(bool can) { m_CanLiveOnPagebreak = can; }
// Returns y-coordinates that contraint the cell, i.e. left is highest
// and right lowest coordinate such that the cell lays between then.
// Note: this method does not return meaningful values if you haven't
// called Layout() before!
virtual void GetHorizontalConstraints(int *left, int *right) const;
// Returns true for simple == terminal cells, i.e. not composite ones.
// This if for internal usage only and may disappear in future versions!
virtual bool IsTerminalCell() const { return TRUE; }
// Find the terminal cell inside this cell at the given position (relative
// to this cell)
//
// Returns NULL if not found
virtual wxHtmlCell *FindCellByPos(wxCoord x, wxCoord y) const;
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
wxHtmlLinkInfo *m_Link;
// destination address if this fragment is hypertext link, NULL otherwise
bool m_CanLiveOnPagebreak;
// true if this cell can be placed on pagebreak, false otherwise
wxString m_id;
// unique identifier of the cell, generated from "id" property of tags
DECLARE_NO_COPY_CLASS(wxHtmlCell)
};
//--------------------------------------------------------------------------------
// Inherited cells:
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// wxHtmlWordCell
// Single word in input stream.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlWordCell : public wxHtmlCell
{
public:
wxHtmlWordCell(const wxString& word, wxDC& dc);
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
protected:
wxString m_Word;
};
//--------------------------------------------------------------------------------
// wxHtmlContainerCell
// Container - it contains other cells. Basic of layout algorithm.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlContainerCell : public wxHtmlCell
{
public:
wxHtmlContainerCell(wxHtmlContainerCell *parent);
~wxHtmlContainerCell();
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);
virtual bool AdjustPagebreak(int *pagebreak, int *known_pagebreaks = NULL, int number_of_pages = 0) const;
// insert cell at the end of m_Cells list
void InsertCell(wxHtmlCell *cell);
// sets horizontal/vertical alignment
void SetAlignHor(int al) {m_AlignHor = al; m_LastLayout = -1;}
int GetAlignHor() const {return m_AlignHor;}
void SetAlignVer(int al) {m_AlignVer = al; m_LastLayout = -1;}
int GetAlignVer() const {return m_AlignVer;}
// sets left-border indentation. units is one of wxHTML_UNITS_* constants
// what is combination of wxHTML_INDENT_*
void SetIndent(int i, int what, int units = wxHTML_UNITS_PIXELS);
// returns the indentation. ind is one of wxHTML_INDENT_* constants
int GetIndent(int ind) const;
// returns type of value returned by GetIndent(ind)
int GetIndentUnits(int ind) const;
// sets alignment info based on given tag's params
void SetAlign(const wxHtmlTag& tag);
// sets floating width adjustment
// (examples : 32 percent of parent container,
// -15 pixels percent (this means 100 % - 15 pixels)
void SetWidthFloat(int w, int units) {m_WidthFloat = w; m_WidthFloatUnits = units; m_LastLayout = -1;}
void SetWidthFloat(const wxHtmlTag& tag, double pixel_scale = 1.0);
// sets minimal height of this container.
void SetMinHeight(int h, int align = wxHTML_ALIGN_TOP) {m_MinHeight = h; m_MinHeightAlign = align; m_LastLayout = -1;}
void SetBackgroundColour(const wxColour& clr) {m_UseBkColour = TRUE; m_BkColour = clr;}
// returns background colour (of wxNullColour if none set), so that widgets can
// adapt to it:
wxColour GetBackgroundColour();
void SetBorder(const wxColour& clr1, const wxColour& clr2) {m_UseBorder = TRUE; m_BorderColour1 = clr1, m_BorderColour2 = clr2;}
virtual wxHtmlLinkInfo* GetLink(int x = 0, int y = 0) const;
virtual const wxHtmlCell* Find(int condition, const void* param) const;
virtual void OnMouseClick(wxWindow *parent, int x, int y, const wxMouseEvent& event);
virtual void GetHorizontalConstraints(int *left, int *right) const;
// returns pointer to the first cell in container or NULL
wxHtmlCell* GetFirstCell() const {return m_Cells;}
// see comment in wxHtmlCell about this method
virtual bool IsTerminalCell() const { return FALSE; }
virtual wxHtmlCell *FindCellByPos(wxCoord x, wxCoord y) const;
protected:
int m_IndentLeft, m_IndentRight, m_IndentTop, m_IndentBottom;
// indentation of subcells. There is always m_Indent pixels
// big space between given border of the container and the subcells
// it m_Indent < 0 it is in PERCENTS, otherwise it is in pixels
int m_MinHeight, m_MinHeightAlign;
// minimal height.
wxHtmlCell *m_Cells, *m_LastCell;
// internal cells, m_Cells points to the first of them, m_LastCell to the last one.
// (LastCell is needed only to speed-up InsertCell)
int m_AlignHor, m_AlignVer;
// alignment horizontal and vertical (left, center, right)
int m_WidthFloat, m_WidthFloatUnits;
// width float is used in adjustWidth
bool m_UseBkColour;
wxColour m_BkColour;
// background color of this container
bool m_UseBorder;
wxColour m_BorderColour1, m_BorderColour2;
// borders color of this container
int m_LastLayout;
// if != -1 then call to Layout may be no-op
// if previous call to Layout has same argument
DECLARE_NO_COPY_CLASS(wxHtmlContainerCell)
};
//--------------------------------------------------------------------------------
// wxHtmlColourCell
// Color changer.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlColourCell : public wxHtmlCell
{
public:
wxHtmlColourCell(const wxColour& clr, int flags = wxHTML_CLR_FOREGROUND) : wxHtmlCell() {m_Colour = clr; m_Flags = flags;}
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
virtual void DrawInvisible(wxDC& dc, int x, int y);
protected:
wxColour m_Colour;
unsigned m_Flags;
};
//--------------------------------------------------------------------------------
// wxHtmlFontCell
// Sets actual font used for text rendering
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlFontCell : public wxHtmlCell
{
public:
wxHtmlFontCell(wxFont *font) : wxHtmlCell() { m_Font = (*font); }
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
virtual void DrawInvisible(wxDC& dc, int x, int y);
protected:
wxFont m_Font;
};
//--------------------------------------------------------------------------------
// wxHtmlwidgetCell
// This cell is connected with wxWindow object
// You can use it to insert windows into HTML page
// (buttons, input boxes etc.)
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlWidgetCell : public wxHtmlCell
{
public:
// !!! wnd must have correct parent!
// if w != 0 then the m_Wnd has 'floating' width - it adjust
// it's width according to parent container's width
// (w is percent of parent's width)
wxHtmlWidgetCell(wxWindow *wnd, int w = 0);
~wxHtmlWidgetCell() { m_Wnd->Destroy(); }
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
virtual void DrawInvisible(wxDC& dc, int x, int y);
virtual void Layout(int w);
protected:
wxWindow* m_Wnd;
int m_WidthFloat;
// width float is used in adjustWidth (it is in percents)
DECLARE_NO_COPY_CLASS(wxHtmlWidgetCell)
};
//--------------------------------------------------------------------------------
// wxHtmlLinkInfo
// Internal data structure. It represents hypertext link
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlLinkInfo : public wxObject
{
public:
wxHtmlLinkInfo() : wxObject()
{ m_Href = m_Target = wxEmptyString; m_Event = NULL, m_Cell = NULL; }
wxHtmlLinkInfo(const wxString& href, const wxString& target = wxEmptyString) : wxObject()
{ m_Href = href; m_Target = target; m_Event = NULL, m_Cell = NULL; }
wxHtmlLinkInfo(const wxHtmlLinkInfo& l) : wxObject()
{ m_Href = l.m_Href, m_Target = l.m_Target, m_Event = l.m_Event;
m_Cell = l.m_Cell; }
wxHtmlLinkInfo& operator=(const wxHtmlLinkInfo& l)
{ m_Href = l.m_Href, m_Target = l.m_Target, m_Event = l.m_Event;
m_Cell = l.m_Cell; return *this; }
void SetEvent(const wxMouseEvent *e) { m_Event = e; }
void SetHtmlCell(const wxHtmlCell *e) { m_Cell = e; }
wxString GetHref() const { return m_Href; }
wxString GetTarget() const { return m_Target; }
const wxMouseEvent* GetEvent() const { return m_Event; }
const wxHtmlCell* GetHtmlCell() const { return m_Cell; }
private:
wxString m_Href, m_Target;
const wxMouseEvent *m_Event;
const wxHtmlCell *m_Cell;
};
#endif // wxUSE_HTML
#endif // _WX_HTMLCELL_H_

157
include/wx/html/htmldefs.h Normal file
View File

@@ -0,0 +1,157 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmldefs.h
// Purpose: constants for wxhtml library
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLDEFS_H_
#define _WX_HTMLDEFS_H_
#include "wx/defs.h"
#if wxUSE_HTML
//--------------------------------------------------------------------------------
// ALIGNMENTS
// Describes alignment of text etc. in containers
//--------------------------------------------------------------------------------
#define wxHTML_ALIGN_LEFT 0x0000
#define wxHTML_ALIGN_RIGHT 0x0002
#define wxHTML_ALIGN_JUSTIFY 0x0010
#define wxHTML_ALIGN_TOP 0x0004
#define wxHTML_ALIGN_BOTTOM 0x0008
#define wxHTML_ALIGN_CENTER 0x0001
//--------------------------------------------------------------------------------
// COLOR MODES
// Used by wxHtmlColourCell to determine clr of what is changing
//--------------------------------------------------------------------------------
#define wxHTML_CLR_FOREGROUND 0x0001
#define wxHTML_CLR_BACKGROUND 0x0002
//--------------------------------------------------------------------------------
// UNITS
// Used to specify units
//--------------------------------------------------------------------------------
#define wxHTML_UNITS_PIXELS 0x0001
#define wxHTML_UNITS_PERCENT 0x0002
//--------------------------------------------------------------------------------
// INDENTS
// Used to specify indetation relatives
//--------------------------------------------------------------------------------
#define wxHTML_INDENT_LEFT 0x0010
#define wxHTML_INDENT_RIGHT 0x0020
#define wxHTML_INDENT_TOP 0x0040
#define wxHTML_INDENT_BOTTOM 0x0080
#define wxHTML_INDENT_HORIZONTAL wxHTML_INDENT_LEFT | wxHTML_INDENT_RIGHT
#define wxHTML_INDENT_VERTICAL wxHTML_INDENT_TOP | wxHTML_INDENT_BOTTOM
#define wxHTML_INDENT_ALL wxHTML_INDENT_VERTICAL | wxHTML_INDENT_HORIZONTAL
//--------------------------------------------------------------------------------
// FIND CONDITIONS
// Identifiers of wxHtmlCell's Find() conditions
//--------------------------------------------------------------------------------
#define wxHTML_COND_ISANCHOR 1
// Finds the anchor of 'param' name (pointer to wxString).
#define wxHTML_COND_ISIMAGEMAP 2
// Finds imagemap of 'param' name (pointer to wxString).
// (used exclusively by m_image.cpp)
#define wxHTML_COND_USER 10000
// User-defined conditions should start from this number
//--------------------------------------------------------------------------------
// INTERNALS
// wxHTML internal constants
//--------------------------------------------------------------------------------
#define wxHTML_SCROLL_STEP 16
/* size of one scroll step of wxHtmlWindow in pixels */
#define wxHTML_BUFLEN 1024
/* size of temporary buffer used during parsing */
#define wxHTML_REALLOC_STEP 32
/* steps of array reallocation */
#define wxHTML_PRINT_MAX_PAGES 999
/* maximum number of pages printable via html printing */
/* default font sizes */
#ifdef __WXMSW__
#define wxHTML_FONT_SIZE_1 7
#define wxHTML_FONT_SIZE_2 8
#define wxHTML_FONT_SIZE_3 10
#define wxHTML_FONT_SIZE_4 12
#define wxHTML_FONT_SIZE_5 16
#define wxHTML_FONT_SIZE_6 22
#define wxHTML_FONT_SIZE_7 30
#elif defined(__WXMAC__)
#define wxHTML_FONT_SIZE_1 9
#define wxHTML_FONT_SIZE_2 12
#define wxHTML_FONT_SIZE_3 14
#define wxHTML_FONT_SIZE_4 18
#define wxHTML_FONT_SIZE_5 24
#define wxHTML_FONT_SIZE_6 30
#define wxHTML_FONT_SIZE_7 36
#else
#define wxHTML_FONT_SIZE_1 10
#define wxHTML_FONT_SIZE_2 12
#define wxHTML_FONT_SIZE_3 14
#define wxHTML_FONT_SIZE_4 16
#define wxHTML_FONT_SIZE_5 19
#define wxHTML_FONT_SIZE_6 24
#define wxHTML_FONT_SIZE_7 32
#endif
#if WXWIN_COMPATIBILITY_2
#define HTML_ALIGN_LEFT wxHTML_ALIGN_LEFT
#define HTML_ALIGN_RIGHT wxHTML_ALIGN_RIGHT
#define HTML_ALIGN_TOP wxHTML_ALIGN_TOP
#define HTML_ALIGN_BOTTOM wxHTML_ALIGN_BOTTOM
#define HTML_ALIGN_CENTER wxHTML_ALIGN_CENTER
#define HTML_CLR_FOREGROUND wxHTML_CLR_FOREGROUND
#define HTML_CLR_BACKGROUND wxHTML_CLR_BACKGROUND
#define HTML_UNITS_PIXELS wxHTML_UNITS_PIXELS
#define HTML_UNITS_PERCENT wxHTML_UNITS_PERCENT
#define HTML_INDENT_LEFT wxHTML_INDENT_LEFT
#define HTML_INDENT_RIGHT wxHTML_INDENT_RIGHT
#define HTML_INDENT_TOP wxHTML_INDENT_TOP
#define HTML_INDENT_BOTTOM wxHTML_INDENT_BOTTOM
#define HTML_INDENT_HORIZONTAL wxHTML_INDENT_HORIZONTAL
#define HTML_INDENT_VERTICAL wxHTML_INDENT_VERTICAL
#define HTML_INDENT_ALL wxHTML_INDENT_ALL
#define HTML_COND_ISANCHOR wxHTML_COND_ISANCHOR
#define HTML_COND_ISIMAGEMAP wxHTML_COND_ISIMAGEMAP
#define HTML_COND_USER wxHTML_COND_USER
#endif
#endif
#endif

View File

@@ -0,0 +1,87 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlfilt.h
// Purpose: filters
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLFILT_H_
#define _WX_HTMLFILT_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmlfilt.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/filesys.h"
//--------------------------------------------------------------------------------
// wxHtmlFilter
// This class is input filter. It can "translate" files
// in non-HTML format to HTML format
// interface to access certain
// kinds of files (HTPP, FTP, local, tar.gz etc..)
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlFilter : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxHtmlFilter)
public:
wxHtmlFilter() : wxObject() {}
virtual ~wxHtmlFilter() {}
// returns TRUE if this filter is able to open&read given file
virtual bool CanRead(const wxFSFile& file) const = 0;
// Reads given file and returns HTML document.
// Returns empty string if opening failed
virtual wxString ReadFile(const wxFSFile& file) const = 0;
};
//--------------------------------------------------------------------------------
// wxHtmlFilterPlainText
// This filter is used as default filter if no other can
// be used (= uknown type of file). It is used by
// wxHtmlWindow itself.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlFilterPlainText : public wxHtmlFilter
{
DECLARE_DYNAMIC_CLASS(wxHtmlFilterPlainText)
public:
virtual bool CanRead(const wxFSFile& file) const;
virtual wxString ReadFile(const wxFSFile& file) const;
};
//--------------------------------------------------------------------------------
// wxHtmlFilterHTML
// filter for text/html
//--------------------------------------------------------------------------------
class wxHtmlFilterHTML : public wxHtmlFilter
{
DECLARE_DYNAMIC_CLASS(wxHtmlFilterHTML)
public:
virtual bool CanRead(const wxFSFile& file) const;
virtual wxString ReadFile(const wxFSFile& file) const;
};
#endif // wxUSE_HTML
#endif // _WX_HTMLFILT_H_

278
include/wx/html/htmlpars.h Normal file
View File

@@ -0,0 +1,278 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlpars.h
// Purpose: wxHtmlParser class (generic parser)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLPARS_H_
#define _WX_HTMLPARS_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmlpars.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/html/htmltag.h"
#include "wx/filesys.h"
#include "wx/hash.h"
#include "wx/fontenc.h"
class WXDLLEXPORT wxMBConv;
class WXDLLEXPORT wxHtmlParser;
class WXDLLEXPORT wxHtmlTagHandler;
class WXDLLEXPORT wxHtmlEntitiesParser;
class wxHtmlTextPieces;
class wxHtmlParserState;
enum wxHtmlURLType
{
wxHTML_URL_PAGE,
wxHTML_URL_IMAGE,
wxHTML_URL_OTHER
};
// This class handles generic parsing of HTML document : it scans
// the document and divide it into blocks of tags (where one block
// consists of starting and ending tag and of text between these
// 2 tags.
class WXDLLEXPORT wxHtmlParser : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxHtmlParser)
public:
wxHtmlParser();
virtual ~wxHtmlParser();
// Sets the class which will be used for opening files
void SetFS(wxFileSystem *fs) { m_FS = fs; }
wxFileSystem* GetFS() const { return m_FS; }
// Opens file if the parser is allowed to open given URL (may be forbidden
// for security reasons)
virtual wxFSFile *OpenURL(wxHtmlURLType type, const wxString& url) const;
// You can simply call this method when you need parsed output.
// This method does these things:
// 1. call InitParser(source);
// 2. call DoParsing();
// 3. call GetProduct(); (it's return value is then returned)
// 4. call DoneParser();
wxObject* Parse(const wxString& source);
// Sets the source. This must be called before running Parse() method.
virtual void InitParser(const wxString& source);
// This must be called after Parse().
virtual void DoneParser();
// May be called during parsing to immediately return from Parse().
virtual void StopParsing() { m_stopParsing = TRUE; }
// Parses the m_Source from begin_pos to end_pos-1.
// (in noparams version it parses whole m_Source)
void DoParsing(int begin_pos, int end_pos);
void DoParsing();
// Returns pointer to the tag at parser's current position
wxHtmlTag *GetCurrentTag() const { return m_CurTag; }
// Returns product of parsing
// Returned value is result of parsing of the part. The type of this result
// depends on internal representation in derived parser
// (see wxHtmlWinParser for details).
virtual wxObject* GetProduct() = 0;
// adds handler to the list & hash table of handlers.
virtual void AddTagHandler(wxHtmlTagHandler *handler);
// Forces the handler to handle additional tags (not returned by GetSupportedTags).
// The handler should already be in use by this parser.
// Example: you want to parse following pseudo-html structure:
// <myitems>
// <it name="one" value="1">
// <it name="two" value="2">
// </myitems>
// <it> This last it has different meaning, we don't want it to be parsed by myitems handler!
// handler can handle only 'myitems' (e.g. it's GetSupportedTags returns "MYITEMS")
// you can call PushTagHandler(handler, "IT") when you find <myitems>
// and call PopTagHandler() when you find </myitems>
void PushTagHandler(wxHtmlTagHandler *handler, wxString tags);
// Restores state before last call to PushTagHandler
void PopTagHandler();
wxString* GetSource() {return &m_Source;}
void SetSource(const wxString& src);
// Sets HTML source and remebers current parser's state so that it can
// later be restored. This is useful for on-line modifications of
// HTML source (for example, <pre> handler replaces spaces with &nbsp;
// and newlines with <br>)
virtual void SetSourceAndSaveState(const wxString& src);
// Restores parser's state from stack or returns FALSE if the stack is
// empty
virtual bool RestoreState();
// Parses HTML string 'markup' and extracts charset info from <meta> tag
// if present. Returns empty string if the tag is missing.
// For wxHTML's internal use.
static wxString ExtractCharsetInformation(const wxString& markup);
protected:
// DOM structure
void CreateDOMTree();
void DestroyDOMTree();
void CreateDOMSubTree(wxHtmlTag *cur,
int begin_pos, int end_pos,
wxHtmlTagsCache *cache);
// Adds text to the output.
// This is called from Parse() and must be overriden in derived classes.
// txt is not guaranteed to be only one word. It is largest continuous part of text
// (= not broken by tags)
// NOTE : using char* because of speed improvements
virtual void AddText(const wxChar* txt) = 0;
// Adds tag and proceeds it. Parse() may (and usually is) called from this method.
// This is called from Parse() and may be overriden.
// Default behavior is that it looks for proper handler in m_Handlers. The tag is
// ignored if no hander is found.
// Derived class is *responsible* for filling in m_Handlers table.
virtual void AddTag(const wxHtmlTag& tag);
// Returns entity parser object, used to substitute HTML &entities;
wxHtmlEntitiesParser *GetEntitiesParser() const { return m_entitiesParser; }
protected:
// DOM tree:
wxHtmlTag *m_CurTag;
wxHtmlTag *m_Tags;
wxHtmlTextPieces *m_TextPieces;
size_t m_CurTextPiece;
wxString m_Source;
wxHtmlParserState *m_SavedStates;
// handlers that handle particular tags. The table is accessed by
// key = tag's name.
// This attribute MUST be filled by derived class otherwise it would
// be empty and no tags would be recognized
// (see wxHtmlWinParser for details about filling it)
// m_HandlersHash is for random access based on knowledge of tag name (BR, P, etc.)
// it may (and often does) contain more references to one object
// m_HandlersList is list of all handlers and it is guaranteed to contain
// only one reference to each handler instance.
wxList m_HandlersList;
wxHashTable m_HandlersHash;
DECLARE_NO_COPY_CLASS(wxHtmlParser)
// class for opening files (file system)
wxFileSystem *m_FS;
// handlers stack used by PushTagHandler and PopTagHandler
wxList *m_HandlersStack;
// entity parse
wxHtmlEntitiesParser *m_entitiesParser;
// flag indicating that the parser should stop
bool m_stopParsing;
};
// This class (and derived classes) cooperates with wxHtmlParser.
// Each recognized tag is passed to handler which is capable
// of handling it. Each tag is handled in 3 steps:
// 1. Handler will modifies state of parser
// (using it's public methods)
// 2. Parser parses source between starting and ending tag
// 3. Handler restores original state of the parser
class WXDLLEXPORT wxHtmlTagHandler : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxHtmlTagHandler)
public:
wxHtmlTagHandler() : wxObject () { m_Parser = NULL; }
// Sets the parser.
// NOTE : each _instance_ of handler is guaranteed to be called
// only by one parser. This means you don't have to care about
// reentrancy.
virtual void SetParser(wxHtmlParser *parser)
{ m_Parser = parser; }
// Returns list of supported tags. The list is in uppercase and
// tags are delimited by ','.
// Example : "I,B,FONT,P"
// is capable of handling italic, bold, font and paragraph tags
virtual wxString GetSupportedTags() = 0;
// This is hadling core method. It does all the Steps 1-3.
// To process step 2, you can call ParseInner()
// returned value : TRUE if it called ParseInner(),
// FALSE etherwise
virtual bool HandleTag(const wxHtmlTag& tag) = 0;
protected:
// parses input between beginning and ending tag.
// m_Parser must be set.
void ParseInner(const wxHtmlTag& tag)
{ m_Parser->DoParsing(tag.GetBeginPos(), tag.GetEndPos1()); }
wxHtmlParser *m_Parser;
DECLARE_NO_COPY_CLASS(wxHtmlTagHandler)
};
// This class is used to parse HTML entities in strings. It can handle
// both named entities and &#xxxx entries where xxxx is Unicode code.
class WXDLLEXPORT wxHtmlEntitiesParser : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxHtmlEntitiesParser)
public:
wxHtmlEntitiesParser();
virtual ~wxHtmlEntitiesParser();
// Sets encoding of output string.
// Has no effect if wxUSE_WCHAR_T==0 or wxUSE_UNICODE==1
void SetEncoding(wxFontEncoding encoding);
// Parses entities in input and replaces them with respective characters
// (with respect to output encoding)
wxString Parse(const wxString& input);
// Returns character for given entity or 0 if the enity is unknown
wxChar GetEntityChar(const wxString& entity);
// Returns character that represents given Unicode code
#if wxUSE_UNICODE
wxChar GetCharForCode(unsigned code) { return (wxChar)code; }
#else
wxChar GetCharForCode(unsigned code);
#endif
protected:
#if wxUSE_WCHAR_T && !wxUSE_UNICODE
wxMBConv *m_conv;
wxFontEncoding m_encoding;
#endif
DECLARE_NO_COPY_CLASS(wxHtmlEntitiesParser)
};
#endif
#endif // _WX_HTMLPARS_H_

View File

@@ -0,0 +1,64 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlprep.h
// Purpose: HTML processor
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 2001 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLPREP_H_
#define _WX_HTMLPREP_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmlproc.h"
// (implementation is in htmlwin.cpp, there's no htmlprep.cpp!)
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/string.h"
// Priority of preprocessor in the chain. The higher, the earlier it is used
enum
{
wxHTML_PRIORITY_DONTCARE = 128, // if the order doesn't matter, use this
// priority
wxHTML_PRIORITY_SYSTEM = 256 // >=256 is only for wxHTML's internals
};
// Classes derived from this class serve as simple text processors for
// wxHtmlWindow. wxHtmlWindow runs HTML markup through all registered
// processors before displaying it, thus allowing for on-the-fly
// modifications of the markup.
class WXDLLEXPORT wxHtmlProcessor : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxHtmlProcessor)
public:
wxHtmlProcessor() : wxObject(), m_enabled(TRUE) {}
virtual ~wxHtmlProcessor() {}
// Process input text and return processed result
virtual wxString Process(const wxString& text) const = 0;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
virtual int GetPriority() const { return wxHTML_PRIORITY_DONTCARE; }
// Enable/disable the processor. wxHtmlWindow won't use a disabled
// processor even if it is in its processors queue.
virtual void Enable(bool enable = TRUE) { m_enabled = enable; }
bool IsEnabled() const { return m_enabled; }
protected:
bool m_enabled;
};
#endif // wxUSE_HTML
#endif // _WX_HTMLPROC_H_

158
include/wx/html/htmltag.h Normal file
View File

@@ -0,0 +1,158 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmltag.h
// Purpose: wxHtmlTag class (represents single tag)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLTAG_H_
#define _WX_HTMLTAG_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmltag.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/object.h"
class WXDLLEXPORT wxColour;
class WXDLLEXPORT wxHtmlEntitiesParser;
//-----------------------------------------------------------------------------
// wxHtmlTagsCache
// - internal wxHTML class, do not use!
//-----------------------------------------------------------------------------
struct wxHtmlCacheItem;
class WXDLLEXPORT wxHtmlTagsCache : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxHtmlTagsCache)
private:
wxHtmlCacheItem *m_Cache;
int m_CacheSize;
int m_CachePos;
public:
wxHtmlTagsCache() : wxObject() {m_CacheSize = 0; m_Cache = NULL;}
wxHtmlTagsCache(const wxString& source);
~wxHtmlTagsCache() {free(m_Cache);}
// Finds parameters for tag starting at at and fills the variables
void QueryTag(int at, int* end1, int* end2);
DECLARE_NO_COPY_CLASS(wxHtmlTagsCache)
};
//--------------------------------------------------------------------------------
// wxHtmlTag
// This represents single tag. It is used as internal structure
// by wxHtmlParser.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlTag : public wxObject
{
DECLARE_CLASS(wxHtmlTag)
protected:
// constructs wxHtmlTag object based on HTML tag.
// The tag begins (with '<' character) at position pos in source
// end_pos is position where parsing ends (usually end of document)
wxHtmlTag(wxHtmlTag *parent,
const wxString& source, int pos, int end_pos,
wxHtmlTagsCache *cache,
wxHtmlEntitiesParser *entParser);
friend class wxHtmlParser;
public:
~wxHtmlTag();
wxHtmlTag *GetParent() const {return m_Parent;}
wxHtmlTag *GetFirstSibling() const;
wxHtmlTag *GetLastSibling() const;
wxHtmlTag *GetChildren() const { return m_FirstChild; }
wxHtmlTag *GetPreviousSibling() const { return m_Prev; }
wxHtmlTag *GetNextSibling() const {return m_Next; }
// Return next tag, as if tree had been flattened
wxHtmlTag *GetNextTag() const;
// Returns tag's name in uppercase.
inline wxString GetName() const {return m_Name;}
// Returns TRUE if the tag has given parameter. Parameter
// should always be in uppercase.
// Example : <IMG SRC="test.jpg"> HasParam("SRC") returns TRUE
bool HasParam(const wxString& par) const;
// Returns value of the param. Value is in uppercase unless it is
// enclosed with "
// Example : <P align=right> GetParam("ALIGN") returns (RIGHT)
// <P IMG SRC="WhaT.jpg"> GetParam("SRC") returns (WhaT.jpg)
// (or ("WhaT.jpg") if with_commas == TRUE)
wxString GetParam(const wxString& par, bool with_commas = FALSE) const;
// Convenience functions:
bool GetParamAsColour(const wxString& par, wxColour *clr) const;
bool GetParamAsInt(const wxString& par, int *clr) const;
// Scans param like scanf() functions family does.
// Example : ScanParam("COLOR", "\"#%X\"", &clr);
// This is always with with_commas=FALSE
// Returns number of scanned values
// (like sscanf() does)
// NOTE: unlike scanf family, this function only accepts
// *one* parameter !
int ScanParam(const wxString& par, const wxChar *format, void *param) const;
// Returns string containing all params.
wxString GetAllParams() const;
#if WXWIN_COMPATIBILITY_2_2
// return TRUE if this is ending tag (</something>) or FALSE
// if it isn't (<something>)
inline bool IsEnding() const {return FALSE;}
#endif
// return TRUE if this there is matching ending tag
inline bool HasEnding() const {return m_End1 >= 0;}
// returns beginning position of _internal_ block of text
// See explanation (returned value is marked with *):
// bla bla bla <MYTAG>* bla bla intenal text</MYTAG> bla bla
inline int GetBeginPos() const {return m_Begin;}
// returns ending position of _internal_ block of text.
// bla bla bla <MYTAG> bla bla intenal text*</MYTAG> bla bla
inline int GetEndPos1() const {return m_End1;}
// returns end position 2 :
// bla bla bla <MYTAG> bla bla internal text</MYTAG>* bla bla
inline int GetEndPos2() const {return m_End2;}
private:
wxString m_Name;
int m_Begin, m_End1, m_End2;
wxArrayString m_ParamNames, m_ParamValues;
// DOM tree relations:
wxHtmlTag *m_Next;
wxHtmlTag *m_Prev;
wxHtmlTag *m_FirstChild, *m_LastChild;
wxHtmlTag *m_Parent;
DECLARE_NO_COPY_CLASS(wxHtmlTag)
};
#endif
#endif // _WX_HTMLTAG_H_

284
include/wx/html/htmlwin.h Normal file
View File

@@ -0,0 +1,284 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlwin.h
// Purpose: wxHtmlWindow class for parsing & displaying HTML
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLWIN_H_
#define _WX_HTMLWIN_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmlwin.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/window.h"
#include "wx/scrolwin.h"
#include "wx/config.h"
#include "wx/treectrl.h"
#include "wx/html/winpars.h"
#include "wx/html/htmlcell.h"
#include "wx/filesys.h"
#include "wx/html/htmlfilt.h"
#include "wx/filename.h"
class wxHtmlProcessor;
class wxHtmlWinModule;
class wxHtmlHistoryArray;
class wxHtmlProcessorList;
// wxHtmlWindow flags:
#define wxHW_SCROLLBAR_NEVER 0x0002
#define wxHW_SCROLLBAR_AUTO 0x0004
// enums for wxHtmlWindow::OnOpeningURL
enum wxHtmlOpeningStatus
{
wxHTML_OPEN,
wxHTML_BLOCK,
wxHTML_REDIRECT
};
//--------------------------------------------------------------------------------
// wxHtmlWindow
// (This is probably the only class you will directly use.)
// Purpose of this class is to display HTML page (either local
// file or downloaded via HTTP protocol) in a window. Width
// of window is constant - given in constructor - virtual height
// is changed dynamicly depending on page size.
// Once the window is created you can set it's content by calling
// SetPage(text) or LoadPage(filename).
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
{
DECLARE_DYNAMIC_CLASS(wxHtmlWindow)
friend class wxHtmlWinModule;
public:
wxHtmlWindow() { Init(); }
wxHtmlWindow(wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxHW_SCROLLBAR_AUTO,
const wxString& name = wxT("htmlWindow"))
{
Init();
Create(parent, id, pos, size, style, name);
}
~wxHtmlWindow();
bool Create(wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxHW_SCROLLBAR_AUTO,
const wxString& name = wxT("htmlWindow"));
// Set HTML page and display it. !! source is HTML document itself,
// it is NOT address/filename of HTML document. If you want to
// specify document location, use LoadPage() istead
// Return value : FALSE if an error occured, TRUE otherwise
bool SetPage(const wxString& source);
// Append to current page
bool AppendToPage(const wxString& source);
// Load HTML page from given location. Location can be either
// a) /usr/wxGTK2/docs/html/wx.htm
// b) http://www.somewhere.uk/document.htm
// c) ftp://ftp.somesite.cz/pub/something.htm
// In case there is no prefix (http:,ftp:), the method
// will try to find it itself (1. local file, then http or ftp)
// After the page is loaded, the method calls SetPage() to display it.
// Note : you can also use path relative to previously loaded page
// Return value : same as SetPage
virtual bool LoadPage(const wxString& location);
// Loads HTML page from file
bool LoadFile(const wxFileName& filename);
// Returns full location of opened page
wxString GetOpenedPage() const {return m_OpenedPage;}
// Returns anchor within opened page
wxString GetOpenedAnchor() const {return m_OpenedAnchor;}
// Returns <TITLE> of opened page or empty string otherwise
wxString GetOpenedPageTitle() const {return m_OpenedPageTitle;}
// Sets frame in which page title will be displayed. Format is format of
// frame title, e.g. "HtmlHelp : %s". It must contain exactly one %s
void SetRelatedFrame(wxFrame* frame, const wxString& format);
wxFrame* GetRelatedFrame() const {return m_RelatedFrame;}
// After(!) calling SetRelatedFrame, this sets statusbar slot where messages
// will be displayed. Default is -1 = no messages.
void SetRelatedStatusBar(int bar);
// Sets fonts to be used when displaying HTML page.
void SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes = NULL);
// Sets space between text and window borders.
void SetBorders(int b) {m_Borders = b;}
// 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.
virtual void ReadCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
// ...
virtual void WriteCustomization(wxConfigBase *cfg, wxString path = wxEmptyString);
// Goes to previous/next page (in browsing history)
// Returns TRUE if successful, FALSE otherwise
bool HistoryBack();
bool HistoryForward();
bool HistoryCanBack();
bool HistoryCanForward();
// Resets history
void HistoryClear();
// Returns pointer to conteiners/cells structure.
// It should be used ONLY when printing
wxHtmlContainerCell* GetInternalRepresentation() const {return m_Cell;}
// Adds input filter
static void AddFilter(wxHtmlFilter *filter);
// Returns a pointer to the parser.
wxHtmlWinParser *GetParser() const { return m_Parser; }
// Adds HTML processor to this instance of wxHtmlWindow:
void AddProcessor(wxHtmlProcessor *processor);
// Adds HTML processor to wxHtmlWindow class as whole:
static void AddGlobalProcessor(wxHtmlProcessor *processor);
// what would we do with it?
virtual bool AcceptsFocusFromKeyboard() const { return FALSE; }
// -- Callbacks --
// Sets the title of the window
// (depending on the information passed to SetRelatedFrame() method)
virtual void OnSetTitle(const wxString& title);
// Called when the mouse hovers over a cell: (x, y) are logical coords
// Default behaviour is to do nothing at all
virtual void OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y);
// Called when user clicks on a cell. Default behavior is to call
// OnLinkClicked() if this cell corresponds to a hypertext link
virtual void OnCellClicked(wxHtmlCell *cell,
wxCoord x, wxCoord y,
const wxMouseEvent& event);
// Called when user clicked on hypertext link. Default behavior is to
// call LoadPage(loc)
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
// Called when wxHtmlWindow wants to fetch data from an URL (e.g. when
// loading a page or loading an image). The data are downloaded if and only if
// OnOpeningURL returns TRUE. If OnOpeningURL returns wxHTML_REDIRECT,
// it must set *redirect to the new URL
virtual wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType WXUNUSED(type),
const wxString& WXUNUSED(url),
wxString *WXUNUSED(redirect)) const
{ return wxHTML_OPEN; }
protected:
void Init();
// Scrolls to anchor of this name. (Anchor is #news
// or #features etc. it is part of address sometimes:
// http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/index.html#news)
// Return value : TRUE if anchor exists, FALSE otherwise
bool ScrollToAnchor(const wxString& anchor);
// Prepares layout (= fill m_PosX, m_PosY for fragments) based on
// actual size of window. This method also setup scrollbars
void CreateLayout();
void OnDraw(wxDC& dc);
void OnSize(wxSizeEvent& event);
void OnMouseEvent(wxMouseEvent& event);
void OnIdle(wxIdleEvent& event);
// Returns new filter (will be stored into m_DefaultFilter variable)
virtual wxHtmlFilter *GetDefaultFilter() {return new wxHtmlFilterPlainText;}
// cleans static variables
static void CleanUpStatics();
protected:
// This is pointer to the first cell in parsed data.
// (Note: the first cell is usually top one = all other cells are sub-cells of this one)
wxHtmlContainerCell *m_Cell;
// parser which is used to parse HTML input.
// Each wxHtmlWindow has it's own parser because sharing one global
// parser would be problematic (because of reentrancy)
wxHtmlWinParser *m_Parser;
// contains name of actualy opened page or empty string if no page opened
wxString m_OpenedPage;
// contains name of current anchor within m_OpenedPage
wxString m_OpenedAnchor;
// contains title of actualy opened page or empty string if no <TITLE> tag
wxString m_OpenedPageTitle;
// class for opening files (file system)
wxFileSystem* m_FS;
wxFrame *m_RelatedFrame;
wxString m_TitleFormat;
// frame in which page title should be displayed & number of it's statusbar
// reserved for usage with this html window
int m_RelatedStatusBar;
// borders (free space between text and window borders)
// defaults to 10 pixels.
int m_Borders;
int m_Style;
private:
// a flag indicated if mouse moved
// (if TRUE we will try to change cursor in last call to OnIdle)
bool m_tmpMouseMoved;
// contains last link name
wxHtmlLinkInfo *m_tmpLastLink;
// contains the last (terminal) cell which contained the mouse
wxHtmlCell *m_tmpLastCell;
// if >0 contents of the window is not redrawn
// (in order to avoid ugly blinking)
int m_tmpCanDrawLocks;
// list of HTML filters
static wxList m_Filters;
// this filter is used when no filter is able to read some file
static wxHtmlFilter *m_DefaultFilter;
static wxCursor *s_cur_hand;
static wxCursor *s_cur_arrow;
wxHtmlHistoryArray *m_History;
// browser history
int m_HistoryPos;
// if this FLAG is false, items are not added to history
bool m_HistoryOn;
// html processors array:
wxHtmlProcessorList *m_Processors;
static wxHtmlProcessorList *m_GlobalProcessors;
DECLARE_EVENT_TABLE()
DECLARE_NO_COPY_CLASS(wxHtmlWindow)
};
#endif
#endif // _WX_HTMLWIN_H_

258
include/wx/html/htmprint.h Normal file
View File

@@ -0,0 +1,258 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmprint.h
// Purpose: html printing classes
// Author: Vaclav Slavik
// Created: 25/09/99
// RCS-ID: $Id$
// Copyright: (c)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMPRINT_H_
#define _WX_HTMPRINT_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "htmprint.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
#include "wx/html/htmlcell.h"
#include "wx/html/winpars.h"
#include "wx/print.h"
#include "wx/printdlg.h"
#include <limits.h> // INT_MAX
//--------------------------------------------------------------------------------
// wxHtmlDCRenderer
// This class is capable of rendering HTML into specified
// portion of DC
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlDCRenderer : public wxObject
{
public:
wxHtmlDCRenderer();
~wxHtmlDCRenderer();
// Following 3 methods *must* be called before any call to Render:
// Assign DC to this render
void SetDC(wxDC *dc, double pixel_scale = 1.0);
// Sets size of output rectangle, in pixels. Note that you *can't* change
// width of the rectangle between calls to Render! (You can freely change height.)
void SetSize(int width, int height);
// Sets the text to be displayed.
// Basepath is base directory (html string would be stored there if it was in
// file). It is used to determine path for loading images, for example.
// isdir is FALSE if basepath is filename, TRUE if it is directory name
// (see wxFileSystem for detailed explanation)
void SetHtmlText(const wxString& html, const wxString& basepath = wxEmptyString, bool isdir = TRUE);
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
// [x,y] is position of upper-left corner of printing rectangle (see SetSize)
// from is y-coordinate of the very first visible cell
// to is y-coordinate of the next following page break, if any
// Returned value is y coordinate of first cell than didn't fit onto page.
// Use this value as 'from' in next call to Render in order to print multiple pages
// document
// If dont_render is TRUE then nothing is rendered into DC and it only counts
// pixels and return y coord of the next page
//
// known_pagebreaks and number_of_pages are used only when counting pages;
// otherwise, their default values should be used. Their purpose is to
// support pagebreaks using a subset of CSS2's <DIV>. The <DIV> handler
// needs to know what pagebreaks have already been set so that it doesn't
// set the same pagebreak twice.
//
// CAUTION! Render() changes DC's user scale and does NOT restore it!
int Render(int x, int y, int from = 0, int dont_render = FALSE, int to = INT_MAX,
int *known_pagebreaks = NULL, int number_of_pages = 0);
// returns total height of the html document
// (compare Render's return value with this)
int GetTotalHeight();
private:
wxDC *m_DC;
wxHtmlWinParser *m_Parser;
wxFileSystem *m_FS;
wxHtmlContainerCell *m_Cells;
int m_MaxWidth, m_Width, m_Height;
DECLARE_NO_COPY_CLASS(wxHtmlDCRenderer)
};
enum {
wxPAGE_ODD,
wxPAGE_EVEN,
wxPAGE_ALL
};
//--------------------------------------------------------------------------------
// wxHtmlPrintout
// This class is derived from standard wxWindows printout class
// and is used to print HTML documents.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlPrintout : public wxPrintout
{
public:
wxHtmlPrintout(const wxString& title = wxT("Printout"));
~wxHtmlPrintout();
void SetHtmlText(const wxString& html, const wxString &basepath = wxEmptyString, bool isdir = TRUE);
// prepares the class for printing this html document.
// Must be called before using the class, in fact just after constructor
//
// basepath is base directory (html string would be stored there if it was in
// file). It is used to determine path for loading images, for example.
// isdir is FALSE if basepath is filename, TRUE if it is directory name
// (see wxFileSystem for detailed explanation)
void SetHtmlFile(const wxString &htmlfile);
// same as SetHtmlText except that it takes regular file as the parameter
void SetHeader(const wxString& header, int pg = wxPAGE_ALL);
void SetFooter(const wxString& footer, int pg = wxPAGE_ALL);
// sets header/footer for the document. The argument is interpreted as HTML document.
// You can use macros in it:
// @PAGENUM@ is replaced by page number
// @PAGESCNT@ is replaced by total number of pages
//
// pg is one of wxPAGE_ODD, wxPAGE_EVEN and wx_PAGE_ALL constants.
// You can set different header/footer for odd and even pages
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
void SetMargins(float top = 25.2, float bottom = 25.2, float left = 25.2, float right = 25.2,
float spaces = 5);
// sets margins in milimeters. Defaults to 1 inch for margins and 0.5cm for space
// between text and header and/or footer
// wxPrintout stuff:
bool OnPrintPage(int page);
bool HasPage(int page);
void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
bool OnBeginDocument(int startPage, int endPage);
private:
void RenderPage(wxDC *dc, int page);
// renders one page into dc
wxString TranslateHeader(const wxString& instr, int page);
// substitute @PAGENUM@ and @PAGESCNT@ by real values
void CountPages();
// counts pages and fills m_NumPages and m_PageBreaks
private:
int m_NumPages;
int m_PageBreaks[wxHTML_PRINT_MAX_PAGES];
wxString m_Document, m_BasePath;
bool m_BasePathIsDir;
wxString m_Headers[2], m_Footers[2];
int m_HeaderHeight, m_FooterHeight;
wxHtmlDCRenderer *m_Renderer, *m_RendererHdr;
float m_MarginTop, m_MarginBottom, m_MarginLeft, m_MarginRight, m_MarginSpace;
DECLARE_NO_COPY_CLASS(wxHtmlPrintout)
};
//--------------------------------------------------------------------------------
// wxHtmlEasyPrinting
// This class provides very simple interface to printing
// architecture. It allows you to print HTML documents only
// with very few commands.
//
// Note : do not create this class on stack only.
// You should create an instance on app startup and
// use this instance for all printing. Why? The class
// stores page&printer settings in it.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlEasyPrinting : public wxObject
{
public:
wxHtmlEasyPrinting(const wxString& name = wxT("Printing"), wxFrame *parent_frame = NULL);
~wxHtmlEasyPrinting();
bool PreviewFile(const wxString &htmlfile);
bool PreviewText(const wxString &htmltext, const wxString& basepath = wxEmptyString);
// Preview file / html-text for printing
// (and offers printing)
// basepath is base directory for opening subsequent files (e.g. from <img> tag)
bool PrintFile(const wxString &htmlfile);
bool PrintText(const wxString &htmltext, const wxString& basepath = wxEmptyString);
// Print file / html-text w/o preview
void PrinterSetup();
void PageSetup();
// pop up printer or page setup dialog
void SetHeader(const wxString& header, int pg = wxPAGE_ALL);
void SetFooter(const wxString& footer, int pg = wxPAGE_ALL);
// sets header/footer for the document. The argument is interpreted as HTML document.
// You can use macros in it:
// @PAGENUM@ is replaced by page number
// @PAGESCNT@ is replaced by total number of pages
//
// pg is one of wxPAGE_ODD, wxPAGE_EVEN and wx_PAGE_ALL constants.
// You can set different header/footer for odd and even pages
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = 0);
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used)
wxPrintData *GetPrintData() {return m_PrintData;}
wxPageSetupDialogData *GetPageSetupData() {return m_PageSetupData;}
// return page setting data objects.
// (You can set their parameters.)
protected:
virtual wxHtmlPrintout *CreatePrintout();
virtual bool DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *printout2);
virtual bool DoPrint(wxHtmlPrintout *printout);
private:
wxPrintData *m_PrintData;
wxPageSetupDialogData *m_PageSetupData;
wxString m_Name;
int m_FontsSizesArr[7];
int *m_FontsSizes;
wxString m_FontFaceFixed, m_FontFaceNormal;
wxString m_Headers[2], m_Footers[2];
wxFrame *m_Frame;
DECLARE_NO_COPY_CLASS(wxHtmlEasyPrinting)
};
#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE
#endif // _WX_HTMPRINT_H_

84
include/wx/html/m_templ.h Normal file
View File

@@ -0,0 +1,84 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_templ.h
// Purpose: Modules template file
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/*
DESCRIPTION:
This is set of macros for easier writing of tag handlers. How to use it?
See mod_fonts.cpp for example...
Attention! This is quite strange C++ bastard. Before using it,
I STRONGLY recommend reading and understanding these macros!!
*/
#ifndef _WX_M_TEMPL_H_
#define _WX_M_TEMPL_H_
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/html/winpars.h"
#define TAG_HANDLER_BEGIN(name,tags) \
class HTML_Handler_##name : public wxHtmlWinTagHandler \
{ \
public: \
wxString GetSupportedTags() {return wxT(tags);}
#define TAG_HANDLER_VARS \
private:
#define TAG_HANDLER_CONSTR(name) \
public: \
HTML_Handler_##name () : wxHtmlWinTagHandler()
#define TAG_HANDLER_PROC(varib) \
public: \
bool HandleTag(const wxHtmlTag& varib)
#define TAG_HANDLER_END(name) \
};
#define TAGS_MODULE_BEGIN(name) \
class HTML_Module##name : public wxHtmlTagsModule \
{ \
DECLARE_DYNAMIC_CLASS(HTML_Module##name ) \
public: \
void FillHandlersTable(wxHtmlWinParser *parser) \
{
#define TAGS_MODULE_ADD(handler) \
parser->AddTagHandler(new HTML_Handler_##handler);
#define TAGS_MODULE_END(name) \
} \
}; \
IMPLEMENT_DYNAMIC_CLASS(HTML_Module##name , wxHtmlTagsModule)
#endif
#endif

252
include/wx/html/winpars.h Normal file
View File

@@ -0,0 +1,252 @@
/////////////////////////////////////////////////////////////////////////////
// Name: winpars.h
// Purpose: wxHtmlWinParser class (parser to be used with wxHtmlWindow)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WINPARS_H_
#define _WX_WINPARS_H_
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "winpars.h"
#endif
#include "wx/defs.h"
#if wxUSE_HTML
#include "wx/module.h"
#include "wx/font.h"
#include "wx/html/htmlpars.h"
#include "wx/html/htmlcell.h"
#include "wx/encconv.h"
class WXDLLEXPORT wxHtmlWindow;
class WXDLLEXPORT wxHtmlWinParser;
class WXDLLEXPORT wxHtmlWinTagHandler;
class WXDLLEXPORT wxHtmlTagsModule;
//--------------------------------------------------------------------------------
// wxHtmlWinParser
// This class is derived from wxHtmlParser and its mail goal
// is to parse HTML input so that it can be displayed in
// wxHtmlWindow. It uses special wxHtmlWinTagHandler.
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlWinParser : public wxHtmlParser
{
friend class wxHtmlWindow;
public:
wxHtmlWinParser(wxHtmlWindow *wnd = NULL);
~wxHtmlWinParser();
virtual void InitParser(const wxString& source);
virtual void DoneParser();
virtual wxObject* GetProduct();
virtual wxFSFile *OpenURL(wxHtmlURLType type, const wxString& url) const;
// Set's the DC used for parsing. If SetDC() is not called,
// parsing won't proceed
virtual void SetDC(wxDC *dc, double pixel_scale = 1.0)
{ m_DC = dc; m_PixelScale = pixel_scale; }
wxDC *GetDC() {return m_DC;}
double GetPixelScale() {return m_PixelScale;}
int GetCharHeight() const {return m_CharHeight;}
int GetCharWidth() const {return m_CharWidth;}
// NOTE : these functions do _not_ return _actual_
// height/width. They return h/w of default font
// for this DC. If you want actual values, call
// GetDC()->GetChar...()
// returns associated wxWindow
wxHtmlWindow *GetWindow() {return m_Window;}
// Sets fonts to be used when displaying HTML page. (if size null then default sizes used).
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes = NULL);
// Adds tags module. see wxHtmlTagsModule for details.
static void AddModule(wxHtmlTagsModule *module);
static void RemoveModule(wxHtmlTagsModule *module);
// parsing-related methods. These methods are called by tag handlers:
// Returns pointer to actual container. Common use in tag handler is :
// m_WParser->GetContainer()->InsertCell(new ...);
wxHtmlContainerCell *GetContainer() const {return m_Container;}
// opens new container. This container is sub-container of opened
// container. Sets GetContainer to newly created container
// and returns it.
wxHtmlContainerCell *OpenContainer();
// works like OpenContainer except that new container is not created
// but c is used. You can use this to directly set actual container
wxHtmlContainerCell *SetContainer(wxHtmlContainerCell *c);
// closes the container and sets actual Container to upper-level
// container
wxHtmlContainerCell *CloseContainer();
int GetFontSize() const {return m_FontSize;}
void SetFontSize(int s);
int GetFontBold() const {return m_FontBold;}
void SetFontBold(int x) {m_FontBold = x;}
int GetFontItalic() const {return m_FontItalic;}
void SetFontItalic(int x) {m_FontItalic = x;}
int GetFontUnderlined() const {return m_FontUnderlined;}
void SetFontUnderlined(int x) {m_FontUnderlined = x;}
int GetFontFixed() const {return m_FontFixed;}
void SetFontFixed(int x) {m_FontFixed = x;}
wxString GetFontFace() const {return GetFontFixed() ? m_FontFaceFixed : m_FontFaceNormal;}
void SetFontFace(const wxString& face);
int GetAlign() const {return m_Align;}
void SetAlign(int a) {m_Align = a;}
const wxColour& GetLinkColor() const { return m_LinkColor; }
void SetLinkColor(const wxColour& clr) { m_LinkColor = clr; }
const wxColour& GetActualColor() const { return m_ActualColor; }
void SetActualColor(const wxColour& clr) { m_ActualColor = clr ;}
const wxHtmlLinkInfo& GetLink() const { return m_Link; }
void SetLink(const wxHtmlLinkInfo& link);
#if !wxUSE_UNICODE
void SetInputEncoding(wxFontEncoding enc);
wxFontEncoding GetInputEncoding() const { return m_InputEnc; }
wxFontEncoding GetOutputEncoding() const { return m_OutputEnc; }
wxEncodingConverter *GetEncodingConverter() const { return m_EncConv; }
#endif
// creates font depending on m_Font* members.
virtual wxFont* CreateCurrentFont();
protected:
virtual void AddText(const wxChar* txt);
private:
bool m_tmpLastWasSpace;
wxChar *m_tmpStrBuf;
size_t m_tmpStrBufSize;
// temporary variables used by AddText
wxHtmlWindow *m_Window;
// window we're parsing for
double m_PixelScale;
wxDC *m_DC;
// Device Context we're parsing for
static wxList m_Modules;
// list of tags modules (see wxHtmlTagsModule for details)
// This list is used to initialize m_Handlers member.
wxHtmlContainerCell *m_Container;
// actual container. See Open/CloseContainer for details.
int m_FontBold, m_FontItalic, m_FontUnderlined, m_FontFixed; // this is not TRUE,FALSE but 1,0, we need it for indexing
int m_FontSize; /* -2 to +4, 0 is default */
wxColour m_LinkColor;
wxColour m_ActualColor;
// basic font parameters.
wxHtmlLinkInfo m_Link;
// actual hypertext link or empty string
bool m_UseLink;
// TRUE if m_Link is not empty
long m_CharHeight, m_CharWidth;
// average height of normal-sized text
int m_Align;
// actual alignment
wxFont* m_FontsTable[2][2][2][2][7];
wxString m_FontsFacesTable[2][2][2][2][7];
#if !wxUSE_UNICODE
wxFontEncoding m_FontsEncTable[2][2][2][2][7];
#endif
// table of loaded fonts. 1st four indexes are 0 or 1, depending on on/off
// state of these flags (from left to right):
// [bold][italic][underlined][fixed_size]
// last index is font size : from 0 to 6 (remapped from html sizes 1 to 7)
// Note : this table covers all possible combinations of fonts, but not
// all of them are used, so many items in table are usually NULL.
int m_FontsSizes[7];
wxString m_FontFaceFixed, m_FontFaceNormal;
// html font sizes and faces of fixed and proportional fonts
DECLARE_NO_COPY_CLASS(wxHtmlWinParser)
#if !wxUSE_UNICODE
wxFontEncoding m_InputEnc, m_OutputEnc;
// I/O font encodings
wxEncodingConverter *m_EncConv;
#endif
};
//--------------------------------------------------------------------------------
// wxHtmlWinTagHandler
// This is basicly wxHtmlTagHandler except
// it is extended with protected member m_Parser pointing to
// the wxHtmlWinParser object
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlWinTagHandler : public wxHtmlTagHandler
{
DECLARE_ABSTRACT_CLASS(wxHtmlWinTagHandler)
public:
wxHtmlWinTagHandler() : wxHtmlTagHandler() {};
virtual void SetParser(wxHtmlParser *parser) {wxHtmlTagHandler::SetParser(parser); m_WParser = (wxHtmlWinParser*) parser;};
protected:
wxHtmlWinParser *m_WParser; // same as m_Parser, but overcasted
DECLARE_NO_COPY_CLASS(wxHtmlWinTagHandler)
};
//--------------------------------------------------------------------------------
// wxHtmlTagsModule
// This is basic of dynamic tag handlers binding.
// The class provides methods for filling parser's handlers
// hash table.
// (See documentation for details)
//--------------------------------------------------------------------------------
class WXDLLEXPORT wxHtmlTagsModule : public wxModule
{
DECLARE_DYNAMIC_CLASS(wxHtmlTagsModule)
public:
wxHtmlTagsModule() : wxModule() {};
virtual bool OnInit();
virtual void OnExit();
// This is called by wxHtmlWinParser.
// The method must simply call parser->AddTagHandler(new <handler_class_name>);
// for each handler
virtual void FillHandlersTable(wxHtmlWinParser * WXUNUSED(parser)) { }
};
#endif
#endif // _WX_WINPARS_H_

331
src/html/helpctrl.cpp Normal file
View File

@@ -0,0 +1,331 @@
/////////////////////////////////////////////////////////////////////////////
// Name: helpctrl.cpp
// 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
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "helpctrl.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#if wxUSE_WXHTML_HELP
#ifndef WX_PRECOMP
#include "wx/app.h"
#include "wx/intl.h"
#endif // WX_PRECOMP
#include "wx/html/helpctrl.h"
#include "wx/busyinfo.h"
#ifdef __WXGTK__
// for the hack in AddGrabIfNeeded()
#include "wx/dialog.h"
#endif // __WXGTK__
#if wxUSE_HELP
#include "wx/tipwin.h"
#endif
IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpController, wxHelpControllerBase)
wxHtmlHelpController::wxHtmlHelpController(int style)
{
m_helpFrame = NULL;
m_Config = NULL;
m_ConfigRoot = wxEmptyString;
m_titleFormat = _("Help: %s");
m_FrameStyle = style;
}
wxHtmlHelpController::~wxHtmlHelpController()
{
if (m_Config)
WriteCustomization(m_Config, m_ConfigRoot);
if (m_helpFrame)
DestroyHelpWindow();
}
void wxHtmlHelpController::DestroyHelpWindow()
{
//if (m_Config) WriteCustomization(m_Config, m_ConfigRoot);
if (m_helpFrame)
m_helpFrame->Destroy();
}
void wxHtmlHelpController::OnCloseFrame(wxCloseEvent& evt)
{
evt.Skip();
OnQuit();
m_helpFrame->SetController((wxHelpControllerBase*) NULL);
m_helpFrame = NULL;
}
void wxHtmlHelpController::SetTitleFormat(const wxString& title)
{
m_titleFormat = title;
if (m_helpFrame)
m_helpFrame->SetTitleFormat(title);
}
bool wxHtmlHelpController::AddBook(const wxFileName& book_file, bool show_wait_msg)
{
return AddBook(wxFileSystem::FileNameToURL(book_file), show_wait_msg);
}
bool wxHtmlHelpController::AddBook(const wxString& book, bool show_wait_msg)
{
wxBusyCursor cur;
#if wxUSE_BUSYINFO
wxBusyInfo* busy = NULL;
wxString info;
if (show_wait_msg)
{
info.Printf(_("Adding book %s"), book.c_str());
busy = new wxBusyInfo(info);
}
#endif
bool retval = m_helpData.AddBook(book);
#if wxUSE_BUSYINFO
if (show_wait_msg)
delete busy;
#endif
if (m_helpFrame)
m_helpFrame->RefreshLists();
return retval;
}
wxHtmlHelpFrame *wxHtmlHelpController::CreateHelpFrame(wxHtmlHelpData *data)
{
return new wxHtmlHelpFrame(data);
}
void wxHtmlHelpController::CreateHelpWindow()
{
if (m_helpFrame)
{
m_helpFrame->Raise();
return ;
}
if (m_Config == NULL)
{
m_Config = wxConfigBase::Get(FALSE);
if (m_Config != NULL)
m_ConfigRoot = _T("wxWindows/wxHtmlHelpController");
}
m_helpFrame = CreateHelpFrame(&m_helpData);
m_helpFrame->SetController(this);
if (m_Config)
m_helpFrame->UseConfig(m_Config, m_ConfigRoot);
m_helpFrame->Create(NULL, wxID_HTML_HELPFRAME, wxEmptyString, m_FrameStyle);
m_helpFrame->SetTitleFormat(m_titleFormat);
m_helpFrame->Show(TRUE);
}
void wxHtmlHelpController::ReadCustomization(wxConfigBase* cfg, const wxString& path)
{
/* should not be called by the user; call UseConfig, and the controller
* will do the rest */
if (m_helpFrame && cfg)
m_helpFrame->ReadCustomization(cfg, path);
}
void wxHtmlHelpController::WriteCustomization(wxConfigBase* cfg, const wxString& path)
{
/* typically called by the controllers OnCloseFrame handler */
if (m_helpFrame && cfg)
m_helpFrame->WriteCustomization(cfg, path);
}
void wxHtmlHelpController::UseConfig(wxConfigBase *config, const wxString& rootpath)
{
m_Config = config;
m_ConfigRoot = rootpath;
if (m_helpFrame) m_helpFrame->UseConfig(config, rootpath);
ReadCustomization(config, rootpath);
}
//// Backward compatibility with wxHelpController API
bool wxHtmlHelpController::Initialize(const wxString& file)
{
wxString dir, filename, ext;
wxSplitPath(file, & dir, & filename, & ext);
if (!dir.IsEmpty())
dir = dir + wxFILE_SEP_PATH;
// Try to find a suitable file
wxString actualFilename = dir + filename + wxString(wxT(".zip"));
if (!wxFileExists(actualFilename))
{
actualFilename = dir + filename + wxString(wxT(".htb"));
if (!wxFileExists(actualFilename))
{
actualFilename = dir + filename + wxString(wxT(".hhp"));
if (!wxFileExists(actualFilename))
return FALSE;
}
}
return AddBook(wxFileName(actualFilename));
}
bool wxHtmlHelpController::LoadFile(const wxString& WXUNUSED(file))
{
// Don't reload the file or we'll have it appear again, presumably.
return TRUE;
}
bool wxHtmlHelpController::DisplaySection(int sectionNo)
{
return Display(sectionNo);
}
bool wxHtmlHelpController::DisplayTextPopup(const wxString& text, const wxPoint& WXUNUSED(pos))
{
#if wxUSE_TIPWINDOW
static wxTipWindow* s_tipWindow = NULL;
if (s_tipWindow)
{
// Prevent s_tipWindow being nulled in OnIdle,
// thereby removing the chance for the window to be closed by ShowHelp
s_tipWindow->SetTipWindowPtr(NULL);
s_tipWindow->Close();
}
s_tipWindow = NULL;
if ( !text.empty() )
{
s_tipWindow = new wxTipWindow(wxTheApp->GetTopWindow(), text, 100, & s_tipWindow);
return TRUE;
}
#endif // wxUSE_TIPWINDOW
return FALSE;
}
void wxHtmlHelpController::SetFrameParameters(const wxString& title,
const wxSize& size,
const wxPoint& pos,
bool WXUNUSED(newFrameEachTime))
{
SetTitleFormat(title);
if (m_helpFrame)
{
m_helpFrame->SetSize(pos.x, pos.y, size.x, size.y);
}
}
wxFrame* wxHtmlHelpController::GetFrameParameters(wxSize *size,
wxPoint *pos,
bool *newFrameEachTime)
{
if (newFrameEachTime)
(* newFrameEachTime) = FALSE;
if (size && m_helpFrame)
(* size) = m_helpFrame->GetSize();
if (pos && m_helpFrame)
(* pos) = m_helpFrame->GetPosition();
return m_helpFrame;
}
bool wxHtmlHelpController::Quit()
{
DestroyHelpWindow();
return TRUE;
}
// Make the help controller's frame 'modal' if
// needed
void wxHtmlHelpController::AddGrabIfNeeded()
{
// So far, wxGTK only
#ifdef __WXGTK__
bool needGrab = FALSE;
// Check if there are any modal windows present,
// in which case we need to add a grab.
for ( wxWindowList::Node * node = wxTopLevelWindows.GetFirst();
node;
node = node->GetNext() )
{
wxWindow *win = node->GetData();
wxDialog *dialog = wxDynamicCast(win, wxDialog);
if (dialog && dialog->IsModal())
needGrab = TRUE;
}
if (needGrab && m_helpFrame)
m_helpFrame->AddGrab();
#endif // __WXGTK__
}
bool wxHtmlHelpController::Display(const wxString& x)
{
CreateHelpWindow();
bool success = m_helpFrame->Display(x);
AddGrabIfNeeded();
return success;
}
bool wxHtmlHelpController::Display(int id)
{
CreateHelpWindow();
bool success = m_helpFrame->Display(id);
AddGrabIfNeeded();
return success;
}
bool wxHtmlHelpController::DisplayContents()
{
CreateHelpWindow();
bool success = m_helpFrame->DisplayContents();
AddGrabIfNeeded();
return success;
}
bool wxHtmlHelpController::DisplayIndex()
{
CreateHelpWindow();
bool success = m_helpFrame->DisplayIndex();
AddGrabIfNeeded();
return success;
}
bool wxHtmlHelpController::KeywordSearch(const wxString& keyword)
{
CreateHelpWindow();
bool success = m_helpFrame->KeywordSearch(keyword);
AddGrabIfNeeded();
return success;
}
#endif // wxUSE_WXHTML_HELP

881
src/html/helpdata.cpp Normal file
View File

@@ -0,0 +1,881 @@
/////////////////////////////////////////////////////////////////////////////
// Name: helpdata.cpp
// 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
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "helpdata.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifndef WXPRECOMP
#include "wx/intl.h"
#include "wx/log.h"
#endif
#include <ctype.h>
#include "wx/html/helpdata.h"
#include "wx/tokenzr.h"
#include "wx/wfstream.h"
#include "wx/busyinfo.h"
#include "wx/encconv.h"
#include "wx/fontmap.h"
#include "wx/log.h"
#include "wx/html/htmlpars.h"
#include "wx/html/htmldefs.h"
#include "wx/html/htmlfilt.h"
#include "wx/filename.h"
#include "wx/arrimpl.cpp"
WX_DEFINE_OBJARRAY(wxHtmlBookRecArray)
//-----------------------------------------------------------------------------
// static helper functions
//-----------------------------------------------------------------------------
// Reads one line, stores it into buf and returns pointer to new line or NULL.
static const wxChar* ReadLine(const wxChar *line, wxChar *buf, size_t bufsize)
{
wxChar *writeptr = buf;
wxChar *endptr = buf + bufsize - 1;
const wxChar *readptr = line;
while (*readptr != 0 && *readptr != _T('\r') && *readptr != _T('\n') &&
writeptr != endptr)
*(writeptr++) = *(readptr++);
*writeptr = 0;
while (*readptr == _T('\r') || *readptr == _T('\n'))
readptr++;
if (*readptr == 0)
return NULL;
else
return readptr;
}
extern "C" int LINKAGEMODE
wxHtmlHelpIndexCompareFunc(const void *a, const void *b)
{
return wxStricmp(((wxHtmlContentsItem*)a)->m_Name, ((wxHtmlContentsItem*)b)->m_Name);
}
//-----------------------------------------------------------------------------
// HP_Parser
//-----------------------------------------------------------------------------
class HP_Parser : public wxHtmlParser
{
public:
wxObject* GetProduct() { return NULL; }
protected:
virtual void AddText(const wxChar* WXUNUSED(txt)) {}
};
//-----------------------------------------------------------------------------
// HP_TagHandler
//-----------------------------------------------------------------------------
class HP_TagHandler : public wxHtmlTagHandler
{
private:
wxString m_Name, m_Page;
int m_Level;
int m_ID;
int m_Index;
wxHtmlContentsItem *m_Items;
int m_ItemsCnt;
wxHtmlBookRecord *m_Book;
public:
HP_TagHandler(wxHtmlBookRecord *b) : wxHtmlTagHandler()
{ m_Book = b; m_Items = NULL; m_ItemsCnt = 0; m_Name = m_Page = wxEmptyString;
m_Level = 0; m_ID = -1; }
wxString GetSupportedTags() { return wxT("UL,OBJECT,PARAM"); }
bool HandleTag(const wxHtmlTag& tag);
void WriteOut(wxHtmlContentsItem*& array, int& size);
void ReadIn(wxHtmlContentsItem* array, int size);
DECLARE_NO_COPY_CLASS(HP_TagHandler)
};
bool HP_TagHandler::HandleTag(const wxHtmlTag& tag)
{
if (tag.GetName() == wxT("UL"))
{
m_Level++;
ParseInner(tag);
m_Level--;
return TRUE;
}
else if (tag.GetName() == wxT("OBJECT"))
{
m_Name = m_Page = wxEmptyString;
ParseInner(tag);
#if 0
if (!m_Page.IsEmpty())
/* Valid HHW's file may contain only two object tags:
<OBJECT type="text/site properties">
<param name="ImageType" value="Folder">
</OBJECT>
or
<OBJECT type="text/sitemap">
<param name="Name" value="main page">
<param name="Local" value="another.htm">
</OBJECT>
We're interested in the latter. !m_Page.IsEmpty() is valid
condition because text/site properties does not contain Local param
*/
#endif
if (tag.GetParam(wxT("TYPE")) == wxT("text/sitemap"))
{
if (m_ItemsCnt % wxHTML_REALLOC_STEP == 0)
m_Items = (wxHtmlContentsItem*) realloc(m_Items,
(m_ItemsCnt + wxHTML_REALLOC_STEP) *
sizeof(wxHtmlContentsItem));
m_Items[m_ItemsCnt].m_Level = m_Level;
m_Items[m_ItemsCnt].m_ID = m_ID;
m_Items[m_ItemsCnt].m_Page = new wxChar[m_Page.Length() + 1];
wxStrcpy(m_Items[m_ItemsCnt].m_Page, m_Page.c_str());
m_Items[m_ItemsCnt].m_Name = new wxChar [m_Name.Length() + 1];
wxStrcpy(m_Items[m_ItemsCnt].m_Name, m_Name.c_str());
m_Items[m_ItemsCnt].m_Book = m_Book;
m_ItemsCnt++;
}
return TRUE;
}
else
{ // "PARAM"
if (m_Name == wxEmptyString && tag.GetParam(wxT("NAME")) == wxT("Name"))
m_Name = tag.GetParam(wxT("VALUE"));
if (tag.GetParam(wxT("NAME")) == wxT("Local"))
m_Page = tag.GetParam(wxT("VALUE"));
if (tag.GetParam(wxT("NAME")) == wxT("ID"))
tag.GetParamAsInt(wxT("VALUE"), &m_ID);
return FALSE;
}
}
void HP_TagHandler::WriteOut(wxHtmlContentsItem*& array, int& size)
{
array = m_Items;
size = m_ItemsCnt;
m_Items = NULL;
m_ItemsCnt = 0;
}
void HP_TagHandler::ReadIn(wxHtmlContentsItem* array, int size)
{
m_Items = array;
m_ItemsCnt = size;
}
//-----------------------------------------------------------------------------
// wxHtmlHelpData
//-----------------------------------------------------------------------------
wxString wxHtmlBookRecord::GetFullPath(const wxString &page) const
{
if (wxIsAbsolutePath(page))
return page;
else
return m_BasePath + page;
}
IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpData, wxObject)
wxHtmlHelpData::wxHtmlHelpData()
{
m_TempPath = wxEmptyString;
m_Contents = NULL;
m_ContentsCnt = 0;
m_Index = NULL;
m_IndexCnt = 0;
}
wxHtmlHelpData::~wxHtmlHelpData()
{
int i;
m_BookRecords.Empty();
if (m_Contents)
{
for (i = 0; i < m_ContentsCnt; i++)
{
delete[] m_Contents[i].m_Page;
delete[] m_Contents[i].m_Name;
}
free(m_Contents);
}
if (m_Index)
{
for (i = 0; i < m_IndexCnt; i++)
{
delete[] m_Index[i].m_Page;
delete[] m_Index[i].m_Name;
}
free(m_Index);
}
}
bool wxHtmlHelpData::LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys, const wxString& indexfile, const wxString& contentsfile)
{
wxFSFile *f;
wxHtmlFilterHTML filter;
wxString buf;
wxString string;
HP_Parser parser;
HP_TagHandler *handler = new HP_TagHandler(book);
parser.AddTagHandler(handler);
f = ( contentsfile.IsEmpty() ? (wxFSFile*) NULL : fsys.OpenFile(contentsfile) );
if (f)
{
buf.clear();
buf = filter.ReadFile(*f);
delete f;
handler->ReadIn(m_Contents, m_ContentsCnt);
parser.Parse(buf);
handler->WriteOut(m_Contents, m_ContentsCnt);
}
else
{
wxLogError(_("Cannot open contents file: %s"), contentsfile.c_str());
}
f = ( indexfile.IsEmpty() ? (wxFSFile*) NULL : fsys.OpenFile(indexfile) );
if (f)
{
buf.clear();
buf = filter.ReadFile(*f);
delete f;
handler->ReadIn(m_Index, m_IndexCnt);
parser.Parse(buf);
handler->WriteOut(m_Index, m_IndexCnt);
}
else if (!indexfile.IsEmpty())
{
wxLogError(_("Cannot open index file: %s"), indexfile.c_str());
}
return TRUE;
}
inline static void CacheWriteInt32(wxOutputStream *f, wxInt32 value)
{
wxInt32 x = wxINT32_SWAP_ON_BE(value);
f->Write(&x, sizeof(x));
}
inline static wxInt32 CacheReadInt32(wxInputStream *f)
{
wxInt32 x;
f->Read(&x, sizeof(x));
return wxINT32_SWAP_ON_BE(x);
}
inline static void CacheWriteString(wxOutputStream *f, const wxChar *str)
{
#if wxUSE_UNICODE
wxWX2MBbuf mbstr(wxConvUTF8.cWX2MB(str));
#else
const wxChar *mbstr = str;
#endif
size_t len = strlen(mbstr)+1;
CacheWriteInt32(f, len);
f->Write(mbstr, len);
}
inline static wxChar* CacheReadString(wxInputStream *f)
{
char *str;
size_t len = (size_t)CacheReadInt32(f);
str = new char[len];
f->Read(str, len);
#if !wxUSE_UNICODE
return str;
#else
wxMB2WXbuf wxstr(wxConvUTF8.cMB2WX(str));
wxChar *outstr = new wxChar[wxStrlen(wxstr)+1];
wxStrcpy(outstr, wxstr);
return outstr;
#endif
}
#define CURRENT_CACHED_BOOK_VERSION 4
// Additional flags to detect incompatibilities of the runtime environment:
#define CACHED_BOOK_FORMAT_FLAGS \
(wxUSE_UNICODE << 0)
bool wxHtmlHelpData::LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f)
{
int i, st;
wxInt32 version;
/* load header - version info : */
version = CacheReadInt32(f);
if (version != CURRENT_CACHED_BOOK_VERSION)
{
// NB: We can just silently return FALSE here and don't worry about
// it anymore, because AddBookParam will load the MS project in
// absence of (properly versioned) .cached file and automatically
// create new .cached file immediately afterward.
return FALSE;
}
if (CacheReadInt32(f) != CACHED_BOOK_FORMAT_FLAGS)
return FALSE;
/* load contents : */
st = m_ContentsCnt;
m_ContentsCnt += CacheReadInt32(f);
m_Contents = (wxHtmlContentsItem*) realloc(m_Contents,
(m_ContentsCnt / wxHTML_REALLOC_STEP + 1) *
wxHTML_REALLOC_STEP * sizeof(wxHtmlContentsItem));
for (i = st; i < m_ContentsCnt; i++)
{
m_Contents[i].m_Level = CacheReadInt32(f);
m_Contents[i].m_ID = CacheReadInt32(f);
m_Contents[i].m_Name = CacheReadString(f);
m_Contents[i].m_Page = CacheReadString(f);
m_Contents[i].m_Book = book;
}
/* load index : */
st = m_IndexCnt;
m_IndexCnt += CacheReadInt32(f);
m_Index = (wxHtmlContentsItem*) realloc(m_Index, (m_IndexCnt / wxHTML_REALLOC_STEP + 1) *
wxHTML_REALLOC_STEP * sizeof(wxHtmlContentsItem));
for (i = st; i < m_IndexCnt; i++)
{
m_Index[i].m_Name = CacheReadString(f);
m_Index[i].m_Page = CacheReadString(f);
m_Index[i].m_Book = book;
}
return TRUE;
}
bool wxHtmlHelpData::SaveCachedBook(wxHtmlBookRecord *book, wxOutputStream *f)
{
int i;
wxInt32 cnt;
/* save header - version info : */
CacheWriteInt32(f, CURRENT_CACHED_BOOK_VERSION);
CacheWriteInt32(f, CACHED_BOOK_FORMAT_FLAGS);
/* save contents : */
for (cnt = 0, i = 0; i < m_ContentsCnt; i++)
if (m_Contents[i].m_Book == book && m_Contents[i].m_Level > 0)
cnt++;
CacheWriteInt32(f, cnt);
for (i = 0; i < m_ContentsCnt; i++)
{
if (m_Contents[i].m_Book != book || m_Contents[i].m_Level == 0)
continue;
CacheWriteInt32(f, m_Contents[i].m_Level);
CacheWriteInt32(f, m_Contents[i].m_ID);
CacheWriteString(f, m_Contents[i].m_Name);
CacheWriteString(f, m_Contents[i].m_Page);
}
/* save index : */
for (cnt = 0, i = 0; i < m_IndexCnt; i++)
if (m_Index[i].m_Book == book && m_Index[i].m_Level > 0)
cnt++;
CacheWriteInt32(f, cnt);
for (i = 0; i < m_IndexCnt; i++)
{
if (m_Index[i].m_Book != book || m_Index[i].m_Level == 0)
continue;
CacheWriteString(f, m_Index[i].m_Name);
CacheWriteString(f, m_Index[i].m_Page);
}
return TRUE;
}
void wxHtmlHelpData::SetTempDir(const wxString& path)
{
if (path == wxEmptyString) m_TempPath = path;
else
{
if (wxIsAbsolutePath(path)) m_TempPath = path;
else m_TempPath = wxGetCwd() + _T("/") + path;
if (m_TempPath[m_TempPath.Length() - 1] != _T('/'))
m_TempPath << _T('/');
}
}
static wxString SafeFileName(const wxString& s)
{
wxString res(s);
res.Replace(wxT("#"), wxT("_"));
res.Replace(wxT(":"), wxT("_"));
res.Replace(wxT("\\"), wxT("_"));
res.Replace(wxT("/"), wxT("_"));
return res;
}
bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile,
wxFontEncoding encoding,
const wxString& title, const wxString& contfile,
const wxString& indexfile, const wxString& deftopic,
const wxString& path)
{
wxFileSystem fsys;
wxFSFile *fi;
wxHtmlBookRecord *bookr;
int IndexOld = m_IndexCnt,
ContentsOld = m_ContentsCnt;
if (!path.IsEmpty())
fsys.ChangePathTo(path, TRUE);
size_t booksCnt = m_BookRecords.GetCount();
for (size_t i = 0; i < booksCnt; i++)
{
if ( m_BookRecords[i].GetBookFile() == bookfile.GetLocation() )
return TRUE; // book is (was) loaded
}
bookr = new wxHtmlBookRecord(bookfile.GetLocation(), fsys.GetPath(), title, deftopic);
if (m_ContentsCnt % wxHTML_REALLOC_STEP == 0)
m_Contents = (wxHtmlContentsItem*) realloc(m_Contents, (m_ContentsCnt + wxHTML_REALLOC_STEP) * sizeof(wxHtmlContentsItem));
m_Contents[m_ContentsCnt].m_Level = 0;
m_Contents[m_ContentsCnt].m_ID = 0;
m_Contents[m_ContentsCnt].m_Page = new wxChar[deftopic.Length() + 1];
wxStrcpy(m_Contents[m_ContentsCnt].m_Page, deftopic.c_str());
m_Contents[m_ContentsCnt].m_Name = new wxChar [title.Length() + 1];
wxStrcpy(m_Contents[m_ContentsCnt].m_Name, title.c_str());
m_Contents[m_ContentsCnt].m_Book = bookr;
// store the contents index for later
int cont_start = m_ContentsCnt++;
// Try to find cached binary versions:
// 1. save file as book, but with .hhp.cached extension
// 2. same as 1. but in temp path
// 3. otherwise or if cache load failed, load it from MS.
fi = fsys.OpenFile(bookfile.GetLocation() + wxT(".cached"));
if (fi == NULL ||
#if wxUSE_DATETIME
fi->GetModificationTime() < bookfile.GetModificationTime() ||
#endif // wxUSE_DATETIME
!LoadCachedBook(bookr, fi->GetStream()))
{
if (fi != NULL) delete fi;
fi = fsys.OpenFile(m_TempPath + wxFileNameFromPath(bookfile.GetLocation()) + wxT(".cached"));
if (m_TempPath == wxEmptyString || fi == NULL ||
#if wxUSE_DATETIME
fi->GetModificationTime() < bookfile.GetModificationTime() ||
#endif // wxUSE_DATETIME
!LoadCachedBook(bookr, fi->GetStream()))
{
LoadMSProject(bookr, fsys, indexfile, contfile);
if (m_TempPath != wxEmptyString)
{
wxFileOutputStream *outs = new wxFileOutputStream(m_TempPath +
SafeFileName(wxFileNameFromPath(bookfile.GetLocation())) + wxT(".cached"));
SaveCachedBook(bookr, outs);
delete outs;
}
}
}
if (fi != NULL) delete fi;
// Now store the contents range
bookr->SetContentsRange(cont_start, m_ContentsCnt);
// Convert encoding, if neccessary:
if (encoding != wxFONTENCODING_SYSTEM)
{
wxFontEncodingArray a = wxEncodingConverter::GetPlatformEquivalents(encoding);
if (a.GetCount() != 0 && a[0] != encoding)
{
int i;
wxEncodingConverter conv;
conv.Init(encoding, a[0]);
for (i = IndexOld; i < m_IndexCnt; i++)
conv.Convert(m_Index[i].m_Name);
for (i = ContentsOld; i < m_ContentsCnt; i++)
conv.Convert(m_Contents[i].m_Name);
}
}
m_BookRecords.Add(bookr);
if (m_IndexCnt > 0)
qsort(m_Index, m_IndexCnt, sizeof(wxHtmlContentsItem), wxHtmlHelpIndexCompareFunc);
return TRUE;
}
bool wxHtmlHelpData::AddBook(const wxString& book)
{
if (book.Right(4).Lower() == wxT(".zip") ||
book.Right(4).Lower() == wxT(".htb") /*html book*/)
{
wxFileSystem fsys;
wxString s;
bool rt = FALSE;
s = fsys.FindFirst(book + wxT("#zip:") + wxT("*.hhp"), wxFILE);
while (!s.IsEmpty())
{
if (AddBook(s)) rt = TRUE;
s = fsys.FindNext();
}
return rt;
}
else
{
wxFSFile *fi;
wxFileSystem fsys;
wxString title = _("noname"),
safetitle,
start = wxEmptyString,
contents = wxEmptyString,
index = wxEmptyString,
charset = wxEmptyString;
fi = fsys.OpenFile(book);
if (fi == NULL)
{
wxLogError(_("Cannot open HTML help book: %s"), book.c_str());
return FALSE;
}
fsys.ChangePathTo(book);
const wxChar *lineptr;
wxChar linebuf[300];
wxString tmp;
wxHtmlFilterPlainText filter;
tmp = filter.ReadFile(*fi);
lineptr = tmp.c_str();
do
{
lineptr = ReadLine(lineptr, linebuf, 300);
for (wxChar *ch = linebuf; *ch != wxT('\0') && *ch != wxT('='); ch++)
*ch = tolower(*ch);
if (wxStrstr(linebuf, _T("title=")) == linebuf)
title = linebuf + wxStrlen(_T("title="));
if (wxStrstr(linebuf, _T("default topic=")) == linebuf)
start = linebuf + wxStrlen(_T("default topic="));
if (wxStrstr(linebuf, _T("index file=")) == linebuf)
index = linebuf + wxStrlen(_T("index file="));
if (wxStrstr(linebuf, _T("contents file=")) == linebuf)
contents = linebuf + wxStrlen(_T("contents file="));
if (wxStrstr(linebuf, _T("charset=")) == linebuf)
charset = linebuf + wxStrlen(_T("charset="));
} while (lineptr != NULL);
wxFontEncoding enc;
if (charset == wxEmptyString) enc = wxFONTENCODING_SYSTEM;
else enc = wxFontMapper::Get()->CharsetToEncoding(charset);
bool rtval = AddBookParam(*fi, enc,
title, contents, index, start, fsys.GetPath());
delete fi;
return rtval;
}
}
wxString wxHtmlHelpData::FindPageByName(const wxString& x)
{
int cnt;
int i;
wxFileSystem fsys;
wxFSFile *f;
wxString url(wxEmptyString);
/* 1. try to open given file: */
cnt = m_BookRecords.GetCount();
for (i = 0; i < cnt; i++)
{
f = fsys.OpenFile(m_BookRecords[i].GetFullPath(x));
if (f)
{
url = m_BookRecords[i].GetFullPath(x);
delete f;
return url;
}
}
/* 2. try to find a book: */
for (i = 0; i < cnt; i++)
{
if (m_BookRecords[i].GetTitle() == x)
{
url = m_BookRecords[i].GetFullPath(m_BookRecords[i].GetStart());
return url;
}
}
/* 3. try to find in contents: */
cnt = m_ContentsCnt;
for (i = 0; i < cnt; i++)
{
if (wxStrcmp(m_Contents[i].m_Name, x) == 0)
{
url = m_Contents[i].GetFullPath();
return url;
}
}
/* 4. try to find in index: */
cnt = m_IndexCnt;
for (i = 0; i < cnt; i++)
{
if (wxStrcmp(m_Index[i].m_Name, x) == 0)
{
url = m_Index[i].GetFullPath();
return url;
}
}
return url;
}
wxString wxHtmlHelpData::FindPageById(int id)
{
int i;
wxString url(wxEmptyString);
for (i = 0; i < m_ContentsCnt; i++)
{
if (m_Contents[i].m_ID == id)
{
url = m_Contents[i].GetFullPath();
return url;
}
}
return url;
}
//----------------------------------------------------------------------------------
// wxHtmlSearchStatus functions
//----------------------------------------------------------------------------------
wxHtmlSearchStatus::wxHtmlSearchStatus(wxHtmlHelpData* data, const wxString& keyword,
bool case_sensitive, bool whole_words_only,
const wxString& book)
{
m_Data = data;
m_Keyword = keyword;
wxHtmlBookRecord* bookr = NULL;
if (book != wxEmptyString)
{
// we have to search in a specific book. Find it first
int i, cnt = data->m_BookRecords.GetCount();
for (i = 0; i < cnt; i++)
if (data->m_BookRecords[i].GetTitle() == book)
{
bookr = &(data->m_BookRecords[i]);
m_CurIndex = bookr->GetContentsStart();
m_MaxIndex = bookr->GetContentsEnd();
break;
}
// check; we won't crash if the book doesn't exist, but it's Bad Anyway.
wxASSERT(bookr);
}
if (! bookr)
{
// no book specified; search all books
m_CurIndex = 0;
m_MaxIndex = m_Data->m_ContentsCnt;
}
m_Engine.LookFor(keyword, case_sensitive, whole_words_only);
m_Active = (m_CurIndex < m_MaxIndex);
m_LastPage = NULL;
}
bool wxHtmlSearchStatus::Search()
{
wxFSFile *file;
int i = m_CurIndex; // shortcut
bool found = FALSE;
wxChar *thepage;
if (!m_Active)
{
// sanity check. Illegal use, but we'll try to prevent a crash anyway
wxASSERT(m_Active);
return FALSE;
}
m_Name = wxEmptyString;
m_ContentsItem = NULL;
thepage = m_Data->m_Contents[i].m_Page;
m_Active = (++m_CurIndex < m_MaxIndex);
// check if it is same page with different anchor:
if (m_LastPage != NULL)
{
wxChar *p1, *p2;
for (p1 = thepage, p2 = m_LastPage;
*p1 != 0 && *p1 != _T('#') && *p1 == *p2; p1++, p2++) {}
m_LastPage = thepage;
if (*p1 == 0 || *p1 == _T('#'))
return FALSE;
}
else m_LastPage = thepage;
wxFileSystem fsys;
file = fsys.OpenFile(m_Data->m_Contents[i].m_Book->GetFullPath(thepage));
if (file)
{
if (m_Engine.Scan(*file))
{
m_Name = m_Data->m_Contents[i].m_Name;
m_ContentsItem = m_Data->m_Contents + i;
found = TRUE;
}
delete file;
}
return found;
}
//--------------------------------------------------------------------------------
// wxHtmlSearchEngine
//--------------------------------------------------------------------------------
void wxHtmlSearchEngine::LookFor(const wxString& keyword, bool case_sensitive, bool whole_words_only)
{
m_CaseSensitive = case_sensitive;
m_WholeWords = whole_words_only;
if (m_Keyword) delete[] m_Keyword;
m_Keyword = new wxChar[keyword.Length() + 1];
wxStrcpy(m_Keyword, keyword.c_str());
if (!m_CaseSensitive)
{
for (int i = wxStrlen(m_Keyword) - 1; i >= 0; i--)
{
if ((m_Keyword[i] >= wxT('A')) && (m_Keyword[i] <= wxT('Z')))
m_Keyword[i] += wxT('a') - wxT('A');
}
}
}
static inline bool WHITESPACE(wxChar c)
{
return c == _T(' ') || c == _T('\n') || c == _T('\r') || c == _T('\t');
}
bool wxHtmlSearchEngine::Scan(const wxFSFile& file)
{
wxASSERT_MSG(m_Keyword != NULL, wxT("wxHtmlSearchEngine::LookFor must be called before scanning!"));
int i, j;
int wrd = wxStrlen(m_Keyword);
bool found = FALSE;
wxHtmlFilterHTML filter;
wxString tmp = filter.ReadFile(file);
int lng = tmp.length();
const wxChar *buf = tmp.c_str();
if (!m_CaseSensitive)
for (i = 0; i < lng; i++)
tmp[(size_t)i] = (wxChar)wxTolower(tmp[(size_t)i]);
if (m_WholeWords)
{
for (i = 0; i < lng - wrd; i++)
{
if (WHITESPACE(buf[i])) continue;
j = 0;
while ((j < wrd) && (buf[i + j] == m_Keyword[j])) j++;
if (j == wrd && WHITESPACE(buf[i + j])) { found = TRUE; break; }
}
}
else
{
for (i = 0; i < lng - wrd; i++)
{
j = 0;
while ((j < wrd) && (buf[i + j] == m_Keyword[j])) j++;
if (j == wrd) { found = TRUE; break; }
}
}
return found;
}
#endif

1560
src/html/helpfrm.cpp Normal file

File diff suppressed because it is too large Load Diff

728
src/html/htmlcell.cpp Normal file
View File

@@ -0,0 +1,728 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlcell.cpp
// Purpose: wxHtmlCell - basic element of HTML output
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "htmlcell.h"
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/brush.h"
#include "wx/colour.h"
#include "wx/dc.h"
#endif
#include "wx/html/htmlcell.h"
#include "wx/html/htmlwin.h"
#include <stdlib.h>
//-----------------------------------------------------------------------------
// wxHtmlCell
//-----------------------------------------------------------------------------
wxHtmlCell::wxHtmlCell() : wxObject()
{
m_Next = NULL;
m_Parent = NULL;
m_Width = m_Height = m_Descent = 0;
m_CanLiveOnPagebreak = TRUE;
m_Link = NULL;
}
wxHtmlCell::~wxHtmlCell()
{
delete m_Link;
}
void wxHtmlCell::OnMouseClick(wxWindow *parent, int x, int y,
const wxMouseEvent& event)
{
wxHtmlLinkInfo *lnk = GetLink(x, y);
if (lnk != NULL)
{
wxHtmlLinkInfo lnk2(*lnk);
lnk2.SetEvent(&event);
lnk2.SetHtmlCell(this);
// note : this cast is legal because parent is *always* wxHtmlWindow
wxStaticCast(parent, wxHtmlWindow)->OnLinkClicked(lnk2);
}
}
bool wxHtmlCell::AdjustPagebreak(int *pagebreak, int* WXUNUSED(known_pagebreaks), int WXUNUSED(number_of_pages)) const
{
if ((!m_CanLiveOnPagebreak) &&
m_PosY < *pagebreak && m_PosY + m_Height > *pagebreak)
{
*pagebreak = m_PosY;
return TRUE;
}
return FALSE;
}
void wxHtmlCell::SetLink(const wxHtmlLinkInfo& link)
{
if (m_Link) delete m_Link;
m_Link = NULL;
if (link.GetHref() != wxEmptyString)
m_Link = new wxHtmlLinkInfo(link);
}
void wxHtmlCell::Layout(int WXUNUSED(w))
{
SetPos(0, 0);
}
void wxHtmlCell::GetHorizontalConstraints(int *left, int *right) const
{
if (left)
*left = m_PosX;
if (right)
*right = m_PosX + m_Width;
}
const wxHtmlCell* wxHtmlCell::Find(int WXUNUSED(condition), const void* WXUNUSED(param)) const
{
return NULL;
}
wxHtmlCell *wxHtmlCell::FindCellByPos(wxCoord x, wxCoord y) const
{
if ( x >= 0 && x < m_Width && y >= 0 && y < m_Height )
return wxConstCast(this, wxHtmlCell);
return NULL;
}
//-----------------------------------------------------------------------------
// wxHtmlWordCell
//-----------------------------------------------------------------------------
wxHtmlWordCell::wxHtmlWordCell(const wxString& word, wxDC& dc) : wxHtmlCell()
{
m_Word = word;
dc.GetTextExtent(m_Word, &m_Width, &m_Height, &m_Descent);
SetCanLiveOnPagebreak(FALSE);
}
void wxHtmlWordCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
dc.DrawText(m_Word, x + m_PosX, y + m_PosY);
}
//-----------------------------------------------------------------------------
// wxHtmlContainerCell
//-----------------------------------------------------------------------------
wxHtmlContainerCell::wxHtmlContainerCell(wxHtmlContainerCell *parent) : wxHtmlCell()
{
m_Cells = m_LastCell = NULL;
m_Parent = parent;
if (m_Parent) m_Parent->InsertCell(this);
m_AlignHor = wxHTML_ALIGN_LEFT;
m_AlignVer = wxHTML_ALIGN_BOTTOM;
m_IndentLeft = m_IndentRight = m_IndentTop = m_IndentBottom = 0;
m_WidthFloat = 100; m_WidthFloatUnits = wxHTML_UNITS_PERCENT;
m_UseBkColour = FALSE;
m_UseBorder = FALSE;
m_MinHeight = 0;
m_MinHeightAlign = wxHTML_ALIGN_TOP;
m_LastLayout = -1;
}
wxHtmlContainerCell::~wxHtmlContainerCell()
{
wxHtmlCell *cell = m_Cells;
while ( cell )
{
wxHtmlCell *cellNext = cell->GetNext();
delete cell;
cell = cellNext;
}
}
void wxHtmlContainerCell::SetIndent(int i, int what, int units)
{
int val = (units == wxHTML_UNITS_PIXELS) ? i : -i;
if (what & wxHTML_INDENT_LEFT) m_IndentLeft = val;
if (what & wxHTML_INDENT_RIGHT) m_IndentRight = val;
if (what & wxHTML_INDENT_TOP) m_IndentTop = val;
if (what & wxHTML_INDENT_BOTTOM) m_IndentBottom = val;
m_LastLayout = -1;
}
int wxHtmlContainerCell::GetIndent(int ind) const
{
if (ind & wxHTML_INDENT_LEFT) return m_IndentLeft;
else if (ind & wxHTML_INDENT_RIGHT) return m_IndentRight;
else if (ind & wxHTML_INDENT_TOP) return m_IndentTop;
else if (ind & wxHTML_INDENT_BOTTOM) return m_IndentBottom;
else return -1; /* BUG! Should not be called... */
}
int wxHtmlContainerCell::GetIndentUnits(int ind) const
{
bool p = FALSE;
if (ind & wxHTML_INDENT_LEFT) p = m_IndentLeft < 0;
else if (ind & wxHTML_INDENT_RIGHT) p = m_IndentRight < 0;
else if (ind & wxHTML_INDENT_TOP) p = m_IndentTop < 0;
else if (ind & wxHTML_INDENT_BOTTOM) p = m_IndentBottom < 0;
if (p) return wxHTML_UNITS_PERCENT;
else return wxHTML_UNITS_PIXELS;
}
bool wxHtmlContainerCell::AdjustPagebreak(int *pagebreak, int* known_pagebreaks, int number_of_pages) const
{
if (!m_CanLiveOnPagebreak)
return wxHtmlCell::AdjustPagebreak(pagebreak, known_pagebreaks, number_of_pages);
else
{
wxHtmlCell *c = GetFirstCell();
bool rt = FALSE;
int pbrk = *pagebreak - m_PosY;
while (c)
{
if (c->AdjustPagebreak(&pbrk, known_pagebreaks, number_of_pages))
rt = TRUE;
c = c->GetNext();
}
if (rt)
*pagebreak = pbrk + m_PosY;
return rt;
}
}
void wxHtmlContainerCell::Layout(int w)
{
wxHtmlCell::Layout(w);
if (m_LastLayout == w) return;
// VS: Any attempt to layout with negative or zero width leads to hell,
// but we can't ignore such attempts completely, since it sometimes
// happen (e.g. when trying how small a table can be). The best thing we
// can do is to set the width of child cells to zero
if (w < 1)
{
m_Width = 0;
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
cell->Layout(0);
// this does two things: it recursively calls this code on all
// child contrainers and resets children's position to (0,0)
return;
}
wxHtmlCell *cell = m_Cells, *line = m_Cells;
long xpos = 0, ypos = m_IndentTop;
int xdelta = 0, ybasicpos = 0, ydiff;
int s_width, s_indent;
int ysizeup = 0, ysizedown = 0;
int MaxLineWidth = 0;
int xcnt = 0;
/*
WIDTH ADJUSTING :
*/
if (m_WidthFloatUnits == wxHTML_UNITS_PERCENT)
{
if (m_WidthFloat < 0) m_Width = (100 + m_WidthFloat) * w / 100;
else m_Width = m_WidthFloat * w / 100;
}
else
{
if (m_WidthFloat < 0) m_Width = w + m_WidthFloat;
else m_Width = m_WidthFloat;
}
if (m_Cells)
{
int l = (m_IndentLeft < 0) ? (-m_IndentLeft * m_Width / 100) : m_IndentLeft;
int r = (m_IndentRight < 0) ? (-m_IndentRight * m_Width / 100) : m_IndentRight;
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
cell->Layout(m_Width - (l + r));
}
/*
LAYOUTING :
*/
// adjust indentation:
s_indent = (m_IndentLeft < 0) ? (-m_IndentLeft * m_Width / 100) : m_IndentLeft;
s_width = m_Width - s_indent - ((m_IndentRight < 0) ? (-m_IndentRight * m_Width / 100) : m_IndentRight);
// my own layouting:
while (cell != NULL)
{
switch (m_AlignVer)
{
case wxHTML_ALIGN_TOP : ybasicpos = 0; break;
case wxHTML_ALIGN_BOTTOM : ybasicpos = - cell->GetHeight(); break;
case wxHTML_ALIGN_CENTER : ybasicpos = - cell->GetHeight() / 2; break;
}
ydiff = cell->GetHeight() + ybasicpos;
if (cell->GetDescent() + ydiff > ysizedown) ysizedown = cell->GetDescent() + ydiff;
if (ybasicpos + cell->GetDescent() < -ysizeup) ysizeup = - (ybasicpos + cell->GetDescent());
cell->SetPos(xpos, ybasicpos + cell->GetDescent());
xpos += cell->GetWidth();
cell = cell->GetNext();
xcnt++;
// force new line if occured:
if ((cell == NULL) || (xpos + cell->GetWidth() > s_width))
{
if (xpos > MaxLineWidth) MaxLineWidth = xpos;
if (ysizeup < 0) ysizeup = 0;
if (ysizedown < 0) ysizedown = 0;
switch (m_AlignHor) {
case wxHTML_ALIGN_LEFT :
case wxHTML_ALIGN_JUSTIFY :
xdelta = 0;
break;
case wxHTML_ALIGN_RIGHT :
xdelta = 0 + (s_width - xpos);
break;
case wxHTML_ALIGN_CENTER :
xdelta = 0 + (s_width - xpos) / 2;
break;
}
if (xdelta < 0) xdelta = 0;
xdelta += s_indent;
ypos += ysizeup;
if (m_AlignHor != wxHTML_ALIGN_JUSTIFY || cell == NULL)
while (line != cell)
{
line->SetPos(line->GetPosX() + xdelta,
ypos + line->GetPosY());
line = line->GetNext();
}
else
{
int counter = 0;
int step = (s_width - xpos);
if (step < 0) step = 0;
xcnt--;
if (xcnt > 0) while (line != cell)
{
line->SetPos(line->GetPosX() + s_indent +
(counter++ * step / xcnt),
ypos + line->GetPosY());
line = line->GetNext();
}
xcnt++;
}
ypos += ysizedown;
xpos = xcnt = 0;
ysizeup = ysizedown = 0;
line = cell;
}
}
// setup height & width, depending on container layout:
m_Height = ypos + (ysizedown + ysizeup) + m_IndentBottom;
if (m_Height < m_MinHeight)
{
if (m_MinHeightAlign != wxHTML_ALIGN_TOP)
{
int diff = m_MinHeight - m_Height;
if (m_MinHeightAlign == wxHTML_ALIGN_CENTER) diff /= 2;
cell = m_Cells;
while (cell)
{
cell->SetPos(cell->GetPosX(), cell->GetPosY() + diff);
cell = cell->GetNext();
}
}
m_Height = m_MinHeight;
}
MaxLineWidth += s_indent + ((m_IndentRight < 0) ? (-m_IndentRight * m_Width / 100) : m_IndentRight);
if (m_Width < MaxLineWidth) m_Width = MaxLineWidth;
m_LastLayout = w;
}
#define mMin(a, b) (((a) < (b)) ? (a) : (b))
#define mMax(a, b) (((a) < (b)) ? (b) : (a))
void wxHtmlContainerCell::Draw(wxDC& dc, int x, int y, int view_y1, int view_y2)
{
// container visible, draw it:
if ((y + m_PosY <= view_y2) && (y + m_PosY + m_Height > view_y1))
{
if (m_UseBkColour)
{
wxBrush myb = wxBrush(m_BkColour, wxSOLID);
int real_y1 = mMax(y + m_PosY, view_y1);
int real_y2 = mMin(y + m_PosY + m_Height - 1, view_y2);
dc.SetBrush(myb);
dc.SetPen(*wxTRANSPARENT_PEN);
dc.DrawRectangle(x + m_PosX, real_y1, m_Width, real_y2 - real_y1 + 1);
}
if (m_UseBorder)
{
wxPen mypen1(m_BorderColour1, 1, wxSOLID);
wxPen mypen2(m_BorderColour2, 1, wxSOLID);
dc.SetPen(mypen1);
dc.DrawLine(x + m_PosX, y + m_PosY, x + m_PosX, y + m_PosY + m_Height - 1);
dc.DrawLine(x + m_PosX, y + m_PosY, x + m_PosX + m_Width, y + m_PosY);
dc.SetPen(mypen2);
dc.DrawLine(x + m_PosX + m_Width - 1, y + m_PosY, x + m_PosX + m_Width - 1, y + m_PosY + m_Height - 1);
dc.DrawLine(x + m_PosX, y + m_PosY + m_Height - 1, x + m_PosX + m_Width, y + m_PosY + m_Height - 1);
}
if (m_Cells)
{
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
cell->Draw(dc, x + m_PosX, y + m_PosY, view_y1, view_y2);
}
}
// container invisible, just proceed font+color changing:
else
{
if (m_Cells)
{
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
cell->DrawInvisible(dc, x + m_PosX, y + m_PosY);
}
}
}
void wxHtmlContainerCell::DrawInvisible(wxDC& dc, int x, int y)
{
if (m_Cells)
{
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
cell->DrawInvisible(dc, x + m_PosX, y + m_PosY);
}
}
wxColour wxHtmlContainerCell::GetBackgroundColour()
{
if (m_UseBkColour)
return m_BkColour;
else
return wxNullColour;
}
wxHtmlLinkInfo *wxHtmlContainerCell::GetLink(int x, int y) const
{
wxHtmlCell *cell = FindCellByPos(x, y);
// VZ: I don't know if we should pass absolute or relative coords to
// wxHtmlCell::GetLink()? As the base class version just ignores them
// anyhow, it hardly matters right now but should still be clarified
return cell ? cell->GetLink(x, y) : NULL;
}
void wxHtmlContainerCell::InsertCell(wxHtmlCell *f)
{
if (!m_Cells) m_Cells = m_LastCell = f;
else
{
m_LastCell->SetNext(f);
m_LastCell = f;
if (m_LastCell) while (m_LastCell->GetNext()) m_LastCell = m_LastCell->GetNext();
}
f->SetParent(this);
m_LastLayout = -1;
}
void wxHtmlContainerCell::SetAlign(const wxHtmlTag& tag)
{
if (tag.HasParam(wxT("ALIGN")))
{
wxString alg = tag.GetParam(wxT("ALIGN"));
alg.MakeUpper();
if (alg == wxT("CENTER"))
SetAlignHor(wxHTML_ALIGN_CENTER);
else if (alg == wxT("LEFT"))
SetAlignHor(wxHTML_ALIGN_LEFT);
else if (alg == wxT("JUSTIFY"))
SetAlignHor(wxHTML_ALIGN_JUSTIFY);
else if (alg == wxT("RIGHT"))
SetAlignHor(wxHTML_ALIGN_RIGHT);
m_LastLayout = -1;
}
}
void wxHtmlContainerCell::SetWidthFloat(const wxHtmlTag& tag, double pixel_scale)
{
if (tag.HasParam(wxT("WIDTH")))
{
int wdi;
wxString wd = tag.GetParam(wxT("WIDTH"));
if (wd[wd.Length()-1] == wxT('%'))
{
wxSscanf(wd.c_str(), wxT("%i%%"), &wdi);
SetWidthFloat(wdi, wxHTML_UNITS_PERCENT);
}
else
{
wxSscanf(wd.c_str(), wxT("%i"), &wdi);
SetWidthFloat((int)(pixel_scale * (double)wdi), wxHTML_UNITS_PIXELS);
}
m_LastLayout = -1;
}
}
const wxHtmlCell* wxHtmlContainerCell::Find(int condition, const void* param) const
{
if (m_Cells)
{
const wxHtmlCell *r = NULL;
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
{
r = cell->Find(condition, param);
if (r) return r;
}
}
return NULL;
}
wxHtmlCell *wxHtmlContainerCell::FindCellByPos(wxCoord x, wxCoord y) const
{
for ( const wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext() )
{
int cx = cell->GetPosX(),
cy = cell->GetPosY();
if ( (cx <= x) && (cx + cell->GetWidth() > x) &&
(cy <= y) && (cy + cell->GetHeight() > y) )
{
return cell->FindCellByPos(x - cx, y - cy);
}
}
return NULL;
}
void wxHtmlContainerCell::OnMouseClick(wxWindow *parent, int x, int y, const wxMouseEvent& event)
{
wxHtmlCell *cell = FindCellByPos(x, y);
if ( cell )
cell->OnMouseClick(parent, x, y, event);
}
void wxHtmlContainerCell::GetHorizontalConstraints(int *left, int *right) const
{
int cleft = m_PosX + m_Width, cright = m_PosX; // worst case
int l, r;
for (wxHtmlCell *cell = m_Cells; cell; cell = cell->GetNext())
{
cell->GetHorizontalConstraints(&l, &r);
if (l < cleft)
cleft = l;
if (r > cright)
cright = r;
}
cleft -= (m_IndentLeft < 0) ? (-m_IndentLeft * m_Width / 100) : m_IndentLeft;
cright += (m_IndentRight < 0) ? (-m_IndentRight * m_Width / 100) : m_IndentRight;
if (left)
*left = cleft;
if (right)
*right = cright;
}
//--------------------------------------------------------------------------------
// wxHtmlColourCell
//--------------------------------------------------------------------------------
void wxHtmlColourCell::Draw(wxDC& dc, int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
if (m_Flags & wxHTML_CLR_FOREGROUND)
dc.SetTextForeground(m_Colour);
if (m_Flags & wxHTML_CLR_BACKGROUND)
{
dc.SetBackground(wxBrush(m_Colour, wxSOLID));
dc.SetTextBackground(m_Colour);
}
}
void wxHtmlColourCell::DrawInvisible(wxDC& dc, int WXUNUSED(x), int WXUNUSED(y))
{
if (m_Flags & wxHTML_CLR_FOREGROUND)
dc.SetTextForeground(m_Colour);
if (m_Flags & wxHTML_CLR_BACKGROUND)
{
dc.SetBackground(wxBrush(m_Colour, wxSOLID));
dc.SetTextBackground(m_Colour);
}
}
//--------------------------------------------------------------------------------
// wxHtmlFontCell
//--------------------------------------------------------------------------------
void wxHtmlFontCell::Draw(wxDC& dc, int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
dc.SetFont(m_Font);
}
void wxHtmlFontCell::DrawInvisible(wxDC& dc, int WXUNUSED(x), int WXUNUSED(y))
{
dc.SetFont(m_Font);
}
//--------------------------------------------------------------------------------
// wxHtmlWidgetCell
//--------------------------------------------------------------------------------
wxHtmlWidgetCell::wxHtmlWidgetCell(wxWindow *wnd, int w)
{
int sx, sy;
m_Wnd = wnd;
m_Wnd->GetSize(&sx, &sy);
m_Width = sx, m_Height = sy;
m_WidthFloat = w;
}
void wxHtmlWidgetCell::Draw(wxDC& WXUNUSED(dc), int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
int absx = 0, absy = 0, stx, sty;
wxHtmlCell *c = this;
while (c)
{
absx += c->GetPosX();
absy += c->GetPosY();
c = c->GetParent();
}
((wxScrolledWindow*)(m_Wnd->GetParent()))->GetViewStart(&stx, &sty);
m_Wnd->SetSize(absx - wxHTML_SCROLL_STEP * stx, absy - wxHTML_SCROLL_STEP * sty, m_Width, m_Height);
}
void wxHtmlWidgetCell::DrawInvisible(wxDC& WXUNUSED(dc), int WXUNUSED(x), int WXUNUSED(y))
{
int absx = 0, absy = 0, stx, sty;
wxHtmlCell *c = this;
while (c)
{
absx += c->GetPosX();
absy += c->GetPosY();
c = c->GetParent();
}
((wxScrolledWindow*)(m_Wnd->GetParent()))->GetViewStart(&stx, &sty);
m_Wnd->SetSize(absx - wxHTML_SCROLL_STEP * stx, absy - wxHTML_SCROLL_STEP * sty, m_Width, m_Height);
}
void wxHtmlWidgetCell::Layout(int w)
{
if (m_WidthFloat != 0)
{
m_Width = (w * m_WidthFloat) / 100;
m_Wnd->SetSize(m_Width, m_Height);
}
wxHtmlCell::Layout(w);
}
#endif

229
src/html/htmlfilt.cpp Normal file
View File

@@ -0,0 +1,229 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlfilt.cpp
// Purpose: wxHtmlFilter - input filter for translating into HTML format
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "htmlfilt.h"
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/log.h"
#include "wx/intl.h"
#endif
#include "wx/strconv.h"
#include "wx/html/htmlfilt.h"
#include "wx/html/htmlwin.h"
// utility function: read a wxString from a wxInputStream
static void ReadString(wxString& str, wxInputStream* s, wxMBConv& conv)
{
size_t streamSize = s->GetSize();
if (streamSize == ~(size_t)0)
{
const size_t bufSize = 4095;
char buffer[bufSize+1];
size_t lastRead;
do
{
s->Read(buffer, bufSize);
lastRead = s->LastRead();
buffer[lastRead] = 0;
str.Append(wxString(buffer, conv));
}
while (lastRead == bufSize);
}
else
{
char* src = new char[streamSize+1];
s->Read(src, streamSize);
src[streamSize] = 0;
str = wxString(src, conv);
delete[] src;
}
}
/*
There is code for several default filters:
*/
IMPLEMENT_ABSTRACT_CLASS(wxHtmlFilter, wxObject)
//--------------------------------------------------------------------------------
// wxHtmlFilterPlainText
// filter for text/plain or uknown
//--------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterPlainText, wxHtmlFilter)
bool wxHtmlFilterPlainText::CanRead(const wxFSFile& WXUNUSED(file)) const
{
return TRUE;
}
wxString wxHtmlFilterPlainText::ReadFile(const wxFSFile& file) const
{
wxInputStream *s = file.GetStream();
wxString doc, doc2;
if (s == NULL) return wxEmptyString;
ReadString(doc, s, wxConvISO8859_1);
doc.Replace(wxT("&"), wxT("&amp;"), TRUE);
doc.Replace(wxT("<"), wxT("&lt;"), TRUE);
doc.Replace(wxT(">"), wxT("&gt;"), TRUE);
doc2 = wxT("<HTML><BODY><PRE>\n") + doc + wxT("\n</PRE></BODY></HTML>");
return doc2;
}
//--------------------------------------------------------------------------------
// wxHtmlFilterImage
// filter for image/*
//--------------------------------------------------------------------------------
class wxHtmlFilterImage : public wxHtmlFilter
{
DECLARE_DYNAMIC_CLASS(wxHtmlFilterImage)
public:
virtual bool CanRead(const wxFSFile& file) const;
virtual wxString ReadFile(const wxFSFile& file) const;
};
IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterImage, wxHtmlFilter)
bool wxHtmlFilterImage::CanRead(const wxFSFile& file) const
{
return (file.GetMimeType().Left(6) == wxT("image/"));
}
wxString wxHtmlFilterImage::ReadFile(const wxFSFile& file) const
{
wxString res = wxT("<HTML><BODY><IMG SRC=\"") + file.GetLocation() + wxT("\"></BODY></HTML>");
return res;
}
//--------------------------------------------------------------------------------
// wxHtmlFilterHTML
// filter for text/html
//--------------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterHTML, wxHtmlFilter)
bool wxHtmlFilterHTML::CanRead(const wxFSFile& file) const
{
// return (file.GetMimeType() == "text/html");
// This is true in most case but some page can return:
// "text/html; char-encoding=...."
// So we use Find instead
return (file.GetMimeType().Find(wxT("text/html")) == 0);
}
wxString wxHtmlFilterHTML::ReadFile(const wxFSFile& file) const
{
wxInputStream *s = file.GetStream();
wxString doc;
if (s == NULL)
{
wxLogError(_("Cannot open HTML document: %s"), file.GetLocation().c_str());
return wxEmptyString;
}
// NB: We convert input file to wchar_t here in Unicode mode, based on
// either Content-Type header or <meta> tags. In ANSI mode, we don't
// do it as it is done by wxHtmlParser (for this reason, we add <meta>
// tag if we used Content-Type header).
#if wxUSE_UNICODE
int charsetPos;
if ((charsetPos = file.GetMimeType().Find(_T("; charset="))) != wxNOT_FOUND)
{
wxString charset = file.GetMimeType().Mid(charsetPos + 10);
wxCSConv conv(charset);
ReadString(doc, s, conv);
}
else
{
wxString tmpdoc;
ReadString(tmpdoc, s, wxConvISO8859_1);
wxString charset = wxHtmlParser::ExtractCharsetInformation(tmpdoc);
if (charset.empty())
doc = tmpdoc;
else
{
wxCSConv conv(charset);
doc = wxString(tmpdoc.mb_str(wxConvISO8859_1), conv);
}
}
#else // !wxUSE_UNICODE
ReadString(doc, s, wxConvLibc);
// add meta tag if we obtained this through http:
if (!file.GetMimeType().empty())
{
wxString hdr;
wxString mime = file.GetMimeType();
hdr.Printf(_T("<meta http-equiv=\"Content-Type\" content=\"%s\">"), mime.c_str());
return hdr+doc;
}
#endif
return doc;
}
///// Module:
class wxHtmlFilterModule : public wxModule
{
DECLARE_DYNAMIC_CLASS(wxHtmlFilterModule)
public:
virtual bool OnInit()
{
wxHtmlWindow::AddFilter(new wxHtmlFilterHTML);
wxHtmlWindow::AddFilter(new wxHtmlFilterImage);
return TRUE;
}
virtual void OnExit() {}
};
IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterModule, wxModule)
#endif

900
src/html/htmlpars.cpp Normal file
View File

@@ -0,0 +1,900 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlpars.cpp
// Purpose: wxHtmlParser class (generic parser)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "htmlpars.h"
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/log.h"
#include "wx/intl.h"
#endif
#include "wx/tokenzr.h"
#include "wx/wfstream.h"
#include "wx/url.h"
#include "wx/fontmap.h"
#include "wx/html/htmldefs.h"
#include "wx/html/htmlpars.h"
#include "wx/dynarray.h"
#include "wx/arrimpl.cpp"
//-----------------------------------------------------------------------------
// wxHtmlParser helpers
//-----------------------------------------------------------------------------
class wxHtmlTextPiece
{
public:
wxHtmlTextPiece(int pos, int lng) : m_pos(pos), m_lng(lng) {}
int m_pos, m_lng;
};
WX_DECLARE_OBJARRAY(wxHtmlTextPiece, wxHtmlTextPieces);
WX_DEFINE_OBJARRAY(wxHtmlTextPieces);
class wxHtmlParserState
{
public:
wxHtmlTag *m_curTag;
wxHtmlTag *m_tags;
wxHtmlTextPieces *m_textPieces;
int m_curTextPiece;
wxString m_source;
wxHtmlParserState *m_nextState;
};
//-----------------------------------------------------------------------------
// wxHtmlParser
//-----------------------------------------------------------------------------
IMPLEMENT_ABSTRACT_CLASS(wxHtmlParser,wxObject)
wxHtmlParser::wxHtmlParser()
: wxObject(), m_HandlersHash(wxKEY_STRING),
m_FS(NULL), m_HandlersStack(NULL)
{
m_entitiesParser = new wxHtmlEntitiesParser;
m_Tags = NULL;
m_CurTag = NULL;
m_TextPieces = NULL;
m_CurTextPiece = 0;
m_SavedStates = NULL;
}
wxHtmlParser::~wxHtmlParser()
{
while (RestoreState()) {}
DestroyDOMTree();
delete m_HandlersStack;
m_HandlersHash.Clear();
m_HandlersList.DeleteContents(TRUE);
m_HandlersList.Clear();
delete m_entitiesParser;
}
wxObject* wxHtmlParser::Parse(const wxString& source)
{
InitParser(source);
DoParsing();
wxObject *result = GetProduct();
DoneParser();
return result;
}
void wxHtmlParser::InitParser(const wxString& source)
{
SetSource(source);
m_stopParsing = FALSE;
}
void wxHtmlParser::DoneParser()
{
DestroyDOMTree();
}
void wxHtmlParser::SetSource(const wxString& src)
{
DestroyDOMTree();
m_Source = src;
CreateDOMTree();
m_CurTag = NULL;
m_CurTextPiece = 0;
}
void wxHtmlParser::CreateDOMTree()
{
wxHtmlTagsCache cache(m_Source);
m_TextPieces = new wxHtmlTextPieces;
CreateDOMSubTree(NULL, 0, m_Source.Length(), &cache);
m_CurTextPiece = 0;
}
extern bool wxIsCDATAElement(const wxChar *tag);
void wxHtmlParser::CreateDOMSubTree(wxHtmlTag *cur,
int begin_pos, int end_pos,
wxHtmlTagsCache *cache)
{
if (end_pos <= begin_pos) return;
wxChar c;
int i = begin_pos;
int textBeginning = begin_pos;
// If the tag contains CDATA text, we include the text between beginning
// and ending tag verbosely. Setting i=end_pos will skip to the very
// end of this function where text piece is added, bypassing any child
// tags parsing (CDATA element can't have child elements by definition):
if (cur != NULL && wxIsCDATAElement(cur->GetName().c_str()))
{
i = end_pos;
}
while (i < end_pos)
{
c = m_Source.GetChar(i);
if (c == wxT('<'))
{
// add text to m_TextPieces:
if (i - textBeginning > 0)
m_TextPieces->Add(
wxHtmlTextPiece(textBeginning, i - textBeginning));
// if it is a comment, skip it:
if (i < end_pos-6 && m_Source.GetChar(i+1) == wxT('!') &&
m_Source.GetChar(i+2) == wxT('-') &&
m_Source.GetChar(i+3) == wxT('-'))
{
// Comments begin with "<!--" and end with "--[ \t\r\n]*>"
// according to HTML 4.0
int dashes = 0;
i += 4;
while (i < end_pos)
{
c = m_Source.GetChar(i++);
if ((c == wxT(' ') || c == wxT('\n') ||
c == wxT('\r') || c == wxT('\t')) && dashes >= 2) {}
else if (c == wxT('>') && dashes >= 2)
{
textBeginning = i;
break;
}
else if (c == wxT('-'))
dashes++;
else
dashes = 0;
}
}
// add another tag to the tree:
else if (i < end_pos-1 && m_Source.GetChar(i+1) != wxT('/'))
{
wxHtmlTag *chd;
if (cur)
chd = new wxHtmlTag(cur, m_Source,
i, end_pos, cache, m_entitiesParser);
else
{
chd = new wxHtmlTag(NULL, m_Source,
i, end_pos, cache, m_entitiesParser);
if (!m_Tags)
{
// if this is the first tag to be created make the root
// m_Tags point to it:
m_Tags = chd;
}
else
{
// if there is already a root tag add this tag as
// the last sibling:
chd->m_Prev = m_Tags->GetLastSibling();
chd->m_Prev->m_Next = chd;
}
}
if (chd->HasEnding())
{
CreateDOMSubTree(chd,
chd->GetBeginPos(), chd->GetEndPos1(),
cache);
i = chd->GetEndPos2();
}
else
i = chd->GetBeginPos();
textBeginning = i;
}
// ... or skip ending tag:
else
{
while (i < end_pos && m_Source.GetChar(i) != wxT('>')) i++;
textBeginning = i+1;
}
}
else i++;
}
// add remaining text to m_TextPieces:
if (end_pos - textBeginning > 0)
m_TextPieces->Add(
wxHtmlTextPiece(textBeginning, end_pos - textBeginning));
}
void wxHtmlParser::DestroyDOMTree()
{
wxHtmlTag *t1, *t2;
t1 = m_Tags;
while (t1)
{
t2 = t1->GetNextSibling();
delete t1;
t1 = t2;
}
m_Tags = m_CurTag = NULL;
delete m_TextPieces;
m_TextPieces = NULL;
}
void wxHtmlParser::DoParsing()
{
m_CurTag = m_Tags;
m_CurTextPiece = 0;
DoParsing(0, m_Source.Length());
}
void wxHtmlParser::DoParsing(int begin_pos, int end_pos)
{
if (end_pos <= begin_pos) return;
wxHtmlTextPieces& pieces = *m_TextPieces;
size_t piecesCnt = pieces.GetCount();
while (begin_pos < end_pos)
{
while (m_CurTag && m_CurTag->GetBeginPos() < begin_pos)
m_CurTag = m_CurTag->GetNextTag();
while (m_CurTextPiece < piecesCnt &&
pieces[m_CurTextPiece].m_pos < begin_pos)
m_CurTextPiece++;
if (m_CurTextPiece < piecesCnt &&
(!m_CurTag ||
pieces[m_CurTextPiece].m_pos < m_CurTag->GetBeginPos()))
{
// Add text:
AddText(GetEntitiesParser()->Parse(
m_Source.Mid(pieces[m_CurTextPiece].m_pos,
pieces[m_CurTextPiece].m_lng)));
begin_pos = pieces[m_CurTextPiece].m_pos +
pieces[m_CurTextPiece].m_lng;
m_CurTextPiece++;
}
else if (m_CurTag)
{
// Add tag:
if (m_CurTag)
{
if (m_CurTag->HasEnding())
begin_pos = m_CurTag->GetEndPos2();
else
begin_pos = m_CurTag->GetBeginPos();
}
wxHtmlTag *t = m_CurTag;
m_CurTag = m_CurTag->GetNextTag();
AddTag(*t);
if (m_stopParsing)
return;
}
else break;
}
}
void wxHtmlParser::AddTag(const wxHtmlTag& tag)
{
wxHtmlTagHandler *h;
bool inner = FALSE;
h = (wxHtmlTagHandler*) m_HandlersHash.Get(tag.GetName());
if (h)
{
inner = h->HandleTag(tag);
if (m_stopParsing)
return;
}
if (!inner)
{
if (tag.HasEnding())
DoParsing(tag.GetBeginPos(), tag.GetEndPos1());
}
}
void wxHtmlParser::AddTagHandler(wxHtmlTagHandler *handler)
{
wxString s(handler->GetSupportedTags());
wxStringTokenizer tokenizer(s, wxT(", "));
while (tokenizer.HasMoreTokens())
m_HandlersHash.Put(tokenizer.GetNextToken(), handler);
if (m_HandlersList.IndexOf(handler) == wxNOT_FOUND)
m_HandlersList.Append(handler);
handler->SetParser(this);
}
void wxHtmlParser::PushTagHandler(wxHtmlTagHandler *handler, wxString tags)
{
wxStringTokenizer tokenizer(tags, wxT(", "));
wxString key;
if (m_HandlersStack == NULL)
{
m_HandlersStack = new wxList;
m_HandlersStack->DeleteContents(TRUE);
}
m_HandlersStack->Insert(new wxHashTable(m_HandlersHash));
while (tokenizer.HasMoreTokens())
{
key = tokenizer.GetNextToken();
m_HandlersHash.Delete(key);
m_HandlersHash.Put(key, handler);
}
}
void wxHtmlParser::PopTagHandler()
{
wxNode *first;
if (m_HandlersStack == NULL ||
(first = m_HandlersStack->GetFirst()) == NULL)
{
wxLogWarning(_("Warning: attempt to remove HTML tag handler from empty stack."));
return;
}
m_HandlersHash = *((wxHashTable*) first->GetData());
m_HandlersStack->DeleteNode(first);
}
void wxHtmlParser::SetSourceAndSaveState(const wxString& src)
{
wxHtmlParserState *s = new wxHtmlParserState;
s->m_curTag = m_CurTag;
s->m_tags = m_Tags;
s->m_textPieces = m_TextPieces;
s->m_curTextPiece = m_CurTextPiece;
s->m_source = m_Source;
s->m_nextState = m_SavedStates;
m_SavedStates = s;
m_CurTag = NULL;
m_Tags = NULL;
m_TextPieces = NULL;
m_CurTextPiece = 0;
m_Source = wxEmptyString;
SetSource(src);
}
bool wxHtmlParser::RestoreState()
{
if (!m_SavedStates) return FALSE;
DestroyDOMTree();
wxHtmlParserState *s = m_SavedStates;
m_SavedStates = s->m_nextState;
m_CurTag = s->m_curTag;
m_Tags = s->m_tags;
m_TextPieces = s->m_textPieces;
m_CurTextPiece = s->m_curTextPiece;
m_Source = s->m_source;
delete s;
return TRUE;
}
//-----------------------------------------------------------------------------
// wxHtmlTagHandler
//-----------------------------------------------------------------------------
IMPLEMENT_ABSTRACT_CLASS(wxHtmlTagHandler,wxObject)
//-----------------------------------------------------------------------------
// wxHtmlEntitiesParser
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxHtmlEntitiesParser,wxObject)
wxHtmlEntitiesParser::wxHtmlEntitiesParser()
#if wxUSE_WCHAR_T && !wxUSE_UNICODE
: m_conv(NULL), m_encoding(wxFONTENCODING_SYSTEM)
#endif
{
}
wxHtmlEntitiesParser::~wxHtmlEntitiesParser()
{
#if wxUSE_WCHAR_T && !wxUSE_UNICODE
delete m_conv;
#endif
}
void wxHtmlEntitiesParser::SetEncoding(wxFontEncoding encoding)
{
#if wxUSE_WCHAR_T && !wxUSE_UNICODE
if (encoding == m_encoding)
return;
delete m_conv;
m_encoding = encoding;
if (m_encoding == wxFONTENCODING_SYSTEM)
m_conv = NULL;
else
m_conv = new wxCSConv(wxFontMapper::GetEncodingName(m_encoding));
#else
(void) encoding;
#endif
}
wxString wxHtmlEntitiesParser::Parse(const wxString& input)
{
const wxChar *c, *last;
const wxChar *in_str = input.c_str();
wxString output;
output.reserve(input.length());
for (c = in_str, last = in_str; *c != wxT('\0'); c++)
{
if (*c == wxT('&'))
{
if (c - last > 0)
output.append(last, c - last);
if (++c == wxT('\0')) break;
wxString entity;
const wxChar *ent_s = c;
wxChar entity_char;
for (; (*c >= wxT('a') && *c <= wxT('z')) ||
(*c >= wxT('A') && *c <= wxT('Z')) ||
(*c >= wxT('0') && *c <= wxT('9')) ||
*c == wxT('_') || *c == wxT('#'); c++) {}
entity.append(ent_s, c - ent_s);
if (*c != wxT(';')) c--;
last = c+1;
entity_char = GetEntityChar(entity);
if (entity_char)
output << entity_char;
else
{
output.append(ent_s-1, c-ent_s+2);
wxLogDebug(wxT("Unrecognized HTML entity: '%s'"), entity.c_str());
}
}
}
if (*last != wxT('\0'))
output.append(last);
return output;
}
struct wxHtmlEntityInfo
{
const wxChar *name;
unsigned code;
};
extern "C" int LINKAGEMODE wxHtmlEntityCompare(const void *key, const void *item)
{
return wxStrcmp((wxChar*)key, ((wxHtmlEntityInfo*)item)->name);
}
#if !wxUSE_UNICODE
wxChar wxHtmlEntitiesParser::GetCharForCode(unsigned code)
{
#if wxUSE_WCHAR_T
char buf[2];
wchar_t wbuf[2];
wbuf[0] = (wchar_t)code;
wbuf[1] = 0;
wxMBConv *conv = m_conv ? m_conv : &wxConvLocal;
if (conv->WC2MB(buf, wbuf, 2) == (size_t)-1)
return '?';
return buf[0];
#else
return (code < 256) ? (wxChar)code : '?';
#endif
}
#endif
wxChar wxHtmlEntitiesParser::GetEntityChar(const wxString& entity)
{
unsigned code = 0;
if (entity[0] == wxT('#'))
{
const wxChar *ent_s = entity.c_str();
const wxChar *format;
if (ent_s[1] == wxT('x') || ent_s[1] == wxT('X'))
{
format = wxT("%x");
ent_s++;
}
else
format = wxT("%u");
ent_s++;
if (wxSscanf(ent_s, format, &code) != 1)
code = 0;
}
else
{
static wxHtmlEntityInfo substitutions[] = {
{ wxT("AElig"),198 },
{ wxT("Aacute"),193 },
{ wxT("Acirc"),194 },
{ wxT("Agrave"),192 },
{ wxT("Alpha"),913 },
{ wxT("Aring"),197 },
{ wxT("Atilde"),195 },
{ wxT("Auml"),196 },
{ wxT("Beta"),914 },
{ wxT("Ccedil"),199 },
{ wxT("Chi"),935 },
{ wxT("Dagger"),8225 },
{ wxT("Delta"),916 },
{ wxT("ETH"),208 },
{ wxT("Eacute"),201 },
{ wxT("Ecirc"),202 },
{ wxT("Egrave"),200 },
{ wxT("Epsilon"),917 },
{ wxT("Eta"),919 },
{ wxT("Euml"),203 },
{ wxT("Gamma"),915 },
{ wxT("Iacute"),205 },
{ wxT("Icirc"),206 },
{ wxT("Igrave"),204 },
{ wxT("Iota"),921 },
{ wxT("Iuml"),207 },
{ wxT("Kappa"),922 },
{ wxT("Lambda"),923 },
{ wxT("Mu"),924 },
{ wxT("Ntilde"),209 },
{ wxT("Nu"),925 },
{ wxT("OElig"),338 },
{ wxT("Oacute"),211 },
{ wxT("Ocirc"),212 },
{ wxT("Ograve"),210 },
{ wxT("Omega"),937 },
{ wxT("Omicron"),927 },
{ wxT("Oslash"),216 },
{ wxT("Otilde"),213 },
{ wxT("Ouml"),214 },
{ wxT("Phi"),934 },
{ wxT("Pi"),928 },
{ wxT("Prime"),8243 },
{ wxT("Psi"),936 },
{ wxT("Rho"),929 },
{ wxT("Scaron"),352 },
{ wxT("Sigma"),931 },
{ wxT("THORN"),222 },
{ wxT("Tau"),932 },
{ wxT("Theta"),920 },
{ wxT("Uacute"),218 },
{ wxT("Ucirc"),219 },
{ wxT("Ugrave"),217 },
{ wxT("Upsilon"),933 },
{ wxT("Uuml"),220 },
{ wxT("Xi"),926 },
{ wxT("Yacute"),221 },
{ wxT("Yuml"),376 },
{ wxT("Zeta"),918 },
{ wxT("aacute"),225 },
{ wxT("acirc"),226 },
{ wxT("acute"),180 },
{ wxT("aelig"),230 },
{ wxT("agrave"),224 },
{ wxT("alefsym"),8501 },
{ wxT("alpha"),945 },
{ wxT("amp"),38 },
{ wxT("and"),8743 },
{ wxT("ang"),8736 },
{ wxT("aring"),229 },
{ wxT("asymp"),8776 },
{ wxT("atilde"),227 },
{ wxT("auml"),228 },
{ wxT("bdquo"),8222 },
{ wxT("beta"),946 },
{ wxT("brvbar"),166 },
{ wxT("bull"),8226 },
{ wxT("cap"),8745 },
{ wxT("ccedil"),231 },
{ wxT("cedil"),184 },
{ wxT("cent"),162 },
{ wxT("chi"),967 },
{ wxT("circ"),710 },
{ wxT("clubs"),9827 },
{ wxT("cong"),8773 },
{ wxT("copy"),169 },
{ wxT("crarr"),8629 },
{ wxT("cup"),8746 },
{ wxT("curren"),164 },
{ wxT("dArr"),8659 },
{ wxT("dagger"),8224 },
{ wxT("darr"),8595 },
{ wxT("deg"),176 },
{ wxT("delta"),948 },
{ wxT("diams"),9830 },
{ wxT("divide"),247 },
{ wxT("eacute"),233 },
{ wxT("ecirc"),234 },
{ wxT("egrave"),232 },
{ wxT("empty"),8709 },
{ wxT("emsp"),8195 },
{ wxT("ensp"),8194 },
{ wxT("epsilon"),949 },
{ wxT("equiv"),8801 },
{ wxT("eta"),951 },
{ wxT("eth"),240 },
{ wxT("euml"),235 },
{ wxT("euro"),8364 },
{ wxT("exist"),8707 },
{ wxT("fnof"),402 },
{ wxT("forall"),8704 },
{ wxT("frac12"),189 },
{ wxT("frac14"),188 },
{ wxT("frac34"),190 },
{ wxT("frasl"),8260 },
{ wxT("gamma"),947 },
{ wxT("ge"),8805 },
{ wxT("gt"),62 },
{ wxT("hArr"),8660 },
{ wxT("harr"),8596 },
{ wxT("hearts"),9829 },
{ wxT("hellip"),8230 },
{ wxT("iacute"),237 },
{ wxT("icirc"),238 },
{ wxT("iexcl"),161 },
{ wxT("igrave"),236 },
{ wxT("image"),8465 },
{ wxT("infin"),8734 },
{ wxT("int"),8747 },
{ wxT("iota"),953 },
{ wxT("iquest"),191 },
{ wxT("isin"),8712 },
{ wxT("iuml"),239 },
{ wxT("kappa"),954 },
{ wxT("lArr"),8656 },
{ wxT("lambda"),955 },
{ wxT("lang"),9001 },
{ wxT("laquo"),171 },
{ wxT("larr"),8592 },
{ wxT("lceil"),8968 },
{ wxT("ldquo"),8220 },
{ wxT("le"),8804 },
{ wxT("lfloor"),8970 },
{ wxT("lowast"),8727 },
{ wxT("loz"),9674 },
{ wxT("lrm"),8206 },
{ wxT("lsaquo"),8249 },
{ wxT("lsquo"),8216 },
{ wxT("lt"),60 },
{ wxT("macr"),175 },
{ wxT("mdash"),8212 },
{ wxT("micro"),181 },
{ wxT("middot"),183 },
{ wxT("minus"),8722 },
{ wxT("mu"),956 },
{ wxT("nabla"),8711 },
{ wxT("nbsp"),160 },
{ wxT("ndash"),8211 },
{ wxT("ne"),8800 },
{ wxT("ni"),8715 },
{ wxT("not"),172 },
{ wxT("notin"),8713 },
{ wxT("nsub"),8836 },
{ wxT("ntilde"),241 },
{ wxT("nu"),957 },
{ wxT("oacute"),243 },
{ wxT("ocirc"),244 },
{ wxT("oelig"),339 },
{ wxT("ograve"),242 },
{ wxT("oline"),8254 },
{ wxT("omega"),969 },
{ wxT("omicron"),959 },
{ wxT("oplus"),8853 },
{ wxT("or"),8744 },
{ wxT("ordf"),170 },
{ wxT("ordm"),186 },
{ wxT("oslash"),248 },
{ wxT("otilde"),245 },
{ wxT("otimes"),8855 },
{ wxT("ouml"),246 },
{ wxT("para"),182 },
{ wxT("part"),8706 },
{ wxT("permil"),8240 },
{ wxT("perp"),8869 },
{ wxT("phi"),966 },
{ wxT("pi"),960 },
{ wxT("piv"),982 },
{ wxT("plusmn"),177 },
{ wxT("pound"),163 },
{ wxT("prime"),8242 },
{ wxT("prod"),8719 },
{ wxT("prop"),8733 },
{ wxT("psi"),968 },
{ wxT("quot"),34 },
{ wxT("rArr"),8658 },
{ wxT("radic"),8730 },
{ wxT("rang"),9002 },
{ wxT("raquo"),187 },
{ wxT("rarr"),8594 },
{ wxT("rceil"),8969 },
{ wxT("rdquo"),8221 },
{ wxT("real"),8476 },
{ wxT("reg"),174 },
{ wxT("rfloor"),8971 },
{ wxT("rho"),961 },
{ wxT("rlm"),8207 },
{ wxT("rsaquo"),8250 },
{ wxT("rsquo"),8217 },
{ wxT("sbquo"),8218 },
{ wxT("scaron"),353 },
{ wxT("sdot"),8901 },
{ wxT("sect"),167 },
{ wxT("shy"),173 },
{ wxT("sigma"),963 },
{ wxT("sigmaf"),962 },
{ wxT("sim"),8764 },
{ wxT("spades"),9824 },
{ wxT("sub"),8834 },
{ wxT("sube"),8838 },
{ wxT("sum"),8721 },
{ wxT("sup"),8835 },
{ wxT("sup1"),185 },
{ wxT("sup2"),178 },
{ wxT("sup3"),179 },
{ wxT("supe"),8839 },
{ wxT("szlig"),223 },
{ wxT("tau"),964 },
{ wxT("there4"),8756 },
{ wxT("theta"),952 },
{ wxT("thetasym"),977 },
{ wxT("thinsp"),8201 },
{ wxT("thorn"),254 },
{ wxT("tilde"),732 },
{ wxT("times"),215 },
{ wxT("trade"),8482 },
{ wxT("uArr"),8657 },
{ wxT("uacute"),250 },
{ wxT("uarr"),8593 },
{ wxT("ucirc"),251 },
{ wxT("ugrave"),249 },
{ wxT("uml"),168 },
{ wxT("upsih"),978 },
{ wxT("upsilon"),965 },
{ wxT("uuml"),252 },
{ wxT("weierp"),8472 },
{ wxT("xi"),958 },
{ wxT("yacute"),253 },
{ wxT("yen"),165 },
{ wxT("yuml"),255 },
{ wxT("zeta"),950 },
{ wxT("zwj"),8205 },
{ wxT("zwnj"),8204 },
{NULL, 0}};
static size_t substitutions_cnt = 0;
if (substitutions_cnt == 0)
while (substitutions[substitutions_cnt].code != 0)
substitutions_cnt++;
wxHtmlEntityInfo *info;
info = (wxHtmlEntityInfo*) bsearch(entity.c_str(), substitutions,
substitutions_cnt,
sizeof(wxHtmlEntityInfo),
wxHtmlEntityCompare);
if (info)
code = info->code;
}
if (code == 0)
return 0;
else
return GetCharForCode(code);
}
wxFSFile *wxHtmlParser::OpenURL(wxHtmlURLType WXUNUSED(type),
const wxString& url) const
{
return GetFS()->OpenFile(url);
}
//-----------------------------------------------------------------------------
// wxHtmlParser::ExtractCharsetInformation
//-----------------------------------------------------------------------------
class wxMetaTagParser : public wxHtmlParser
{
public:
wxObject* GetProduct() { return NULL; }
protected:
virtual void AddText(const wxChar* WXUNUSED(txt)) {}
};
class wxMetaTagHandler : public wxHtmlTagHandler
{
public:
wxMetaTagHandler(wxString *retval) : wxHtmlTagHandler(), m_retval(retval) {}
wxString GetSupportedTags() { return wxT("META,BODY"); }
bool HandleTag(const wxHtmlTag& tag);
private:
wxString *m_retval;
};
bool wxMetaTagHandler::HandleTag(const wxHtmlTag& tag)
{
if (tag.GetName() == _T("BODY"))
{
m_Parser->StopParsing();
return FALSE;
}
if (tag.HasParam(_T("HTTP-EQUIV")) &&
tag.GetParam(_T("HTTP-EQUIV")) == _T("Content-Type") &&
tag.HasParam(_T("CONTENT")))
{
wxString content = tag.GetParam(_T("CONTENT"));
if (content.Left(19) == _T("text/html; charset="))
{
*m_retval = content.Mid(19);
m_Parser->StopParsing();
}
}
return FALSE;
}
/*static*/
wxString wxHtmlParser::ExtractCharsetInformation(const wxString& markup)
{
wxString charset;
wxMetaTagParser parser;
parser.AddTagHandler(new wxMetaTagHandler(&charset));
parser.Parse(markup);
return charset;
}
#endif

497
src/html/htmltag.cpp Normal file
View File

@@ -0,0 +1,497 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmltag.cpp
// Purpose: wxHtmlTag class (represents single tag)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "htmltag.h"
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/htmltag.h"
#include "wx/html/htmlpars.h"
#include "wx/colour.h"
#include <stdio.h> // for vsscanf
#include <stdarg.h>
//-----------------------------------------------------------------------------
// wxHtmlTagsCache
//-----------------------------------------------------------------------------
struct wxHtmlCacheItem
{
// this is "pos" value passed to wxHtmlTag's constructor.
// it is position of '<' character of the tag
int Key;
// end positions for the tag:
// end1 is '<' of ending tag,
// end2 is '>' or both are
// -1 if there is no ending tag for this one...
// or -2 if this is ending tag </...>
int End1, End2;
// name of this tag
wxChar *Name;
};
IMPLEMENT_CLASS(wxHtmlTagsCache,wxObject)
#define CACHE_INCREMENT 64
bool wxIsCDATAElement(const wxChar *tag)
{
return (wxStrcmp(tag, _T("SCRIPT")) == 0) ||
(wxStrcmp(tag, _T("STYLE")) == 0);
}
wxHtmlTagsCache::wxHtmlTagsCache(const wxString& source)
{
const wxChar *src = source.c_str();
int tg, stpos;
int lng = source.Length();
wxChar tagBuffer[256];
m_Cache = NULL;
m_CacheSize = 0;
m_CachePos = 0;
int pos = 0;
while (pos < lng)
{
if (src[pos] == wxT('<')) // tag found:
{
if (m_CacheSize % CACHE_INCREMENT == 0)
m_Cache = (wxHtmlCacheItem*) realloc(m_Cache, (m_CacheSize + CACHE_INCREMENT) * sizeof(wxHtmlCacheItem));
tg = m_CacheSize++;
m_Cache[tg].Key = stpos = pos++;
int i;
for ( i = 0;
pos < lng && i < (int)WXSIZEOF(tagBuffer) - 1 &&
src[pos] != wxT('>') && !wxIsspace(src[pos]);
i++, pos++ )
{
tagBuffer[i] = wxToupper(src[pos]);
}
tagBuffer[i] = _T('\0');
m_Cache[tg].Name = new wxChar[i+1];
memcpy(m_Cache[tg].Name, tagBuffer, (i+1)*sizeof(wxChar));
while (pos < lng && src[pos] != wxT('>')) pos++;
if (src[stpos+1] == wxT('/')) // ending tag:
{
m_Cache[tg].End1 = m_Cache[tg].End2 = -2;
// find matching begin tag:
for (i = tg; i >= 0; i--)
if ((m_Cache[i].End1 == -1) && (wxStrcmp(m_Cache[i].Name, tagBuffer+1) == 0))
{
m_Cache[i].End1 = stpos;
m_Cache[i].End2 = pos + 1;
break;
}
}
else
{
m_Cache[tg].End1 = m_Cache[tg].End2 = -1;
if (wxIsCDATAElement(tagBuffer))
{
// find next matching tag
int tag_len = wxStrlen(tagBuffer);
while (pos < lng)
{
// find the ending tag
while (pos + 1 < lng &&
(src[pos] != '<' || src[pos+1] != '/'))
++pos;
if (src[pos] == '<')
++pos;
// see if it matches
int match_pos = 0;
while (pos < lng && match_pos < tag_len && src[pos] != '>' && src[pos] != '<') {
if (wxToupper(src[pos]) == tagBuffer[match_pos]) {
++match_pos;
}
else if (src[pos] == wxT(' ') || src[pos] == wxT('\n') ||
src[pos] == wxT('\r') || src[pos] == wxT('\t')) {
// need to skip over these
}
else {
match_pos = 0;
}
++pos;
}
// found a match
if (match_pos == tag_len) {
pos = pos - tag_len - 3;
stpos = pos;
break;
}
else {
++pos;
}
}
}
}
}
pos++;
}
// ok, we're done, now we'll free .Name members of cache - we don't need it anymore:
for (int i = 0; i < m_CacheSize; i++)
{
delete[] m_Cache[i].Name;
m_Cache[i].Name = NULL;
}
}
void wxHtmlTagsCache::QueryTag(int at, int* end1, int* end2)
{
if (m_Cache == NULL) return;
if (m_Cache[m_CachePos].Key != at)
{
int delta = (at < m_Cache[m_CachePos].Key) ? -1 : 1;
do
{
m_CachePos += delta;
}
while (m_Cache[m_CachePos].Key != at);
}
*end1 = m_Cache[m_CachePos].End1;
*end2 = m_Cache[m_CachePos].End2;
}
//-----------------------------------------------------------------------------
// wxHtmlTag
//-----------------------------------------------------------------------------
IMPLEMENT_CLASS(wxHtmlTag,wxObject)
wxHtmlTag::wxHtmlTag(wxHtmlTag *parent,
const wxString& source, int pos, int end_pos,
wxHtmlTagsCache *cache,
wxHtmlEntitiesParser *entParser) : wxObject()
{
/* Setup DOM relations */
m_Next = NULL;
m_FirstChild = m_LastChild = NULL;
m_Parent = parent;
if (parent)
{
m_Prev = m_Parent->m_LastChild;
if (m_Prev == NULL)
m_Parent->m_FirstChild = this;
else
m_Prev->m_Next = this;
m_Parent->m_LastChild = this;
}
else
m_Prev = NULL;
/* Find parameters and their values: */
int i;
wxChar c;
// fill-in name, params and begin pos:
i = pos+1;
// find tag's name and convert it to uppercase:
while ((i < end_pos) &&
((c = source[i++]) != wxT(' ') && c != wxT('\r') &&
c != wxT('\n') && c != wxT('\t') &&
c != wxT('>')))
{
if ((c >= wxT('a')) && (c <= wxT('z')))
c -= (wxT('a') - wxT('A'));
m_Name << c;
}
// if the tag has parameters, read them and "normalize" them,
// i.e. convert to uppercase, replace whitespaces by spaces and
// remove whitespaces around '=':
if (source[i-1] != wxT('>'))
{
#define IS_WHITE(c) (c == wxT(' ') || c == wxT('\r') || \
c == wxT('\n') || c == wxT('\t'))
wxString pname, pvalue;
wxChar quote;
enum
{
ST_BEFORE_NAME = 1,
ST_NAME,
ST_BEFORE_EQ,
ST_BEFORE_VALUE,
ST_VALUE
} state;
quote = 0;
state = ST_BEFORE_NAME;
while (i < end_pos)
{
c = source[i++];
if (c == wxT('>') && !(state == ST_VALUE && quote != 0))
{
if (state == ST_BEFORE_EQ || state == ST_NAME)
{
m_ParamNames.Add(pname);
m_ParamValues.Add(wxEmptyString);
}
else if (state == ST_VALUE && quote == 0)
{
m_ParamNames.Add(pname);
if (entParser)
m_ParamValues.Add(entParser->Parse(pvalue));
else
m_ParamValues.Add(pvalue);
}
break;
}
switch (state)
{
case ST_BEFORE_NAME:
if (!IS_WHITE(c))
{
pname = c;
state = ST_NAME;
}
break;
case ST_NAME:
if (IS_WHITE(c))
state = ST_BEFORE_EQ;
else if (c == wxT('='))
state = ST_BEFORE_VALUE;
else
pname << c;
break;
case ST_BEFORE_EQ:
if (c == wxT('='))
state = ST_BEFORE_VALUE;
else if (!IS_WHITE(c))
{
m_ParamNames.Add(pname);
m_ParamValues.Add(wxEmptyString);
pname = c;
state = ST_NAME;
}
break;
case ST_BEFORE_VALUE:
if (!IS_WHITE(c))
{
if (c == wxT('"') || c == wxT('\''))
quote = c, pvalue = wxEmptyString;
else
quote = 0, pvalue = c;
state = ST_VALUE;
}
break;
case ST_VALUE:
if ((quote != 0 && c == quote) ||
(quote == 0 && IS_WHITE(c)))
{
m_ParamNames.Add(pname);
if (quote == 0)
{
// VS: backward compatibility, no real reason,
// but wxHTML code relies on this... :(
pvalue.MakeUpper();
}
if (entParser)
m_ParamValues.Add(entParser->Parse(pvalue));
else
m_ParamValues.Add(pvalue);
state = ST_BEFORE_NAME;
}
else
pvalue << c;
break;
}
}
#undef IS_WHITE
}
m_Begin = i;
cache->QueryTag(pos, &m_End1, &m_End2);
if (m_End1 > end_pos) m_End1 = end_pos;
if (m_End2 > end_pos) m_End2 = end_pos;
}
wxHtmlTag::~wxHtmlTag()
{
wxHtmlTag *t1, *t2;
t1 = m_FirstChild;
while (t1)
{
t2 = t1->GetNextSibling();
delete t1;
t1 = t2;
}
}
bool wxHtmlTag::HasParam(const wxString& par) const
{
return (m_ParamNames.Index(par, FALSE) != wxNOT_FOUND);
}
wxString wxHtmlTag::GetParam(const wxString& par, bool with_commas) const
{
int index = m_ParamNames.Index(par, FALSE);
if (index == wxNOT_FOUND)
return wxEmptyString;
if (with_commas)
{
// VS: backward compatibility, seems to be never used by wxHTML...
wxString s;
s << wxT('"') << m_ParamValues[index] << wxT('"');
return s;
}
else
return m_ParamValues[index];
}
int wxHtmlTag::ScanParam(const wxString& par,
const wxChar *format,
void *param) const
{
wxString parval = GetParam(par);
return wxSscanf(parval, format, param);
}
bool wxHtmlTag::GetParamAsColour(const wxString& par, wxColour *clr) const
{
wxString str = GetParam(par);
if (str.IsEmpty()) return FALSE;
if (str.GetChar(0) == wxT('#'))
{
unsigned long tmp;
if (ScanParam(par, wxT("#%lX"), &tmp) != 1)
return FALSE;
*clr = wxColour((unsigned char)((tmp & 0xFF0000) >> 16),
(unsigned char)((tmp & 0x00FF00) >> 8),
(unsigned char)(tmp & 0x0000FF));
return TRUE;
}
else
{
// Handle colours defined in HTML 4.0:
#define HTML_COLOUR(name,r,g,b) \
if (str.IsSameAs(wxT(name), FALSE)) \
{ *clr = wxColour(r,g,b); return TRUE; }
HTML_COLOUR("black", 0x00,0x00,0x00)
HTML_COLOUR("silver", 0xC0,0xC0,0xC0)
HTML_COLOUR("gray", 0x80,0x80,0x80)
HTML_COLOUR("white", 0xFF,0xFF,0xFF)
HTML_COLOUR("maroon", 0x80,0x00,0x00)
HTML_COLOUR("red", 0xFF,0x00,0x00)
HTML_COLOUR("purple", 0x80,0x00,0x80)
HTML_COLOUR("fuchsia", 0xFF,0x00,0xFF)
HTML_COLOUR("green", 0x00,0x80,0x00)
HTML_COLOUR("lime", 0x00,0xFF,0x00)
HTML_COLOUR("olive", 0x80,0x80,0x00)
HTML_COLOUR("yellow", 0xFF,0xFF,0x00)
HTML_COLOUR("navy", 0x00,0x00,0x80)
HTML_COLOUR("blue", 0x00,0x00,0xFF)
HTML_COLOUR("teal", 0x00,0x80,0x80)
HTML_COLOUR("aqua", 0x00,0xFF,0xFF)
#undef HTML_COLOUR
}
return FALSE;
}
bool wxHtmlTag::GetParamAsInt(const wxString& par, int *clr) const
{
if (!HasParam(par)) return FALSE;
long i;
bool succ = GetParam(par).ToLong(&i);
*clr = (int)i;
return succ;
}
wxString wxHtmlTag::GetAllParams() const
{
// VS: this function is for backward compatiblity only,
// never used by wxHTML
wxString s;
size_t cnt = m_ParamNames.GetCount();
for (size_t i = 0; i < cnt; i++)
{
s << m_ParamNames[i];
s << wxT('=');
if (m_ParamValues[i].Find(wxT('"')) != wxNOT_FOUND)
s << wxT('\'') << m_ParamValues[i] << wxT('\'');
else
s << wxT('"') << m_ParamValues[i] << wxT('"');
}
return s;
}
wxHtmlTag *wxHtmlTag::GetFirstSibling() const
{
if (m_Parent)
return m_Parent->m_FirstChild;
else
{
wxHtmlTag *cur = (wxHtmlTag*)this;
while (cur->m_Prev)
cur = cur->m_Prev;
return cur;
}
}
wxHtmlTag *wxHtmlTag::GetLastSibling() const
{
if (m_Parent)
return m_Parent->m_LastChild;
else
{
wxHtmlTag *cur = (wxHtmlTag*)this;
while (cur->m_Next)
cur = cur->m_Next;
return cur;
}
}
wxHtmlTag *wxHtmlTag::GetNextTag() const
{
if (m_FirstChild) return m_FirstChild;
if (m_Next) return m_Next;
wxHtmlTag *cur = m_Parent;
if (!cur) return NULL;
while (cur->m_Parent && !cur->m_Next)
cur = cur->m_Parent;
return cur->m_Next;
}
#endif

798
src/html/htmlwin.cpp Normal file
View File

@@ -0,0 +1,798 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmlwin.cpp
// Purpose: wxHtmlWindow class for parsing & displaying HTML (implementation)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "htmlwin.h"
#pragma implementation "htmlproc.h"
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/log.h"
#include "wx/intl.h"
#include "wx/dcclient.h"
#include "wx/frame.h"
#endif
#include "wx/html/htmlwin.h"
#include "wx/html/htmlproc.h"
#include "wx/list.h"
#include "wx/arrimpl.cpp"
#include "wx/listimpl.cpp"
//-----------------------------------------------------------------------------
// wxHtmlHistoryItem
//-----------------------------------------------------------------------------
// item of history list
class WXDLLEXPORT wxHtmlHistoryItem
{
public:
wxHtmlHistoryItem(const wxString& p, const wxString& a) {m_Page = p, m_Anchor = a, m_Pos = 0;}
int GetPos() const {return m_Pos;}
void SetPos(int p) {m_Pos = p;}
const wxString& GetPage() const {return m_Page;}
const wxString& GetAnchor() const {return m_Anchor;}
private:
wxString m_Page;
wxString m_Anchor;
int m_Pos;
};
//-----------------------------------------------------------------------------
// our private arrays:
//-----------------------------------------------------------------------------
WX_DECLARE_OBJARRAY(wxHtmlHistoryItem, wxHtmlHistoryArray);
WX_DEFINE_OBJARRAY(wxHtmlHistoryArray);
WX_DECLARE_LIST(wxHtmlProcessor, wxHtmlProcessorList);
WX_DEFINE_LIST(wxHtmlProcessorList);
//-----------------------------------------------------------------------------
// wxHtmlWindow
//-----------------------------------------------------------------------------
void wxHtmlWindow::Init()
{
m_tmpMouseMoved = FALSE;
m_tmpLastLink = NULL;
m_tmpLastCell = NULL;
m_tmpCanDrawLocks = 0;
m_FS = new wxFileSystem();
m_RelatedStatusBar = -1;
m_RelatedFrame = NULL;
m_TitleFormat = wxT("%s");
m_OpenedPage = m_OpenedAnchor = m_OpenedPageTitle = wxEmptyString;
m_Cell = NULL;
m_Parser = new wxHtmlWinParser(this);
m_Parser->SetFS(m_FS);
m_HistoryPos = -1;
m_HistoryOn = TRUE;
m_History = new wxHtmlHistoryArray;
m_Processors = NULL;
m_Style = 0;
SetBorders(10);
}
bool wxHtmlWindow::Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos, const wxSize& size,
long style, const wxString& name)
{
if (!wxScrolledWindow::Create(parent, id, pos, size,
style | wxVSCROLL | wxHSCROLL, name))
return FALSE;
m_Style = style;
SetPage(wxT("<html><body></body></html>"));
return TRUE;
}
wxHtmlWindow::~wxHtmlWindow()
{
HistoryClear();
if (m_Cell) delete m_Cell;
delete m_Parser;
delete m_FS;
delete m_History;
delete m_Processors;
}
void wxHtmlWindow::SetRelatedFrame(wxFrame* frame, const wxString& format)
{
m_RelatedFrame = frame;
m_TitleFormat = format;
}
void wxHtmlWindow::SetRelatedStatusBar(int bar)
{
m_RelatedStatusBar = bar;
}
void wxHtmlWindow::SetFonts(wxString normal_face, wxString fixed_face, const int *sizes)
{
wxString op = m_OpenedPage;
m_Parser->SetFonts(normal_face, fixed_face, sizes);
// fonts changed => contents invalid, so reload the page:
SetPage(wxT("<html><body></body></html>"));
if (!op.IsEmpty()) LoadPage(op);
}
bool wxHtmlWindow::SetPage(const wxString& source)
{
wxString newsrc(source);
// pass HTML through registered processors:
if (m_Processors || m_GlobalProcessors)
{
wxHtmlProcessorList::Node *nodeL, *nodeG;
int prL, prG;
nodeL = (m_Processors) ? m_Processors->GetFirst() : NULL;
nodeG = (m_GlobalProcessors) ? m_GlobalProcessors->GetFirst() : NULL;
// VS: there are two lists, global and local, both of them sorted by
// priority. Since we have to go through _both_ lists with
// decreasing priority, we "merge-sort" the lists on-line by
// processing that one of the two heads that has higher priority
// in every iteration
while (nodeL || nodeG)
{
prL = (nodeL) ? nodeL->GetData()->GetPriority() : -1;
prG = (nodeG) ? nodeG->GetData()->GetPriority() : -1;
if (prL > prG)
{
if (nodeL->GetData()->IsEnabled())
newsrc = nodeL->GetData()->Process(newsrc);
nodeL = nodeL->GetNext();
}
else // prL <= prG
{
if (nodeG->GetData()->IsEnabled())
newsrc = nodeG->GetData()->Process(newsrc);
nodeG = nodeG->GetNext();
}
}
}
// ...and run the parser on it:
wxClientDC *dc = new wxClientDC(this);
dc->SetMapMode(wxMM_TEXT);
SetBackgroundColour(wxColour(0xFF, 0xFF, 0xFF));
m_OpenedPage = m_OpenedAnchor = m_OpenedPageTitle = wxEmptyString;
m_Parser->SetDC(dc);
if (m_Cell)
{
delete m_Cell;
m_Cell = NULL;
}
m_Cell = (wxHtmlContainerCell*) m_Parser->Parse(newsrc);
delete dc;
m_Cell->SetIndent(m_Borders, wxHTML_INDENT_ALL, wxHTML_UNITS_PIXELS);
m_Cell->SetAlignHor(wxHTML_ALIGN_CENTER);
CreateLayout();
if (m_tmpCanDrawLocks == 0)
Refresh();
return TRUE;
}
bool wxHtmlWindow::AppendToPage(const wxString& source)
{
return SetPage(*(GetParser()->GetSource()) + source);
}
bool wxHtmlWindow::LoadPage(const wxString& location)
{
wxBusyCursor busyCursor;
wxFSFile *f;
bool rt_val;
bool needs_refresh = FALSE;
m_tmpCanDrawLocks++;
if (m_HistoryOn && (m_HistoryPos != -1))
{
// store scroll position into history item:
int x, y;
GetViewStart(&x, &y);
(*m_History)[m_HistoryPos].SetPos(y);
}
if (location[0] == wxT('#'))
{
// local anchor:
wxString anch = location.Mid(1) /*1 to end*/;
m_tmpCanDrawLocks--;
rt_val = ScrollToAnchor(anch);
m_tmpCanDrawLocks++;
}
else if (location.Find(wxT('#')) != wxNOT_FOUND && location.BeforeFirst(wxT('#')) == m_OpenedPage)
{
wxString anch = location.AfterFirst(wxT('#'));
m_tmpCanDrawLocks--;
rt_val = ScrollToAnchor(anch);
m_tmpCanDrawLocks++;
}
else if (location.Find(wxT('#')) != wxNOT_FOUND &&
(m_FS->GetPath() + location.BeforeFirst(wxT('#'))) == m_OpenedPage)
{
wxString anch = location.AfterFirst(wxT('#'));
m_tmpCanDrawLocks--;
rt_val = ScrollToAnchor(anch);
m_tmpCanDrawLocks++;
}
else
{
needs_refresh = TRUE;
// load&display it:
if (m_RelatedStatusBar != -1)
{
m_RelatedFrame->SetStatusText(_("Connecting..."), m_RelatedStatusBar);
Refresh(FALSE);
}
f = m_Parser->OpenURL(wxHTML_URL_PAGE, location);
// try to interpret 'location' as filename instead of URL:
if (f == NULL)
{
wxFileName fn(location);
wxString location2 = wxFileSystem::FileNameToURL(fn);
f = m_Parser->OpenURL(wxHTML_URL_PAGE, location2);
}
if (f == NULL)
{
wxLogError(_("Unable to open requested HTML document: %s"), location.c_str());
m_tmpCanDrawLocks--;
return FALSE;
}
else
{
wxNode *node;
wxString src = wxEmptyString;
if (m_RelatedStatusBar != -1)
{
wxString msg = _("Loading : ") + location;
m_RelatedFrame->SetStatusText(msg, m_RelatedStatusBar);
Refresh(FALSE);
}
node = m_Filters.GetFirst();
while (node)
{
wxHtmlFilter *h = (wxHtmlFilter*) node->GetData();
if (h->CanRead(*f))
{
src = h->ReadFile(*f);
break;
}
node = node->GetNext();
}
if (src == wxEmptyString)
{
if (m_DefaultFilter == NULL) m_DefaultFilter = GetDefaultFilter();
src = m_DefaultFilter->ReadFile(*f);
}
m_FS->ChangePathTo(f->GetLocation());
rt_val = SetPage(src);
m_OpenedPage = f->GetLocation();
if (f->GetAnchor() != wxEmptyString)
{
ScrollToAnchor(f->GetAnchor());
}
delete f;
if (m_RelatedStatusBar != -1) m_RelatedFrame->SetStatusText(_("Done"), m_RelatedStatusBar);
}
}
if (m_HistoryOn) // add this page to history there:
{
int c = m_History->GetCount() - (m_HistoryPos + 1);
if (m_HistoryPos < 0 ||
(*m_History)[m_HistoryPos].GetPage() != m_OpenedPage ||
(*m_History)[m_HistoryPos].GetAnchor() != m_OpenedAnchor)
{
m_HistoryPos++;
for (int i = 0; i < c; i++)
m_History->RemoveAt(m_HistoryPos);
m_History->Add(new wxHtmlHistoryItem(m_OpenedPage, m_OpenedAnchor));
}
}
if (m_OpenedPageTitle == wxEmptyString)
OnSetTitle(wxFileNameFromPath(m_OpenedPage));
if (needs_refresh)
{
m_tmpCanDrawLocks--;
Refresh();
}
else
m_tmpCanDrawLocks--;
return rt_val;
}
bool wxHtmlWindow::LoadFile(const wxFileName& filename)
{
wxString url = wxFileSystem::FileNameToURL(filename);
return LoadPage(url);
}
bool wxHtmlWindow::ScrollToAnchor(const wxString& anchor)
{
const wxHtmlCell *c = m_Cell->Find(wxHTML_COND_ISANCHOR, &anchor);
if (!c)
{
wxLogWarning(_("HTML anchor %s does not exist."), anchor.c_str());
return FALSE;
}
else
{
int y;
for (y = 0; c != NULL; c = c->GetParent()) y += c->GetPosY();
Scroll(-1, y / wxHTML_SCROLL_STEP);
m_OpenedAnchor = anchor;
return TRUE;
}
}
void wxHtmlWindow::OnSetTitle(const wxString& title)
{
if (m_RelatedFrame)
{
wxString tit;
tit.Printf(m_TitleFormat, title.c_str());
m_RelatedFrame->SetTitle(tit);
}
m_OpenedPageTitle = title;
}
void wxHtmlWindow::CreateLayout()
{
int ClientWidth, ClientHeight;
if (!m_Cell) return;
if (m_Style & wxHW_SCROLLBAR_NEVER)
{
SetScrollbars(wxHTML_SCROLL_STEP, 1, m_Cell->GetWidth() / wxHTML_SCROLL_STEP, 0); // always off
GetClientSize(&ClientWidth, &ClientHeight);
m_Cell->Layout(ClientWidth);
}
else {
GetClientSize(&ClientWidth, &ClientHeight);
m_Cell->Layout(ClientWidth);
if (ClientHeight < m_Cell->GetHeight() + GetCharHeight())
{
SetScrollbars(
wxHTML_SCROLL_STEP, wxHTML_SCROLL_STEP,
m_Cell->GetWidth() / wxHTML_SCROLL_STEP,
(m_Cell->GetHeight() + GetCharHeight()) / wxHTML_SCROLL_STEP
/*cheat: top-level frag is always container*/);
}
else /* we fit into window, no need for scrollbars */
{
SetScrollbars(wxHTML_SCROLL_STEP, 1, m_Cell->GetWidth() / wxHTML_SCROLL_STEP, 0); // disable...
GetClientSize(&ClientWidth, &ClientHeight);
m_Cell->Layout(ClientWidth); // ...and relayout
}
}
}
void wxHtmlWindow::ReadCustomization(wxConfigBase *cfg, wxString path)
{
wxString oldpath;
wxString tmp;
int p_fontsizes[7];
wxString p_fff, p_ffn;
if (path != wxEmptyString)
{
oldpath = cfg->GetPath();
cfg->SetPath(path);
}
m_Borders = cfg->Read(wxT("wxHtmlWindow/Borders"), m_Borders);
p_fff = cfg->Read(wxT("wxHtmlWindow/FontFaceFixed"), m_Parser->m_FontFaceFixed);
p_ffn = cfg->Read(wxT("wxHtmlWindow/FontFaceNormal"), m_Parser->m_FontFaceNormal);
for (int i = 0; i < 7; i++)
{
tmp.Printf(wxT("wxHtmlWindow/FontsSize%i"), i);
p_fontsizes[i] = cfg->Read(tmp, m_Parser->m_FontsSizes[i]);
}
SetFonts(p_ffn, p_fff, p_fontsizes);
if (path != wxEmptyString)
cfg->SetPath(oldpath);
}
void wxHtmlWindow::WriteCustomization(wxConfigBase *cfg, wxString path)
{
wxString oldpath;
wxString tmp;
if (path != wxEmptyString)
{
oldpath = cfg->GetPath();
cfg->SetPath(path);
}
cfg->Write(wxT("wxHtmlWindow/Borders"), (long) m_Borders);
cfg->Write(wxT("wxHtmlWindow/FontFaceFixed"), m_Parser->m_FontFaceFixed);
cfg->Write(wxT("wxHtmlWindow/FontFaceNormal"), m_Parser->m_FontFaceNormal);
for (int i = 0; i < 7; i++)
{
tmp.Printf(wxT("wxHtmlWindow/FontsSize%i"), i);
cfg->Write(tmp, (long) m_Parser->m_FontsSizes[i]);
}
if (path != wxEmptyString)
cfg->SetPath(oldpath);
}
bool wxHtmlWindow::HistoryBack()
{
wxString a, l;
if (m_HistoryPos < 1) return FALSE;
// store scroll position into history item:
int x, y;
GetViewStart(&x, &y);
(*m_History)[m_HistoryPos].SetPos(y);
// go to previous position:
m_HistoryPos--;
l = (*m_History)[m_HistoryPos].GetPage();
a = (*m_History)[m_HistoryPos].GetAnchor();
m_HistoryOn = FALSE;
m_tmpCanDrawLocks++;
if (a == wxEmptyString) LoadPage(l);
else LoadPage(l + wxT("#") + a);
m_HistoryOn = TRUE;
m_tmpCanDrawLocks--;
Scroll(0, (*m_History)[m_HistoryPos].GetPos());
Refresh();
return TRUE;
}
bool wxHtmlWindow::HistoryCanBack()
{
if (m_HistoryPos < 1) return FALSE;
return TRUE ;
}
bool wxHtmlWindow::HistoryForward()
{
wxString a, l;
if (m_HistoryPos == -1) return FALSE;
if (m_HistoryPos >= (int)m_History->GetCount() - 1)return FALSE;
m_OpenedPage = wxEmptyString; // this will disable adding new entry into history in LoadPage()
m_HistoryPos++;
l = (*m_History)[m_HistoryPos].GetPage();
a = (*m_History)[m_HistoryPos].GetAnchor();
m_HistoryOn = FALSE;
m_tmpCanDrawLocks++;
if (a == wxEmptyString) LoadPage(l);
else LoadPage(l + wxT("#") + a);
m_HistoryOn = TRUE;
m_tmpCanDrawLocks--;
Scroll(0, (*m_History)[m_HistoryPos].GetPos());
Refresh();
return TRUE;
}
bool wxHtmlWindow::HistoryCanForward()
{
if (m_HistoryPos == -1) return FALSE;
if (m_HistoryPos >= (int)m_History->GetCount() - 1)return FALSE;
return TRUE ;
}
void wxHtmlWindow::HistoryClear()
{
m_History->Empty();
m_HistoryPos = -1;
}
void wxHtmlWindow::AddProcessor(wxHtmlProcessor *processor)
{
if (!m_Processors)
{
m_Processors = new wxHtmlProcessorList;
m_Processors->DeleteContents(TRUE);
}
wxHtmlProcessorList::Node *node;
for (node = m_Processors->GetFirst(); node; node = node->GetNext())
{
if (processor->GetPriority() > node->GetData()->GetPriority())
{
m_Processors->Insert(node, processor);
return;
}
}
m_Processors->Append(processor);
}
/*static */ void wxHtmlWindow::AddGlobalProcessor(wxHtmlProcessor *processor)
{
if (!m_GlobalProcessors)
{
m_GlobalProcessors = new wxHtmlProcessorList;
m_GlobalProcessors->DeleteContents(TRUE);
}
wxHtmlProcessorList::Node *node;
for (node = m_GlobalProcessors->GetFirst(); node; node = node->GetNext())
{
if (processor->GetPriority() > node->GetData()->GetPriority())
{
m_GlobalProcessors->Insert(node, processor);
return;
}
}
m_GlobalProcessors->Append(processor);
}
wxList wxHtmlWindow::m_Filters;
wxHtmlFilter *wxHtmlWindow::m_DefaultFilter = NULL;
wxCursor *wxHtmlWindow::s_cur_hand = NULL;
wxCursor *wxHtmlWindow::s_cur_arrow = NULL;
wxHtmlProcessorList *wxHtmlWindow::m_GlobalProcessors = NULL;
void wxHtmlWindow::CleanUpStatics()
{
wxDELETE(m_DefaultFilter);
m_Filters.DeleteContents(TRUE);
m_Filters.Clear();
wxDELETE(m_GlobalProcessors);
wxDELETE(s_cur_hand);
wxDELETE(s_cur_arrow);
}
void wxHtmlWindow::AddFilter(wxHtmlFilter *filter)
{
m_Filters.Append(filter);
}
void wxHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
{
LoadPage(link.GetHref());
}
void wxHtmlWindow::OnCellClicked(wxHtmlCell *cell,
wxCoord x, wxCoord y,
const wxMouseEvent& event)
{
wxCHECK_RET( cell, _T("can't be called with NULL cell") );
cell->OnMouseClick(this, x, y, event);
}
void wxHtmlWindow::OnCellMouseHover(wxHtmlCell * WXUNUSED(cell),
wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
{
// do nothing here
}
void wxHtmlWindow::OnDraw(wxDC& dc)
{
if (m_tmpCanDrawLocks > 0 || m_Cell == NULL) return;
int x, y;
wxRect rect = GetUpdateRegion().GetBox();
dc.SetMapMode(wxMM_TEXT);
dc.SetBackgroundMode(wxTRANSPARENT);
GetViewStart(&x, &y);
m_Cell->Draw(dc, 0, 0,
y * wxHTML_SCROLL_STEP + rect.GetTop(),
y * wxHTML_SCROLL_STEP + rect.GetBottom());
}
void wxHtmlWindow::OnSize(wxSizeEvent& event)
{
wxScrolledWindow::OnSize(event);
CreateLayout();
Refresh();
}
void wxHtmlWindow::OnMouseEvent(wxMouseEvent& event)
{
m_tmpMouseMoved = TRUE;
if (event.ButtonDown())
{
SetFocus();
if ( m_Cell )
{
int sx, sy;
GetViewStart(&sx, &sy);
sx *= wxHTML_SCROLL_STEP;
sy *= wxHTML_SCROLL_STEP;
wxPoint pos = event.GetPosition();
pos.x += sx;
pos.y += sy;
wxHtmlCell *cell = m_Cell->FindCellByPos(pos.x, pos.y);
// VZ: is it possible that we don't find anything at all?
// VS: yes. FindCellByPos returns terminal cell and
// containers may have empty borders
if ( cell )
OnCellClicked(cell, pos.x, pos.y, event);
}
}
}
void wxHtmlWindow::OnIdle(wxIdleEvent& WXUNUSED(event))
{
if (s_cur_hand == NULL)
{
s_cur_hand = new wxCursor(wxCURSOR_HAND);
s_cur_arrow = new wxCursor(wxCURSOR_ARROW);
}
if (m_tmpMouseMoved && (m_Cell != NULL))
{
int sx, sy;
GetViewStart(&sx, &sy);
sx *= wxHTML_SCROLL_STEP;
sy *= wxHTML_SCROLL_STEP;
int x, y;
wxGetMousePosition(&x, &y);
ScreenToClient(&x, &y);
x += sx;
y += sy;
wxHtmlCell *cell = m_Cell->FindCellByPos(x, y);
if ( cell != m_tmpLastCell )
{
wxHtmlLinkInfo *lnk = cell ? cell->GetLink(x, y) : NULL;
if (lnk != m_tmpLastLink)
{
if (lnk == NULL)
{
SetCursor(*s_cur_arrow);
if (m_RelatedStatusBar != -1)
m_RelatedFrame->SetStatusText(wxEmptyString, m_RelatedStatusBar);
}
else
{
SetCursor(*s_cur_hand);
if (m_RelatedStatusBar != -1)
m_RelatedFrame->SetStatusText(lnk->GetHref(), m_RelatedStatusBar);
}
m_tmpLastLink = lnk;
}
m_tmpLastCell = cell;
}
else // mouse moved but stayed in the same cell
{
if ( cell )
OnCellMouseHover(cell, x, y);
}
m_tmpMouseMoved = FALSE;
}
}
IMPLEMENT_ABSTRACT_CLASS(wxHtmlProcessor,wxObject)
IMPLEMENT_DYNAMIC_CLASS(wxHtmlWindow,wxScrolledWindow)
BEGIN_EVENT_TABLE(wxHtmlWindow, wxScrolledWindow)
EVT_SIZE(wxHtmlWindow::OnSize)
EVT_LEFT_DOWN(wxHtmlWindow::OnMouseEvent)
EVT_RIGHT_DOWN(wxHtmlWindow::OnMouseEvent)
EVT_MOTION(wxHtmlWindow::OnMouseEvent)
EVT_IDLE(wxHtmlWindow::OnIdle)
END_EVENT_TABLE()
// A module to allow initialization/cleanup
// without calling these functions from app.cpp or from
// the user's application.
class wxHtmlWinModule: public wxModule
{
DECLARE_DYNAMIC_CLASS(wxHtmlWinModule)
public:
wxHtmlWinModule() : wxModule() {}
bool OnInit() { return TRUE; }
void OnExit() { wxHtmlWindow::CleanUpStatics(); }
};
IMPLEMENT_DYNAMIC_CLASS(wxHtmlWinModule, wxModule)
// This hack forces the linker to always link in m_* files
// (wxHTML doesn't work without handlers from these files)
#include "wx/html/forcelnk.h"
FORCE_WXHTML_MODULES()
#endif

633
src/html/htmprint.cpp Normal file
View File

@@ -0,0 +1,633 @@
/////////////////////////////////////////////////////////////////////////////
// Name: htmprint.cpp
// Purpose: html printing classes
// Author: Vaclav Slavik
// Created: 25/09/99
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik, 1999
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "htmprint.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#include "wx/defs.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/log.h"
#include "wx/intl.h"
#include "wx/dc.h"
#endif
#if wxUSE_HTML && wxUSE_PRINTING_ARCHITECTURE && wxUSE_STREAMS
#include "wx/dc.h"
#include "wx/print.h"
#include "wx/printdlg.h"
#include "wx/html/htmprint.h"
#include "wx/wxhtml.h"
#include "wx/wfstream.h"
//--------------------------------------------------------------------------------
// wxHtmlDCRenderer
//--------------------------------------------------------------------------------
wxHtmlDCRenderer::wxHtmlDCRenderer() : wxObject()
{
m_DC = NULL;
m_Width = m_Height = 0;
m_Cells = NULL;
m_Parser = new wxHtmlWinParser(NULL);
m_FS = new wxFileSystem();
m_Parser->SetFS(m_FS);
}
wxHtmlDCRenderer::~wxHtmlDCRenderer()
{
if (m_Cells) delete m_Cells;
if (m_Parser) delete m_Parser;
if (m_FS) delete m_FS;
}
void wxHtmlDCRenderer::SetDC(wxDC *dc, double pixel_scale)
{
m_DC = dc;
m_Parser->SetDC(m_DC, pixel_scale);
}
void wxHtmlDCRenderer::SetSize(int width, int height)
{
m_Width = width;
m_Height = height;
}
void wxHtmlDCRenderer::SetHtmlText(const wxString& html, const wxString& basepath, bool isdir)
{
if (m_DC == NULL) return;
if (m_Cells != NULL) delete m_Cells;
m_FS->ChangePathTo(basepath, isdir);
m_Cells = (wxHtmlContainerCell*) m_Parser->Parse(html);
m_Cells->SetIndent(0, wxHTML_INDENT_ALL, wxHTML_UNITS_PIXELS);
m_Cells->Layout(m_Width);
}
void wxHtmlDCRenderer::SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes)
{
m_Parser->SetFonts(normal_face, fixed_face, sizes);
if (m_DC == NULL && m_Cells != NULL) m_Cells->Layout(m_Width);
}
int wxHtmlDCRenderer::Render(int x, int y, int from, int dont_render, int to, int *known_pagebreaks, int number_of_pages)
{
int pbreak, hght;
if (m_Cells == NULL || m_DC == NULL) return 0;
pbreak = (int)(from + m_Height);
while (m_Cells->AdjustPagebreak(&pbreak, known_pagebreaks, number_of_pages)) {}
hght = pbreak - from;
if(to < hght)
hght = to;
if (!dont_render)
{
m_DC->SetBrush(*wxWHITE_BRUSH);
m_DC->SetClippingRegion(x, y, m_Width, hght);
m_Cells->Draw(*m_DC,
x, (y - from),
y, pbreak + (y /*- from*/));
m_DC->DestroyClippingRegion();
}
if (pbreak < m_Cells->GetHeight()) return pbreak;
else return GetTotalHeight();
}
int wxHtmlDCRenderer::GetTotalHeight()
{
if (m_Cells) return m_Cells->GetHeight();
else return 0;
}
//--------------------------------------------------------------------------------
// wxHtmlPrintout
//--------------------------------------------------------------------------------
wxHtmlPrintout::wxHtmlPrintout(const wxString& title) : wxPrintout(title)
{
m_Renderer = new wxHtmlDCRenderer;
m_RendererHdr = new wxHtmlDCRenderer;
m_NumPages = wxHTML_PRINT_MAX_PAGES;
m_Document = m_BasePath = wxEmptyString; m_BasePathIsDir = TRUE;
m_Headers[0] = m_Headers[1] = wxEmptyString;
m_Footers[0] = m_Footers[1] = wxEmptyString;
m_HeaderHeight = m_FooterHeight = 0;
SetMargins(); // to default values
}
wxHtmlPrintout::~wxHtmlPrintout()
{
delete m_Renderer;
delete m_RendererHdr;
}
bool wxHtmlPrintout::OnBeginDocument(int startPage, int endPage)
{
int pageWidth, pageHeight, mm_w, mm_h, scr_w, scr_h, dc_w, dc_h;
float ppmm_h, ppmm_v;
if (!wxPrintout::OnBeginDocument(startPage, endPage)) return FALSE;
GetPageSizePixels(&pageWidth, &pageHeight);
GetPageSizeMM(&mm_w, &mm_h);
ppmm_h = (float)pageWidth / mm_w;
ppmm_v = (float)pageHeight / mm_h;
int ppiPrinterX, ppiPrinterY;
GetPPIPrinter(&ppiPrinterX, &ppiPrinterY);
int ppiScreenX, ppiScreenY;
GetPPIScreen(&ppiScreenX, &ppiScreenY);
wxDisplaySize(&scr_w, &scr_h);
GetDC()->GetSize(&dc_w, &dc_h);
GetDC()->SetUserScale((double)dc_w / (double)pageWidth, (double)dc_w / (double)pageWidth);
/* prepare headers/footers renderer: */
m_RendererHdr->SetDC(GetDC(), (double)ppiPrinterY / (double)ppiScreenY);
m_RendererHdr->SetSize((int) (ppmm_h * (mm_w - m_MarginLeft - m_MarginRight)),
(int) (ppmm_v * (mm_h - m_MarginTop - m_MarginBottom)));
if (m_Headers[0] != wxEmptyString)
{
m_RendererHdr->SetHtmlText(TranslateHeader(m_Headers[0], 1));
m_HeaderHeight = m_RendererHdr->GetTotalHeight();
}
else if (m_Headers[1] != wxEmptyString)
{
m_RendererHdr->SetHtmlText(TranslateHeader(m_Headers[1], 1));
m_HeaderHeight = m_RendererHdr->GetTotalHeight();
}
if (m_Footers[0] != wxEmptyString)
{
m_RendererHdr->SetHtmlText(TranslateHeader(m_Footers[0], 1));
m_FooterHeight = m_RendererHdr->GetTotalHeight();
}
else if (m_Footers[1] != wxEmptyString)
{
m_RendererHdr->SetHtmlText(TranslateHeader(m_Footers[1], 1));
m_FooterHeight = m_RendererHdr->GetTotalHeight();
}
/* prepare main renderer: */
m_Renderer->SetDC(GetDC(), (double)ppiPrinterY / (double)ppiScreenY);
m_Renderer->SetSize((int) (ppmm_h * (mm_w - m_MarginLeft - m_MarginRight)),
(int) (ppmm_v * (mm_h - m_MarginTop - m_MarginBottom) -
m_FooterHeight - m_HeaderHeight -
((m_HeaderHeight == 0) ? 0 : m_MarginSpace * ppmm_v) -
((m_FooterHeight == 0) ? 0 : m_MarginSpace * ppmm_v)
));
m_Renderer->SetHtmlText(m_Document, m_BasePath, m_BasePathIsDir);
CountPages();
return TRUE;
}
bool wxHtmlPrintout::OnPrintPage(int page)
{
wxDC *dc = GetDC();
if (dc)
{
if (HasPage(page))
RenderPage(dc, page);
return TRUE;
}
else return FALSE;
}
void wxHtmlPrintout::GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo)
{
*minPage = 1;
*maxPage = wxHTML_PRINT_MAX_PAGES;
*selPageFrom = 1;
*selPageTo = wxHTML_PRINT_MAX_PAGES;
}
bool wxHtmlPrintout::HasPage(int pageNum)
{
return (pageNum >= 1 && pageNum <= m_NumPages);
}
void wxHtmlPrintout::SetHtmlText(const wxString& html, const wxString &basepath, bool isdir)
{
m_Document = html;
m_BasePath = basepath;
m_BasePathIsDir = isdir;
}
void wxHtmlPrintout::SetHtmlFile(const wxString& htmlfile)
{
wxFileSystem fs;
wxFSFile *ff = fs.OpenFile(htmlfile);
if (ff == NULL)
{
wxLogError(htmlfile + _(": file does not exist!"));
return;
}
wxHtmlFilterHTML filter;
wxString doc = filter.ReadFile(*ff);
SetHtmlText(doc, htmlfile, FALSE);
delete ff;
}
void wxHtmlPrintout::SetHeader(const wxString& header, int pg)
{
if (pg == wxPAGE_ALL || pg == wxPAGE_EVEN)
m_Headers[0] = header;
if (pg == wxPAGE_ALL || pg == wxPAGE_ODD)
m_Headers[1] = header;
}
void wxHtmlPrintout::SetFooter(const wxString& footer, int pg)
{
if (pg == wxPAGE_ALL || pg == wxPAGE_EVEN)
m_Footers[0] = footer;
if (pg == wxPAGE_ALL || pg == wxPAGE_ODD)
m_Footers[1] = footer;
}
void wxHtmlPrintout::CountPages()
{
wxBusyCursor wait;
int pageWidth, pageHeight, mm_w, mm_h;
float ppmm_h, ppmm_v;
GetPageSizePixels(&pageWidth, &pageHeight);
GetPageSizeMM(&mm_w, &mm_h);
ppmm_h = (float)pageWidth / mm_w;
ppmm_v = (float)pageHeight / mm_h;
int pos = 0;
m_NumPages = 0;
m_PageBreaks[0] = 0;
do
{
pos = m_Renderer->Render((int)( ppmm_h * m_MarginLeft),
(int) (ppmm_v * (m_MarginTop + (m_HeaderHeight == 0 ? 0 : m_MarginSpace)) + m_HeaderHeight),
pos, TRUE, INT_MAX, m_PageBreaks, m_NumPages);
m_PageBreaks[++m_NumPages] = pos;
} while (pos < m_Renderer->GetTotalHeight());
}
void wxHtmlPrintout::RenderPage(wxDC *dc, int page)
{
wxBusyCursor wait;
int pageWidth, pageHeight, mm_w, mm_h, scr_w, scr_h, dc_w, dc_h;
float ppmm_h, ppmm_v;
GetPageSizePixels(&pageWidth, &pageHeight);
GetPageSizeMM(&mm_w, &mm_h);
ppmm_h = (float)pageWidth / mm_w;
ppmm_v = (float)pageHeight / mm_h;
wxDisplaySize(&scr_w, &scr_h);
dc->GetSize(&dc_w, &dc_h);
int ppiPrinterX, ppiPrinterY;
GetPPIPrinter(&ppiPrinterX, &ppiPrinterY);
int ppiScreenX, ppiScreenY;
GetPPIScreen(&ppiScreenX, &ppiScreenY);
dc->SetUserScale((double)dc_w / (double)pageWidth, (double)dc_w / (double)pageWidth);
m_Renderer->SetDC(dc, (double)ppiPrinterY / (double)ppiScreenY);
dc->SetBackgroundMode(wxTRANSPARENT);
m_Renderer->Render((int) (ppmm_h * m_MarginLeft),
(int) (ppmm_v * (m_MarginTop + (m_HeaderHeight == 0 ? 0 : m_MarginSpace)) + m_HeaderHeight),
m_PageBreaks[page-1], FALSE, m_PageBreaks[page]-m_PageBreaks[page-1]);
m_RendererHdr->SetDC(dc, (double)ppiPrinterY / (double)ppiScreenY);
if (m_Headers[page % 2] != wxEmptyString)
{
m_RendererHdr->SetHtmlText(TranslateHeader(m_Headers[page % 2], page));
m_RendererHdr->Render((int) (ppmm_h * m_MarginLeft), (int) (ppmm_v * m_MarginTop));
}
if (m_Footers[page % 2] != wxEmptyString)
{
m_RendererHdr->SetHtmlText(TranslateHeader(m_Footers[page % 2], page));
m_RendererHdr->Render((int) (ppmm_h * m_MarginLeft), (int) (pageHeight - ppmm_v * m_MarginBottom - m_FooterHeight));
}
}
wxString wxHtmlPrintout::TranslateHeader(const wxString& instr, int page)
{
wxString r = instr;
wxString num;
num.Printf(wxT("%i"), page);
r.Replace(wxT("@PAGENUM@"), num);
num.Printf(wxT("%i"), m_NumPages);
r.Replace(wxT("@PAGESCNT@"), num);
return r;
}
void wxHtmlPrintout::SetMargins(float top, float bottom, float left, float right, float spaces)
{
m_MarginTop = top;
m_MarginBottom = bottom;
m_MarginLeft = left;
m_MarginRight = right;
m_MarginSpace = spaces;
}
void wxHtmlPrintout::SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes)
{
m_Renderer->SetFonts(normal_face, fixed_face, sizes);
m_RendererHdr->SetFonts(normal_face, fixed_face, sizes);
}
//----------------------------------------------------------------------------
// wxHtmlEasyPrinting
//----------------------------------------------------------------------------
wxHtmlEasyPrinting::wxHtmlEasyPrinting(const wxString& name, wxFrame *parent_frame)
{
m_Frame = parent_frame;
m_Name = name;
m_PrintData = new wxPrintData;
m_PageSetupData = new wxPageSetupDialogData;
m_Headers[0] = m_Headers[1] = m_Footers[0] = m_Footers[1] = wxEmptyString;
m_PageSetupData->EnableMargins(TRUE);
m_PageSetupData->SetMarginTopLeft(wxPoint(25, 25));
m_PageSetupData->SetMarginBottomRight(wxPoint(25, 25));
SetFonts(wxEmptyString, wxEmptyString, NULL);
}
wxHtmlEasyPrinting::~wxHtmlEasyPrinting()
{
delete m_PrintData;
delete m_PageSetupData;
}
bool wxHtmlEasyPrinting::PreviewFile(const wxString &htmlfile)
{
wxHtmlPrintout *p1 = CreatePrintout();
p1->SetHtmlFile(htmlfile);
wxHtmlPrintout *p2 = CreatePrintout();
p2->SetHtmlFile(htmlfile);
return DoPreview(p1, p2);
}
bool wxHtmlEasyPrinting::PreviewText(const wxString &htmltext, const wxString &basepath)
{
wxHtmlPrintout *p1 = CreatePrintout();
p1->SetHtmlText(htmltext, basepath, TRUE);
wxHtmlPrintout *p2 = CreatePrintout();
p2->SetHtmlText(htmltext, basepath, TRUE);
return DoPreview(p1, p2);
}
bool wxHtmlEasyPrinting::PrintFile(const wxString &htmlfile)
{
wxHtmlPrintout *p = CreatePrintout();
p->SetHtmlFile(htmlfile);
bool ret = DoPrint(p);
delete p;
return ret;
}
bool wxHtmlEasyPrinting::PrintText(const wxString &htmltext, const wxString &basepath)
{
wxHtmlPrintout *p = CreatePrintout();
p->SetHtmlText(htmltext, basepath, TRUE);
bool ret = DoPrint(p);
delete p;
return ret;
}
bool wxHtmlEasyPrinting::DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *printout2)
{
// Pass two printout objects: for preview, and possible printing.
wxPrintDialogData printDialogData(*m_PrintData);
wxPrintPreview *preview = new wxPrintPreview(printout1, printout2, &printDialogData);
if (!preview->Ok())
{
delete preview;
return FALSE;
}
wxPreviewFrame *frame = new wxPreviewFrame(preview, m_Frame,
m_Name + _(" Preview"),
wxPoint(100, 100), wxSize(650, 500));
frame->Centre(wxBOTH);
frame->Initialize();
frame->Show(TRUE);
return TRUE;
}
bool wxHtmlEasyPrinting::DoPrint(wxHtmlPrintout *printout)
{
wxPrintDialogData printDialogData(*m_PrintData);
wxPrinter printer(&printDialogData);
if (!printer.Print(m_Frame, printout, TRUE))
{
return FALSE;
}
(*m_PrintData) = printer.GetPrintDialogData().GetPrintData();
return TRUE;
}
void wxHtmlEasyPrinting::PrinterSetup()
{
wxPrintDialogData printDialogData(*m_PrintData);
wxPrintDialog printerDialog(m_Frame, &printDialogData);
printerDialog.GetPrintDialogData().SetSetupDialog(TRUE);
if (printerDialog.ShowModal() == wxID_OK)
(*m_PrintData) = printerDialog.GetPrintDialogData().GetPrintData();
}
void wxHtmlEasyPrinting::PageSetup()
{
if (!m_PrintData->Ok())
{
wxLogError(_("There was a problem during page setup: you may need to set a default printer."));
return;
}
m_PageSetupData->SetPrintData(*m_PrintData);
wxPageSetupDialog pageSetupDialog(m_Frame, m_PageSetupData);
if (pageSetupDialog.ShowModal() == wxID_OK)
{
(*m_PrintData) = pageSetupDialog.GetPageSetupData().GetPrintData();
(*m_PageSetupData) = pageSetupDialog.GetPageSetupData();
}
}
void wxHtmlEasyPrinting::SetHeader(const wxString& header, int pg)
{
if (pg == wxPAGE_ALL || pg == wxPAGE_EVEN)
m_Headers[0] = header;
if (pg == wxPAGE_ALL || pg == wxPAGE_ODD)
m_Headers[1] = header;
}
void wxHtmlEasyPrinting::SetFooter(const wxString& footer, int pg)
{
if (pg == wxPAGE_ALL || pg == wxPAGE_EVEN)
m_Footers[0] = footer;
if (pg == wxPAGE_ALL || pg == wxPAGE_ODD)
m_Footers[1] = footer;
}
void wxHtmlEasyPrinting::SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes)
{
m_FontFaceNormal = normal_face;
m_FontFaceFixed = fixed_face;
if (sizes)
{
m_FontsSizes = m_FontsSizesArr;
for (int i = 0; i < 7; i++) m_FontsSizes[i] = sizes[i];
}
else
m_FontsSizes = NULL;
}
wxHtmlPrintout *wxHtmlEasyPrinting::CreatePrintout()
{
wxHtmlPrintout *p = new wxHtmlPrintout(m_Name);
p->SetFonts(m_FontFaceNormal, m_FontFaceFixed, m_FontsSizes);
p->SetHeader(m_Headers[0], wxPAGE_EVEN);
p->SetHeader(m_Headers[1], wxPAGE_ODD);
p->SetFooter(m_Footers[0], wxPAGE_EVEN);
p->SetFooter(m_Footers[1], wxPAGE_ODD);
p->SetMargins(m_PageSetupData->GetMarginTopLeft().y,
m_PageSetupData->GetMarginBottomRight().y,
m_PageSetupData->GetMarginTopLeft().x,
m_PageSetupData->GetMarginBottomRight().x);
return p;
}
// This hack forces the linker to always link in m_* files
// (wxHTML doesn't work without handlers from these files)
#include "wx/html/forcelnk.h"
FORCE_WXHTML_MODULES()
#endif // wxUSE_HTML & wxUSE_PRINTING_ARCHITECTURE

90
src/html/m_dflist.cpp Normal file
View File

@@ -0,0 +1,90 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_dflist.cpp
// Purpose: wxHtml module for definition lists (DL,DT,DD)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlcell.h"
FORCE_LINK_ME(m_dflist)
TAG_HANDLER_BEGIN(DEFLIST, "DL,DT,DD" )
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c;
if (tag.GetName() == wxT("DL"))
{
if (m_WParser->GetContainer()->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
m_WParser->GetContainer()->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
ParseInner(tag);
if (m_WParser->GetContainer()->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
m_WParser->GetContainer()->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
return TRUE;
}
else if (tag.GetName() == wxT("DT"))
{
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetAlignHor(wxHTML_ALIGN_LEFT);
c->SetMinHeight(m_WParser->GetCharHeight());
return FALSE;
}
else // "DD"
{
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_LEFT);
return FALSE;
}
}
TAG_HANDLER_END(DEFLIST)
TAGS_MODULE_BEGIN(DefinitionList)
TAGS_MODULE_ADD(DEFLIST)
TAGS_MODULE_END(DefinitionList)
#endif

321
src/html/m_fonts.cpp Normal file
View File

@@ -0,0 +1,321 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_fonts.cpp
// Purpose: wxHtml module for fonts & colors of fonts
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/fontenum.h"
#include "wx/tokenzr.h"
FORCE_LINK_ME(m_fonts)
TAG_HANDLER_BEGIN(FONT, "FONT" )
TAG_HANDLER_VARS
wxArrayString m_Faces;
TAG_HANDLER_PROC(tag)
{
wxColour oldclr = m_WParser->GetActualColor();
int oldsize = m_WParser->GetFontSize();
wxString oldface = m_WParser->GetFontFace();
if (tag.HasParam(wxT("COLOR")))
{
wxColour clr;
if (tag.GetParamAsColour(wxT("COLOR"), &clr))
{
m_WParser->SetActualColor(clr);
m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(clr));
}
}
if (tag.HasParam(wxT("SIZE")))
{
int tmp = 0;
wxChar c = tag.GetParam(wxT("SIZE")).GetChar(0);
if (tag.GetParamAsInt(wxT("SIZE"), &tmp))
{
if (c == wxT('+') || c == wxT('-'))
m_WParser->SetFontSize(oldsize+tmp);
else
m_WParser->SetFontSize(tmp);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
}
}
if (tag.HasParam(wxT("FACE")))
{
if (m_Faces.GetCount() == 0)
{
wxFontEnumerator enu;
enu.EnumerateFacenames();
m_Faces = *enu.GetFacenames();
}
wxStringTokenizer tk(tag.GetParam(wxT("FACE")), wxT(","));
int index;
while (tk.HasMoreTokens())
{
if ((index = m_Faces.Index(tk.GetNextToken(), FALSE)) != wxNOT_FOUND)
{
m_WParser->SetFontFace(m_Faces[index]);
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
break;
}
}
}
ParseInner(tag);
if (oldface != m_WParser->GetFontFace())
{
m_WParser->SetFontFace(oldface);
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
}
if (oldsize != m_WParser->GetFontSize())
{
m_WParser->SetFontSize(oldsize);
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
}
if (oldclr != m_WParser->GetActualColor())
{
m_WParser->SetActualColor(oldclr);
m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(oldclr));
}
return TRUE;
}
TAG_HANDLER_END(FONT)
TAG_HANDLER_BEGIN(FACES_U, "U,STRIKE")
TAG_HANDLER_PROC(tag)
{
int underlined = m_WParser->GetFontUnderlined();
m_WParser->SetFontUnderlined(TRUE);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
ParseInner(tag);
m_WParser->SetFontUnderlined(underlined);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
return TRUE;
}
TAG_HANDLER_END(FACES_U)
TAG_HANDLER_BEGIN(FACES_B, "B,STRONG")
TAG_HANDLER_PROC(tag)
{
int bold = m_WParser->GetFontBold();
m_WParser->SetFontBold(TRUE);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
ParseInner(tag);
m_WParser->SetFontBold(bold);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
return TRUE;
}
TAG_HANDLER_END(FACES_B)
TAG_HANDLER_BEGIN(FACES_I, "I,EM,CITE,ADDRESS")
TAG_HANDLER_PROC(tag)
{
int italic = m_WParser->GetFontItalic();
m_WParser->SetFontItalic(TRUE);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
ParseInner(tag);
m_WParser->SetFontItalic(italic);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
return TRUE;
}
TAG_HANDLER_END(FACES_I)
TAG_HANDLER_BEGIN(FACES_TT, "TT,CODE,KBD,SAMP")
TAG_HANDLER_PROC(tag)
{
int fixed = m_WParser->GetFontFixed();
m_WParser->SetFontFixed(TRUE);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
ParseInner(tag);
m_WParser->SetFontFixed(fixed);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
return TRUE;
}
TAG_HANDLER_END(FACES_TT)
TAG_HANDLER_BEGIN(Hx, "H1,H2,H3,H4,H5,H6")
TAG_HANDLER_PROC(tag)
{
int old_size, old_b, old_i, old_u, old_f, old_al;
wxHtmlContainerCell *c;
old_size = m_WParser->GetFontSize();
old_b = m_WParser->GetFontBold();
old_i = m_WParser->GetFontItalic();
old_u = m_WParser->GetFontUnderlined();
old_f = m_WParser->GetFontFixed();
old_al = m_WParser->GetAlign();
m_WParser->SetFontBold(TRUE);
m_WParser->SetFontItalic(FALSE);
m_WParser->SetFontUnderlined(FALSE);
m_WParser->SetFontFixed(FALSE);
if (tag.GetName() == wxT("H1"))
m_WParser->SetFontSize(7);
else if (tag.GetName() == wxT("H2"))
m_WParser->SetFontSize(6);
else if (tag.GetName() == wxT("H3"))
m_WParser->SetFontSize(5);
else if (tag.GetName() == wxT("H4"))
{
m_WParser->SetFontSize(5);
m_WParser->SetFontItalic(TRUE);
m_WParser->SetFontBold(FALSE);
}
else if (tag.GetName() == wxT("H5"))
m_WParser->SetFontSize(4);
else if (tag.GetName() == wxT("H6"))
{
m_WParser->SetFontSize(4);
m_WParser->SetFontItalic(TRUE);
m_WParser->SetFontBold(FALSE);
}
c = m_WParser->GetContainer();
if (c->GetFirstCell())
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
c = m_WParser->GetContainer();
}
c = m_WParser->GetContainer();
c->SetAlign(tag);
c->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
m_WParser->SetAlign(c->GetAlignHor());
ParseInner(tag);
m_WParser->SetFontSize(old_size);
m_WParser->SetFontBold(old_b);
m_WParser->SetFontItalic(old_i);
m_WParser->SetFontUnderlined(old_u);
m_WParser->SetFontFixed(old_f);
m_WParser->SetAlign(old_al);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
m_WParser->CloseContainer();
m_WParser->OpenContainer();
c = m_WParser->GetContainer();
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
return TRUE;
}
TAG_HANDLER_END(Hx)
TAG_HANDLER_BEGIN(BIGSMALL, "BIG,SMALL")
TAG_HANDLER_PROC(tag)
{
int oldsize = m_WParser->GetFontSize();
int sz = (tag.GetName() == wxT("BIG")) ? +1 : -1;
m_WParser->SetFontSize(sz);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
ParseInner(tag);
m_WParser->SetFontSize(oldsize);
m_WParser->GetContainer()->InsertCell(
new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
return TRUE;
}
TAG_HANDLER_END(BIGSMALL)
TAGS_MODULE_BEGIN(Fonts)
TAGS_MODULE_ADD(FONT)
TAGS_MODULE_ADD(FACES_U)
TAGS_MODULE_ADD(FACES_I)
TAGS_MODULE_ADD(FACES_B)
TAGS_MODULE_ADD(FACES_TT)
TAGS_MODULE_ADD(Hx)
TAGS_MODULE_ADD(BIGSMALL)
TAGS_MODULE_END(Fonts)
#endif

110
src/html/m_hline.cpp Normal file
View File

@@ -0,0 +1,110 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_hline.cpp
// Purpose: wxHtml module for horizontal line (HR tag)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/brush.h"
#include "wx/pen.h"
#include "wx/dc.h"
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlcell.h"
FORCE_LINK_ME(m_hline)
//-----------------------------------------------------------------------------
// wxHtmlLineCell
//-----------------------------------------------------------------------------
class wxHtmlLineCell : public wxHtmlCell
{
public:
wxHtmlLineCell(int size, bool shading) : wxHtmlCell() {m_Height = size; m_HasShading = shading;}
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
void Layout(int w)
{ m_Width = w; wxHtmlCell::Layout(w); }
private:
// Should we draw 3-D shading or not
bool m_HasShading;
};
void wxHtmlLineCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
wxBrush mybrush(wxT("GREY"), (m_HasShading) ? wxTRANSPARENT : wxSOLID);
wxPen mypen(wxT("GREY"), 1, wxSOLID);
dc.SetBrush(mybrush);
dc.SetPen(mypen);
dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height);
}
//-----------------------------------------------------------------------------
// The list handler:
//-----------------------------------------------------------------------------
TAG_HANDLER_BEGIN(HR, "HR")
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c;
int sz;
bool HasShading;
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_VERTICAL);
c->SetAlignHor(wxHTML_ALIGN_CENTER);
c->SetAlign(tag);
c->SetWidthFloat(tag);
sz = 1;
tag.GetParamAsInt(wxT("SIZE"), &sz);
HasShading = !(tag.HasParam(wxT("NOSHADE")));
c->InsertCell(new wxHtmlLineCell((int)((double)sz * m_WParser->GetPixelScale()), HasShading));
m_WParser->CloseContainer();
m_WParser->OpenContainer();
return FALSE;
}
TAG_HANDLER_END(HR)
TAGS_MODULE_BEGIN(HLine)
TAGS_MODULE_ADD(HR)
TAGS_MODULE_END(HLine)
#endif

692
src/html/m_image.cpp Normal file
View File

@@ -0,0 +1,692 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_image.cpp
// Purpose: wxHtml module for displaying images
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik, Joel Lucsy
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/dc.h"
#include "wx/scrolwin.h"
#include "wx/timer.h"
#include "wx/dcmemory.h"
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlwin.h"
#include "wx/image.h"
#include "wx/gifdecod.h"
#include "wx/dynarray.h"
#include "wx/log.h"
#include "wx/artprov.h"
#include <math.h>
#include <float.h>
FORCE_LINK_ME(m_image)
WX_DECLARE_OBJARRAY(int, CoordArray);
#include "wx/arrimpl.cpp" // this is a magic incantation which must be done!
WX_DEFINE_OBJARRAY(CoordArray);
//--------------------------------------------------------------------------------
// wxHtmlImageMapAreaCell
// 0-width, 0-height cell that represents single area in imagemap
// (it's GetLink is called from wxHtmlImageCell's)
//--------------------------------------------------------------------------------
class wxHtmlImageMapAreaCell : public wxHtmlCell
{
public:
enum celltype { CIRCLE, RECT, POLY };
protected:
CoordArray coords;
celltype type;
int radius;
public:
wxHtmlImageMapAreaCell( celltype t, wxString &coords, double pixel_scale = 1.0);
virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const;
};
wxHtmlImageMapAreaCell::wxHtmlImageMapAreaCell( wxHtmlImageMapAreaCell::celltype t, wxString &incoords, double pixel_scale )
{
int i;
wxString x = incoords, y;
type = t;
while ((i = x.Find( ',' )) != -1)
{
coords.Add( (int)(pixel_scale * (double)wxAtoi( x.Left( i ).c_str())) );
x = x.Mid( i + 1 );
}
coords.Add( (int)(pixel_scale * (double)wxAtoi( x.c_str())) );
}
wxHtmlLinkInfo *wxHtmlImageMapAreaCell::GetLink( int x, int y ) const
{
switch (type)
{
case RECT:
{
int l, t, r, b;
l = coords[ 0 ];
t = coords[ 1 ];
r = coords[ 2 ];
b = coords[ 3 ];
if (x >= l && x <= r && y >= t && y <= b)
{
return m_Link;
}
break;
}
case CIRCLE:
{
int l, t, r;
double d;
l = coords[ 0 ];
t = coords[ 1 ];
r = coords[ 2 ];
d = sqrt( (double) (((x - l) * (x - l)) + ((y - t) * (y - t))) );
if (d < (double)r)
{
return m_Link;
}
}
break;
case POLY:
{
if (coords.GetCount() >= 6)
{
int intersects = 0;
int wherex = x;
int wherey = y;
int totalv = coords.GetCount() / 2;
int totalc = totalv * 2;
int xval = coords[totalc - 2];
int yval = coords[totalc - 1];
int end = totalc;
int pointer = 1;
if ((yval >= wherey) != (coords[pointer] >= wherey))
{
if ((xval >= wherex) == (coords[0] >= wherex))
{
intersects += (xval >= wherex) ? 1 : 0;
}
else
{
intersects += ((xval - (yval - wherey) *
(coords[0] - xval) /
(coords[pointer] - yval)) >= wherex) ? 1 : 0;
}
}
while (pointer < end)
{
yval = coords[pointer];
pointer += 2;
if (yval >= wherey)
{
while ((pointer < end) && (coords[pointer] >= wherey))
{
pointer += 2;
}
if (pointer >= end)
{
break;
}
if ((coords[pointer - 3] >= wherex) ==
(coords[pointer - 1] >= wherex)) {
intersects += (coords[pointer - 3] >= wherex) ? 1 : 0;
}
else
{
intersects +=
((coords[pointer - 3] - (coords[pointer - 2] - wherey) *
(coords[pointer - 1] - coords[pointer - 3]) /
(coords[pointer] - coords[pointer - 2])) >= wherex) ? 1 : 0;
}
}
else
{
while ((pointer < end) && (coords[pointer] < wherey))
{
pointer += 2;
}
if (pointer >= end)
{
break;
}
if ((coords[pointer - 3] >= wherex) ==
(coords[pointer - 1] >= wherex))
{
intersects += (coords[pointer - 3] >= wherex) ? 1 : 0;
}
else
{
intersects +=
((coords[pointer - 3] - (coords[pointer - 2] - wherey) *
(coords[pointer - 1] - coords[pointer - 3]) /
(coords[pointer] - coords[pointer - 2])) >= wherex) ? 1 : 0;
}
}
}
if ((intersects & 1) != 0)
{
return m_Link;
}
}
}
break;
}
if (m_Next)
{
wxHtmlImageMapAreaCell *a = (wxHtmlImageMapAreaCell*)m_Next;
return a->GetLink( x, y );
}
return NULL;
}
//--------------------------------------------------------------------------------
// wxHtmlImageMapCell
// 0-width, 0-height cell that represents map from imagemaps
// it is always placed before wxHtmlImageMapAreaCells
// It responds to Find(wxHTML_COND_ISIMAGEMAP)
//--------------------------------------------------------------------------------
class wxHtmlImageMapCell : public wxHtmlCell
{
public:
wxHtmlImageMapCell( wxString &name );
protected:
wxString m_Name;
public:
virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const;
virtual const wxHtmlCell *Find( int cond, const void *param ) const;
};
wxHtmlImageMapCell::wxHtmlImageMapCell( wxString &name )
{
m_Name = name ;
}
wxHtmlLinkInfo *wxHtmlImageMapCell::GetLink( int x, int y ) const
{
wxHtmlImageMapAreaCell *a = (wxHtmlImageMapAreaCell*)m_Next;
if (a)
return a->GetLink( x, y );
return wxHtmlCell::GetLink( x, y );
}
const wxHtmlCell *wxHtmlImageMapCell::Find( int cond, const void *param ) const
{
if (cond == wxHTML_COND_ISIMAGEMAP)
{
if (m_Name == *((wxString*)(param)))
return this;
}
return wxHtmlCell::Find(cond, param);
}
//--------------------------------------------------------------------------------
// wxHtmlImageCell
// Image/bitmap
//--------------------------------------------------------------------------------
class wxHtmlImageCell : public wxHtmlCell
{
public:
wxHtmlImageCell(wxWindow *window,
wxFSFile *input, int w = -1, int h = -1,
double scale = 1.0, int align = wxHTML_ALIGN_BOTTOM,
const wxString& mapname = wxEmptyString);
~wxHtmlImageCell();
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
virtual wxHtmlLinkInfo *GetLink(int x = 0, int y = 0) const;
void SetImage(const wxImage& img);
#if wxUSE_GIF && wxUSE_TIMER
void AdvanceAnimation(wxTimer *timer);
virtual void Layout(int w);
#endif
private:
wxBitmap *m_bitmap;
int m_bmpW, m_bmpH;
bool m_showFrame:1;
wxScrolledWindow *m_window;
#if wxUSE_GIF && wxUSE_TIMER
wxGIFDecoder *m_gifDecoder;
wxTimer *m_gifTimer;
int m_physX, m_physY;
#endif
double m_scale;
wxHtmlImageMapCell *m_imageMap;
wxString m_mapName;
DECLARE_NO_COPY_CLASS(wxHtmlImageCell)
};
#if wxUSE_GIF && wxUSE_TIMER
class wxGIFTimer : public wxTimer
{
public:
wxGIFTimer(wxHtmlImageCell *cell) : m_cell(cell) {}
virtual void Notify()
{
m_cell->AdvanceAnimation(this);
}
private:
wxHtmlImageCell *m_cell;
DECLARE_NO_COPY_CLASS(wxGIFTimer)
};
#endif
//----------------------------------------------------------------------------
// wxHtmlImageCell
//----------------------------------------------------------------------------
wxHtmlImageCell::wxHtmlImageCell(wxWindow *window, wxFSFile *input,
int w, int h, double scale, int align,
const wxString& mapname) : wxHtmlCell()
{
m_window = window ? wxStaticCast(window, wxScrolledWindow) : NULL;
m_scale = scale;
m_showFrame = FALSE;
m_bitmap = NULL;
m_bmpW = w;
m_bmpH = h;
m_imageMap = NULL;
m_mapName = mapname;
SetCanLiveOnPagebreak(FALSE);
#if wxUSE_GIF && wxUSE_TIMER
m_gifDecoder = NULL;
m_gifTimer = NULL;
m_physX = m_physY = -1;
#endif
if ( m_bmpW && m_bmpH )
{
if ( input )
{
wxInputStream *s = input->GetStream();
if ( s )
{
bool readImg = TRUE;
#if wxUSE_GIF && wxUSE_TIMER
if ( (input->GetLocation().Matches(wxT("*.gif")) ||
input->GetLocation().Matches(wxT("*.GIF"))) && m_window )
{
m_gifDecoder = new wxGIFDecoder(s, TRUE);
if ( m_gifDecoder->ReadGIF() == wxGIF_OK )
{
wxImage img;
if ( m_gifDecoder->ConvertToImage(&img) )
SetImage(img);
readImg = FALSE;
if ( m_gifDecoder->IsAnimation() )
{
m_gifTimer = new wxGIFTimer(this);
m_gifTimer->Start(m_gifDecoder->GetDelay(), TRUE);
}
else
{
wxDELETE(m_gifDecoder);
}
}
else
{
wxDELETE(m_gifDecoder);
}
}
if ( readImg )
#endif // wxUSE_GIF && wxUSE_TIMER
{
wxImage image(*s, wxBITMAP_TYPE_ANY);
if ( image.Ok() )
SetImage(image);
}
}
}
else // input==NULL, use "broken image" bitmap
{
if ( m_bmpW == -1 && m_bmpH == -1 )
{
m_bmpW = 29;
m_bmpH = 31;
}
else
{
m_showFrame = TRUE;
if ( m_bmpW == -1 ) m_bmpW = 31;
if ( m_bmpH == -1 ) m_bmpH = 33;
}
m_bitmap =
new wxBitmap(wxArtProvider::GetBitmap(wxART_MISSING_IMAGE));
}
}
//else: ignore the 0-sized images used sometimes on the Web pages
m_Width = (int)(scale * (double)m_bmpW);
m_Height = (int)(scale * (double)m_bmpH);
switch (align)
{
case wxHTML_ALIGN_TOP :
m_Descent = m_Height;
break;
case wxHTML_ALIGN_CENTER :
m_Descent = m_Height / 2;
break;
case wxHTML_ALIGN_BOTTOM :
default :
m_Descent = 0;
break;
}
}
void wxHtmlImageCell::SetImage(const wxImage& img)
{
if ( img.Ok() )
{
delete m_bitmap;
int ww, hh;
ww = img.GetWidth();
hh = img.GetHeight();
if ( m_bmpW == -1 )
m_bmpW = ww;
if ( m_bmpH == -1 )
m_bmpH = hh;
if ((m_bmpW != ww) || (m_bmpH != hh))
{
wxImage img2 = img.Scale(m_bmpW, m_bmpH);
m_bitmap = new wxBitmap(img2);
}
else
m_bitmap = new wxBitmap(img);
}
}
#if wxUSE_GIF && wxUSE_TIMER
void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer)
{
wxImage img;
m_gifDecoder->GoNextFrame(TRUE);
if ( m_physX == -1 )
{
m_physX = m_physY = 0;
for (wxHtmlCell *cell = this; cell; cell = cell->GetParent())
{
m_physX += cell->GetPosX();
m_physY += cell->GetPosY();
}
}
int x, y;
m_window->CalcScrolledPosition(m_physX, m_physY, &x, &y);
wxRect rect(x, y, m_Width, m_Height);
if ( m_window->GetClientRect().Intersects(rect) &&
m_gifDecoder->ConvertToImage(&img) )
{
if ( (int)m_gifDecoder->GetWidth() != m_Width ||
(int)m_gifDecoder->GetHeight() != m_Height ||
m_gifDecoder->GetLeft() != 0 || m_gifDecoder->GetTop() != 0 )
{
wxBitmap bmp(img);
wxMemoryDC dc;
dc.SelectObject(*m_bitmap);
dc.DrawBitmap(bmp, m_gifDecoder->GetLeft(), m_gifDecoder->GetTop());
}
else
SetImage(img);
m_window->Refresh(img.HasMask(), &rect);
}
timer->Start(m_gifDecoder->GetDelay(), TRUE);
}
void wxHtmlImageCell::Layout(int w)
{
wxHtmlCell::Layout(w);
m_physX = m_physY = -1;
}
#endif
wxHtmlImageCell::~wxHtmlImageCell()
{
delete m_bitmap;
#if wxUSE_GIF && wxUSE_TIMER
delete m_gifTimer;
delete m_gifDecoder;
#endif
}
void wxHtmlImageCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
if ( m_showFrame )
{
dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.SetPen(*wxBLACK_PEN);
dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height);
x++, y++;
}
if ( m_bitmap )
{
double us_x, us_y;
dc.GetUserScale(&us_x, &us_y);
dc.SetUserScale(us_x * m_scale, us_y * m_scale);
dc.DrawBitmap(*m_bitmap, (int) ((x + m_PosX) / m_scale),
(int) ((y + m_PosY) / m_scale), TRUE);
dc.SetUserScale(us_x, us_y);
}
}
wxHtmlLinkInfo *wxHtmlImageCell::GetLink( int x, int y ) const
{
if (m_mapName.IsEmpty())
return wxHtmlCell::GetLink( x, y );
if (!m_imageMap)
{
wxHtmlContainerCell *p, *op;
op = p = GetParent();
while (p)
{
op = p;
p = p->GetParent();
}
p = op;
wxHtmlCell *cell = (wxHtmlCell*)p->Find(wxHTML_COND_ISIMAGEMAP,
(const void*)(&m_mapName));
if (!cell)
{
((wxString&)m_mapName).Clear();
return wxHtmlCell::GetLink( x, y );
}
{ // dirty hack, ask Joel why he fills m_ImageMap in this place
// THE problem is that we're in const method and we can't modify m_ImageMap
wxHtmlImageMapCell **cx = (wxHtmlImageMapCell**)(&m_imageMap);
*cx = (wxHtmlImageMapCell*)cell;
}
}
return m_imageMap->GetLink(x, y);
}
//--------------------------------------------------------------------------------
// tag handler
//--------------------------------------------------------------------------------
TAG_HANDLER_BEGIN(IMG, "IMG,MAP,AREA")
TAG_HANDLER_PROC(tag)
{
if (tag.GetName() == wxT("IMG"))
{
if (tag.HasParam(wxT("SRC")))
{
int w = -1, h = -1;
int al;
wxFSFile *str;
wxString tmp = tag.GetParam(wxT("SRC"));
wxString mn = wxEmptyString;
str = m_WParser->OpenURL(wxHTML_URL_IMAGE, tmp);
if (tag.HasParam(wxT("WIDTH")))
tag.GetParamAsInt(wxT("WIDTH"), &w);
if (tag.HasParam(wxT("HEIGHT")))
tag.GetParamAsInt(wxT("HEIGHT"), &h);
al = wxHTML_ALIGN_BOTTOM;
if (tag.HasParam(wxT("ALIGN")))
{
wxString alstr = tag.GetParam(wxT("ALIGN"));
alstr.MakeUpper(); // for the case alignment was in ".."
if (alstr == wxT("TEXTTOP"))
al = wxHTML_ALIGN_TOP;
else if ((alstr == wxT("CENTER")) || (alstr == wxT("ABSCENTER")))
al = wxHTML_ALIGN_CENTER;
}
if (tag.HasParam(wxT("USEMAP")))
{
mn = tag.GetParam( wxT("USEMAP") );
if (mn.GetChar(0) == wxT('#'))
{
mn = mn.Mid( 1 );
}
}
wxHtmlImageCell *cel = new wxHtmlImageCell(
m_WParser->GetWindow(),
str, w, h,
m_WParser->GetPixelScale(),
al, mn);
cel->SetLink(m_WParser->GetLink());
cel->SetId(tag.GetParam(wxT("id"))); // may be empty
m_WParser->GetContainer()->InsertCell(cel);
if (str)
delete str;
}
}
if (tag.GetName() == wxT("MAP"))
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
if (tag.HasParam(wxT("NAME")))
{
wxString tmp = tag.GetParam(wxT("NAME"));
wxHtmlImageMapCell *cel = new wxHtmlImageMapCell( tmp );
m_WParser->GetContainer()->InsertCell( cel );
}
ParseInner( tag );
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
if (tag.GetName() == wxT("AREA"))
{
if (tag.HasParam(wxT("SHAPE")))
{
wxString tmp = tag.GetParam(wxT("SHAPE"));
wxString coords = wxEmptyString;
tmp.MakeUpper();
wxHtmlImageMapAreaCell *cel = NULL;
if (tag.HasParam(wxT("COORDS")))
{
coords = tag.GetParam(wxT("COORDS"));
}
if (tmp == wxT("POLY"))
{
cel = new wxHtmlImageMapAreaCell( wxHtmlImageMapAreaCell::POLY, coords, m_WParser->GetPixelScale() );
}
else if (tmp == wxT("CIRCLE"))
{
cel = new wxHtmlImageMapAreaCell( wxHtmlImageMapAreaCell::CIRCLE, coords, m_WParser->GetPixelScale() );
}
else if (tmp == wxT("RECT"))
{
cel = new wxHtmlImageMapAreaCell( wxHtmlImageMapAreaCell::RECT, coords, m_WParser->GetPixelScale() );
}
if (cel != NULL && tag.HasParam(wxT("HREF")))
{
wxString tmp = tag.GetParam(wxT("HREF"));
wxString target = wxEmptyString;
if (tag.HasParam(wxT("TARGET"))) target = tag.GetParam(wxT("TARGET"));
cel->SetLink( wxHtmlLinkInfo(tmp, target));
}
if (cel != NULL) m_WParser->GetContainer()->InsertCell( cel );
}
}
return FALSE;
}
TAG_HANDLER_END(IMG)
TAGS_MODULE_BEGIN(Image)
TAGS_MODULE_ADD(IMG)
TAGS_MODULE_END(Image)
#endif

369
src/html/m_layout.cpp Normal file
View File

@@ -0,0 +1,369 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_layout.cpp
// Purpose: wxHtml module for basic paragraphs/layout handling
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlwin.h"
FORCE_LINK_ME(m_layout)
#include <stdlib.h> // bsearch()
//-----------------------------------------------------------------------------
// wxHtmlPageBreakCell
//-----------------------------------------------------------------------------
// Since html isn't a page-layout language, it doesn't support page
// page breaks directly--that requires CSS2 support. But a page-break
// facility is handy, and has been requested more than once on the
// mailing lists. This wxHtml tag handler implements just enough of
// CSS2 to support a page break by recognizing only
// <div style="page-break-before:always">
//
// wxHtml maintains page breaks in wxHtmlPrintout::m_PageBreaks. The
// tag handler below adds appropriate offsets to that array member.
// wxHtmlDCRenderer::Render() accesses that array and makes a new page
// begin after each page-break tag.
// The page-break handler does all its work in AdjustPagebreak(). For
// all tag handlers, that function adjusts the page-break position.
// For other tags, it determines whether the html element can fit on
// the remainder of the page; if it cannot fit, but must not be split,
// then the function moves the page break provided in the argument up,
// and returns 'true' to inform the caller that the argument was
// modified.
//
// Due to its special purpose, the page-break facility differs from
// other tags. It takes up no space, but it behaves as though there is
// never enough room to fit it on the remainder of the page--it always
// forces a page break. Therefore, unlike other elements that trigger
// a page break, it would never 'fit' on the following page either.
// Therefore it's necessary to compare each pagebreak candidate to the
// array wxHtmlPrintout::m_PageBreaks of pagebreaks already set, and
// set a new one only if it's not in that array.
class WXDLLEXPORT wxHtmlPageBreakCell : public wxHtmlCell
{
public:
wxHtmlPageBreakCell() {}
bool AdjustPagebreak(int* pagebreak, int* known_pagebreaks = NULL, int number_of_pages = 0) const;
private:
DECLARE_NO_COPY_CLASS(wxHtmlPageBreakCell)
};
// Comparison routine for bsearch into an int* array of pagebreaks.
static int integer_compare(void const* i0, void const* i1)
{
return *(int*)i0 - *(int*)i1;
}
bool wxHtmlPageBreakCell::AdjustPagebreak(int* pagebreak, int* known_pagebreaks, int number_of_pages) const
{
// When we are counting pages, 'known_pagebreaks' is non-NULL.
// That's the only time we change 'pagebreak'. Otherwise, pages
// were already counted, 'known_pagebreaks' is NULL, and we don't
// do anything except return FALSE.
//
// We also simply return FALSE if the 'pagebreak' argument is
// less than (vertically above) or the same as the current
// vertical position. Otherwise we'd be setting a pagebreak above
// the current cell, which is incorrect, or duplicating a
// pagebreak that has already been set.
if(NULL == known_pagebreaks || *pagebreak <= m_PosY)
{
return FALSE;
}
// m_PosY is only the vertical offset from the parent. The pagebreak
// required here is the total page offset, so m_PosY must be added
// to the parent's offset and height.
int total_height = m_PosY + GetParent()->GetPosY() + GetParent()->GetHeight();
// Search the array of pagebreaks to see whether we've already set
// a pagebreak here. The standard bsearch() function is appropriate
// because the array of pagebreaks through known_pagebreaks[number_of_pages]
// is known to be sorted in strictly increasing order. '1 + number_of_pages'
// is used as a bsearch() argument because the array contains a leading
// zero plus one element for each page.
int* where = (int*) bsearch(&total_height, known_pagebreaks,
1 + number_of_pages, sizeof(int),
integer_compare);
// Add a pagebreak only if there isn't one already set here.
if(NULL != where)
{
return FALSE;
}
else
{
*pagebreak = m_PosY;
return TRUE;
}
}
TAG_HANDLER_BEGIN(P, "P")
TAG_HANDLER_PROC(tag)
{
if (m_WParser->GetContainer()->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
m_WParser->GetContainer()->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
m_WParser->GetContainer()->SetAlign(tag);
return FALSE;
}
TAG_HANDLER_END(P)
TAG_HANDLER_BEGIN(BR, "BR")
TAG_HANDLER_PROC(tag)
{
int al = m_WParser->GetContainer()->GetAlignHor();
wxHtmlContainerCell *c;
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetAlignHor(al);
c->SetAlign(tag);
c->SetMinHeight(m_WParser->GetCharHeight());
return FALSE;
}
TAG_HANDLER_END(BR)
TAG_HANDLER_BEGIN(CENTER, "CENTER")
TAG_HANDLER_PROC(tag)
{
int old = m_WParser->GetAlign();
wxHtmlContainerCell *c = m_WParser->GetContainer();
m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
if (c->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
else
c->SetAlignHor(wxHTML_ALIGN_CENTER);
if (tag.HasEnding())
{
ParseInner(tag);
m_WParser->SetAlign(old);
if (c->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
else
c->SetAlignHor(old);
return TRUE;
}
else return FALSE;
}
TAG_HANDLER_END(CENTER)
TAG_HANDLER_BEGIN(DIV, "DIV")
TAG_HANDLER_PROC(tag)
{
if(tag.HasParam(wxT("STYLE")))
{
if(tag.GetParam(wxT("STYLE")).IsSameAs(wxT("PAGE-BREAK-BEFORE:ALWAYS"), FALSE))
{
m_WParser->CloseContainer();
m_WParser->OpenContainer()->InsertCell(new wxHtmlPageBreakCell);
m_WParser->CloseContainer();
m_WParser->OpenContainer();
return FALSE;
}
else
{
// Treat other STYLE parameters here when they're supported.
return FALSE;
}
}
else if(tag.HasParam(wxT("ALIGN")))
{
int old = m_WParser->GetAlign();
wxHtmlContainerCell *c = m_WParser->GetContainer();
if (c->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
c = m_WParser->GetContainer();
c->SetAlign(tag);
m_WParser->SetAlign(c->GetAlignHor());
}
else
{
c->SetAlign(tag);
m_WParser->SetAlign(c->GetAlignHor());
}
ParseInner(tag);
m_WParser->SetAlign(old);
if (c->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
}
else
c->SetAlignHor(old);
return TRUE;
}
else
{
return FALSE;
}
}
TAG_HANDLER_END(DIV)
TAG_HANDLER_BEGIN(TITLE, "TITLE")
TAG_HANDLER_PROC(tag)
{
if (m_WParser->GetWindow())
{
wxHtmlWindow *wfr = (wxHtmlWindow*)(m_WParser->GetWindow());
if (wfr)
{
const wxString& src = *m_WParser->GetSource();
wfr->OnSetTitle(src.Mid(tag.GetBeginPos(),
tag.GetEndPos1()-tag.GetBeginPos()));
}
}
return TRUE;
}
TAG_HANDLER_END(TITLE)
TAG_HANDLER_BEGIN(BODY, "BODY")
TAG_HANDLER_PROC(tag)
{
wxColour clr;
if (tag.GetParamAsColour(wxT("TEXT"), &clr))
{
m_WParser->SetActualColor(clr);
m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(clr));
}
if (tag.GetParamAsColour(wxT("LINK"), &clr))
m_WParser->SetLinkColor(clr);
if (tag.GetParamAsColour(wxT("BGCOLOR"), &clr))
{
m_WParser->GetContainer()->InsertCell(
new wxHtmlColourCell(clr, wxHTML_CLR_BACKGROUND));
if (m_WParser->GetWindow() != NULL)
m_WParser->GetWindow()->SetBackgroundColour(clr);
}
return FALSE;
}
TAG_HANDLER_END(BODY)
TAG_HANDLER_BEGIN(BLOCKQUOTE, "BLOCKQUOTE")
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c;
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
if (c->GetAlignHor() == wxHTML_ALIGN_RIGHT)
c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_RIGHT);
else
c->SetIndent(5 * m_WParser->GetCharWidth(), wxHTML_INDENT_LEFT);
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
m_WParser->OpenContainer();
ParseInner(tag);
c = m_WParser->CloseContainer();
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_BOTTOM);
m_WParser->CloseContainer();
m_WParser->OpenContainer();
return TRUE;
}
TAG_HANDLER_END(BLOCKQUOTE)
// Tag handler for tags that we have to ignore, otherwise non-text data
// would show up as text:
TAG_HANDLER_BEGIN(DoNothing, "SCRIPT")
TAG_HANDLER_PROC(tag)
{
return true;
}
TAG_HANDLER_END(DoNothing)
TAGS_MODULE_BEGIN(Layout)
TAGS_MODULE_ADD(P)
TAGS_MODULE_ADD(BR)
TAGS_MODULE_ADD(CENTER)
TAGS_MODULE_ADD(DIV)
TAGS_MODULE_ADD(TITLE)
TAGS_MODULE_ADD(BODY)
TAGS_MODULE_ADD(BLOCKQUOTE)
TAGS_MODULE_ADD(DoNothing)
TAGS_MODULE_END(Layout)
#endif

98
src/html/m_links.cpp Normal file
View File

@@ -0,0 +1,98 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_links.cpp
// Purpose: wxHtml module for links & anchors
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
FORCE_LINK_ME(m_links)
class wxHtmlAnchorCell : public wxHtmlCell
{
private:
wxString m_AnchorName;
public:
wxHtmlAnchorCell(const wxString& name) : wxHtmlCell() {m_AnchorName = name;}
virtual const wxHtmlCell* Find(int condition, const void* param) const
{
if ((condition == wxHTML_COND_ISANCHOR) && (m_AnchorName == (*((const wxString*)param))))
return this;
else
return wxHtmlCell::Find(condition, param);
}
};
TAG_HANDLER_BEGIN(A, "A")
TAG_HANDLER_PROC(tag)
{
if (tag.HasParam( wxT("NAME") ))
{
m_WParser->GetContainer()->InsertCell(new wxHtmlAnchorCell(tag.GetParam( wxT("NAME") )));
}
if (tag.HasParam( wxT("HREF") ))
{
wxHtmlLinkInfo oldlnk = m_WParser->GetLink();
wxColour oldclr = m_WParser->GetActualColor();
int oldund = m_WParser->GetFontUnderlined();
wxString name(tag.GetParam( wxT("HREF") )), target;
if (tag.HasParam( wxT("TARGET") )) target = tag.GetParam( wxT("TARGET") );
m_WParser->SetActualColor(m_WParser->GetLinkColor());
m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(m_WParser->GetLinkColor()));
m_WParser->SetFontUnderlined(TRUE);
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
m_WParser->SetLink(wxHtmlLinkInfo(name, target));
ParseInner(tag);
m_WParser->SetLink(oldlnk);
m_WParser->SetFontUnderlined(oldund);
m_WParser->GetContainer()->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
m_WParser->SetActualColor(oldclr);
m_WParser->GetContainer()->InsertCell(new wxHtmlColourCell(oldclr));
return TRUE;
}
else return FALSE;
}
TAG_HANDLER_END(A)
TAGS_MODULE_BEGIN(Links)
TAGS_MODULE_ADD(A)
TAGS_MODULE_END(Links)
#endif

170
src/html/m_list.cpp Normal file
View File

@@ -0,0 +1,170 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_list.cpp
// Purpose: wxHtml module for lists
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/brush.h"
#include "wx/dc.h"
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlcell.h"
FORCE_LINK_ME(m_list)
//-----------------------------------------------------------------------------
// wxHtmlListmarkCell
//-----------------------------------------------------------------------------
class wxHtmlListmarkCell : public wxHtmlCell
{
private:
wxBrush m_Brush;
public:
wxHtmlListmarkCell(wxDC *dc, const wxColour& clr);
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
};
wxHtmlListmarkCell::wxHtmlListmarkCell(wxDC* dc, const wxColour& clr) : wxHtmlCell(), m_Brush(clr, wxSOLID)
{
m_Width = dc->GetCharHeight();
m_Height = dc->GetCharHeight();
m_Descent = 0;
}
void wxHtmlListmarkCell::Draw(wxDC& dc, int x, int y, int WXUNUSED(view_y1), int WXUNUSED(view_y2))
{
dc.SetBrush(m_Brush);
dc.DrawEllipse(x + m_PosX + m_Width / 3, y + m_PosY + m_Height / 3,
(m_Width / 3), (m_Width / 3));
}
//-----------------------------------------------------------------------------
// The list handler:
//-----------------------------------------------------------------------------
TAG_HANDLER_BEGIN(OLULLI, "OL,UL,LI")
TAG_HANDLER_VARS
int m_Numbering;
// this is number of actual item of list or 0 for dots
TAG_HANDLER_CONSTR(OLULLI)
{
m_Numbering = 0;
}
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c;
// List Item:
if (tag.GetName() == wxT("LI"))
{
m_WParser->GetContainer()->SetIndent(0, wxHTML_INDENT_TOP);
// this is to prevent indetation in <li><p> case
m_WParser->CloseContainer();
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetWidthFloat(2 * m_WParser->GetCharWidth(), wxHTML_UNITS_PIXELS);
if (m_Numbering == 0)
{
// Centering gives more space after the bullet
c->SetAlignHor(wxHTML_ALIGN_CENTER);
c->InsertCell(new wxHtmlListmarkCell(m_WParser->GetDC(), m_WParser->GetActualColor()));
}
else
{
c->SetAlignHor(wxHTML_ALIGN_RIGHT);
wxString mark;
mark.Printf(wxT("%i."), m_Numbering);
c->InsertCell(new wxHtmlWordCell(mark, *(m_WParser->GetDC())));
}
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetIndent(m_WParser->GetCharWidth() / 4, wxHTML_INDENT_LEFT);
c->SetWidthFloat(-2 * m_WParser->GetCharWidth(), wxHTML_UNITS_PIXELS);
m_WParser->OpenContainer();
if (m_Numbering != 0) m_Numbering++;
return FALSE;
}
// Begin of List (not-numbered): "UL", "OL"
else
{
int oldnum = m_Numbering;
if (tag.GetName() == wxT("UL")) m_Numbering = 0;
else m_Numbering = 1;
c = m_WParser->GetContainer();
if (c->GetFirstCell() != NULL)
{
m_WParser->CloseContainer();
m_WParser->OpenContainer();
c = m_WParser->GetContainer();
}
c->SetAlignHor(wxHTML_ALIGN_LEFT);
c->SetIndent(2 * m_WParser->GetCharWidth(), wxHTML_INDENT_LEFT);
m_WParser->OpenContainer()->SetAlignVer(wxHTML_ALIGN_TOP);
m_WParser->OpenContainer();
m_WParser->OpenContainer();
ParseInner(tag);
m_WParser->GetContainer()->SetIndent(0, wxHTML_INDENT_TOP);
// this is to prevent indetation in <li><p> case
m_WParser->CloseContainer();
m_WParser->CloseContainer();
m_WParser->CloseContainer();
m_WParser->CloseContainer();
m_WParser->OpenContainer();
m_Numbering = oldnum;
return TRUE;
}
}
TAG_HANDLER_END(OLULLI)
TAGS_MODULE_BEGIN(List)
TAGS_MODULE_ADD(OLULLI)
TAGS_MODULE_END(List)
#endif

130
src/html/m_pre.cpp Normal file
View File

@@ -0,0 +1,130 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_pre.cpp
// Purpose: wxHtml module for <PRE> ... </PRE> tag (code citation)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlcell.h"
#include "wx/tokenzr.h"
#include "wx/encconv.h"
FORCE_LINK_ME(m_pre)
// replaces '\t', ' ' and '\n' with HTML markup:
static wxString LINKAGEMODE HtmlizeWhitespaces(const wxString& str)
{
wxString out;
size_t i = 0, j = 0, len = str.Len();
for (i = 0; i < len; i++)
{
switch (str[i])
{
case wxT('<'):
while (i < len && str[i] != wxT('>'))
out << str[i++];
out << wxT('>');
break;
case wxT(' '):
out << wxT("&nbsp;");
break;
case wxT('\n'):
out << wxT("<br>");
break;
case wxT('\t'):
for (j = 8 - i%8; j > 0; j--) out << wxT("&nbsp;");
break;
default:
out << str[i];
break;
}
}
return out;
}
//-----------------------------------------------------------------------------
// The list handler:
//-----------------------------------------------------------------------------
TAG_HANDLER_BEGIN(PRE, "PRE")
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c;
int fixed = m_WParser->GetFontFixed(),
italic = m_WParser->GetFontItalic(),
underlined = m_WParser->GetFontUnderlined(),
bold = m_WParser->GetFontBold(),
fsize = m_WParser->GetFontSize();
c = m_WParser->GetContainer();
m_WParser->SetFontUnderlined(FALSE);
m_WParser->SetFontBold(FALSE);
m_WParser->SetFontItalic(FALSE);
m_WParser->SetFontFixed(TRUE);
m_WParser->SetFontSize(3);
c->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
c->SetAlignHor(wxHTML_ALIGN_LEFT);
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_TOP);
wxString srcMid =
m_WParser->GetSource()->Mid(tag.GetBeginPos(),
tag.GetEndPos1() - tag.GetBeginPos());
// It is safe to temporarily change the source being parsed,
// provided we restore the state back after parsing
m_Parser->SetSourceAndSaveState(HtmlizeWhitespaces(srcMid));
m_Parser->DoParsing();
m_Parser->RestoreState();
m_WParser->CloseContainer();
c = m_WParser->OpenContainer();
m_WParser->SetFontUnderlined(underlined);
m_WParser->SetFontBold(bold);
m_WParser->SetFontItalic(italic);
m_WParser->SetFontFixed(fixed);
m_WParser->SetFontSize(fsize);
c->InsertCell(new wxHtmlFontCell(m_WParser->CreateCurrentFont()));
return TRUE;
}
TAG_HANDLER_END(PRE)
TAGS_MODULE_BEGIN(Pre)
TAGS_MODULE_ADD(PRE)
TAGS_MODULE_END(Pre)
#endif

51
src/html/m_style.cpp Normal file
View File

@@ -0,0 +1,51 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_style.cpp
// Purpose: wxHtml module for parsing <style> tag
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 2002 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
FORCE_LINK_ME(m_style)
TAG_HANDLER_BEGIN(STYLE, "STYLE")
TAG_HANDLER_PROC(WXUNUSED(tag))
{
// VS: Ignore styles for now. We must have this handler present,
// because CSS style text would be rendered verbatim otherwise
return TRUE;
}
TAG_HANDLER_END(STYLE)
TAGS_MODULE_BEGIN(StyleTag)
TAGS_MODULE_ADD(STYLE)
TAGS_MODULE_END(StyleTag)
#endif

623
src/html/m_tables.cpp Normal file
View File

@@ -0,0 +1,623 @@
/////////////////////////////////////////////////////////////////////////////
// Name: m_tables.cpp
// Purpose: wxHtml module for tables
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#endif
/*
REMARKS:
1. This version of m_tables doesn't support auto-layout algorithm.
This means that all columns are of same width unless explicitly specified.
*/
#include "wx/html/forcelnk.h"
#include "wx/html/m_templ.h"
#include "wx/html/htmlcell.h"
FORCE_LINK_ME(m_tables)
#define TABLE_BORDER_CLR_1 wxColour(0xC5, 0xC2, 0xC5)
#define TABLE_BORDER_CLR_2 wxColour(0x62, 0x61, 0x62)
//-----------------------------------------------------------------------------
// wxHtmlTableCell
//-----------------------------------------------------------------------------
struct colStruct
{
int width, units;
// width of the column either in pixels or percents
// ('width' is the number, 'units' determines its meaning)
int minWidth, maxWidth;
// minimal/maximal column width. This is needed by HTML 4.0
// layouting algorithm and can be determined by trying to
// layout table cells with width=1 and width=infinity
int leftpos, pixwidth, maxrealwidth;
// temporary (depends on actual width of table)
};
enum cellState
{
cellSpan,
cellUsed,
cellFree
};
struct cellStruct
{
wxHtmlContainerCell *cont;
int colspan, rowspan;
int minheight, valign;
cellState flag;
};
class wxHtmlTableCell : public wxHtmlContainerCell
{
protected:
/* These are real attributes: */
// should we draw borders or not?
bool m_HasBorders;
// number of columns; rows
int m_NumCols, m_NumRows;
// array of column information
colStruct *m_ColsInfo;
// 2D array of all cells in the table : m_CellInfo[row][column]
cellStruct **m_CellInfo;
// spaces between cells
int m_Spacing;
// cells internal indentation
int m_Padding;
private:
/* ...and these are valid only when parsing the table: */
// number of actual column (ranging from 0..m_NumCols)
int m_ActualCol, m_ActualRow;
// default values (for table and row):
wxColour m_tBkg, m_rBkg;
wxString m_tValign, m_rValign;
double m_PixelScale;
public:
wxHtmlTableCell(wxHtmlContainerCell *parent, const wxHtmlTag& tag, double pixel_scale = 1.0);
~wxHtmlTableCell();
virtual void Layout(int w);
void AddRow(const wxHtmlTag& tag);
void AddCell(wxHtmlContainerCell *cell, const wxHtmlTag& tag);
private:
// Reallocates memory to given number of cols/rows
// and changes m_NumCols/m_NumRows value to reflect this change
// NOTE! You CAN'T change m_NumCols/m_NumRows before calling this!!
void ReallocCols(int cols);
void ReallocRows(int rows);
// Computes minimal and maximal widths of columns. Needs to be called
// only once, before first Layout().
void ComputeMinMaxWidths();
DECLARE_NO_COPY_CLASS(wxHtmlTableCell)
};
wxHtmlTableCell::wxHtmlTableCell(wxHtmlContainerCell *parent, const wxHtmlTag& tag, double pixel_scale)
: wxHtmlContainerCell(parent)
{
m_PixelScale = pixel_scale;
m_HasBorders =
(tag.HasParam(wxT("BORDER")) && tag.GetParam(wxT("BORDER")) != wxT("0"));
m_ColsInfo = NULL;
m_NumCols = m_NumRows = 0;
m_CellInfo = NULL;
m_ActualCol = m_ActualRow = -1;
/* scan params: */
if (tag.HasParam(wxT("BGCOLOR")))
tag.GetParamAsColour(wxT("BGCOLOR"), &m_tBkg);
if (tag.HasParam(wxT("VALIGN")))
m_tValign = tag.GetParam(wxT("VALIGN"));
else
m_tValign = wxEmptyString;
if (!tag.GetParamAsInt(wxT("CELLSPACING"), &m_Spacing))
m_Spacing = 2;
if (!tag.GetParamAsInt(wxT("CELLPADDING"), &m_Padding))
m_Padding = 3;
m_Spacing = (int)(m_PixelScale * (double)m_Spacing);
m_Padding = (int)(m_PixelScale * (double)m_Padding);
if (m_HasBorders)
SetBorder(TABLE_BORDER_CLR_1, TABLE_BORDER_CLR_2);
}
wxHtmlTableCell::~wxHtmlTableCell()
{
if (m_ColsInfo) free(m_ColsInfo);
if (m_CellInfo)
{
for (int i = 0; i < m_NumRows; i++)
free(m_CellInfo[i]);
free(m_CellInfo);
}
}
void wxHtmlTableCell::ReallocCols(int cols)
{
int i,j;
for (i = 0; i < m_NumRows; i++)
{
m_CellInfo[i] = (cellStruct*) realloc(m_CellInfo[i], sizeof(cellStruct) * cols);
for (j = m_NumCols; j < cols; j++)
m_CellInfo[i][j].flag = cellFree;
}
m_ColsInfo = (colStruct*) realloc(m_ColsInfo, sizeof(colStruct) * cols);
for (j = m_NumCols; j < cols; j++)
{
m_ColsInfo[j].width = 0;
m_ColsInfo[j].units = wxHTML_UNITS_PERCENT;
m_ColsInfo[j].minWidth = m_ColsInfo[j].maxWidth = -1;
}
m_NumCols = cols;
}
void wxHtmlTableCell::ReallocRows(int rows)
{
m_CellInfo = (cellStruct**) realloc(m_CellInfo, sizeof(cellStruct*) * rows);
for (int row = m_NumRows; row < rows ; row++)
{
if (m_NumCols == 0)
m_CellInfo[row] = NULL;
else
{
m_CellInfo[row] = (cellStruct*) malloc(sizeof(cellStruct) * m_NumCols);
for (int col = 0; col < m_NumCols; col++)
m_CellInfo[row][col].flag = cellFree;
}
}
m_NumRows = rows;
}
void wxHtmlTableCell::AddRow(const wxHtmlTag& tag)
{
m_ActualCol = -1;
// VS: real allocation of row entry is done in AddCell in order
// to correctly handle empty rows (i.e. "<tr></tr>")
// m_ActualCol == -1 indicates that AddCell has to allocate new row.
// scan params:
m_rBkg = m_tBkg;
if (tag.HasParam(wxT("BGCOLOR")))
tag.GetParamAsColour(wxT("BGCOLOR"), &m_rBkg);
if (tag.HasParam(wxT("VALIGN")))
m_rValign = tag.GetParam(wxT("VALIGN"));
else
m_rValign = m_tValign;
}
void wxHtmlTableCell::AddCell(wxHtmlContainerCell *cell, const wxHtmlTag& tag)
{
// Is this cell in new row?
// VS: we can't do it in AddRow, see my comment there
if (m_ActualCol == -1)
{
if (m_ActualRow + 1 > m_NumRows - 1)
ReallocRows(m_ActualRow + 2);
m_ActualRow++;
}
// cells & columns:
do
{
m_ActualCol++;
} while ((m_ActualCol < m_NumCols) &&
(m_CellInfo[m_ActualRow][m_ActualCol].flag != cellFree));
if (m_ActualCol > m_NumCols - 1)
ReallocCols(m_ActualCol + 1);
int r = m_ActualRow, c = m_ActualCol;
m_CellInfo[r][c].cont = cell;
m_CellInfo[r][c].colspan = 1;
m_CellInfo[r][c].rowspan = 1;
m_CellInfo[r][c].flag = cellUsed;
m_CellInfo[r][c].minheight = 0;
m_CellInfo[r][c].valign = wxHTML_ALIGN_TOP;
/* scan for parameters: */
// width:
{
if (tag.HasParam(wxT("WIDTH")))
{
wxString wd = tag.GetParam(wxT("WIDTH"));
if (wd[wd.Length()-1] == wxT('%'))
{
wxSscanf(wd.c_str(), wxT("%i%%"), &m_ColsInfo[c].width);
m_ColsInfo[c].units = wxHTML_UNITS_PERCENT;
}
else
{
wxSscanf(wd.c_str(), wxT("%i"), &m_ColsInfo[c].width);
m_ColsInfo[c].width = (int)(m_PixelScale * (double)m_ColsInfo[c].width);
m_ColsInfo[c].units = wxHTML_UNITS_PIXELS;
}
}
}
// spanning:
{
tag.GetParamAsInt(wxT("COLSPAN"), &m_CellInfo[r][c].colspan);
tag.GetParamAsInt(wxT("ROWSPAN"), &m_CellInfo[r][c].rowspan);
// VS: the standard says this about col/rowspan:
// "This attribute specifies the number of rows spanned by the
// current cell. The default value of this attribute is one ("1").
// The value zero ("0") means that the cell spans all rows from the
// current row to the last row of the table." All mainstream
// browsers act as if 0==1, though, and so does wxHTML.
if (m_CellInfo[r][c].colspan < 1)
m_CellInfo[r][c].colspan = 1;
if (m_CellInfo[r][c].rowspan < 1)
m_CellInfo[r][c].rowspan = 1;
if ((m_CellInfo[r][c].colspan > 1) || (m_CellInfo[r][c].rowspan > 1))
{
int i, j;
if (r + m_CellInfo[r][c].rowspan > m_NumRows)
ReallocRows(r + m_CellInfo[r][c].rowspan);
if (c + m_CellInfo[r][c].colspan > m_NumCols)
ReallocCols(c + m_CellInfo[r][c].colspan);
for (i = r; i < r + m_CellInfo[r][c].rowspan; i++)
for (j = c; j < c + m_CellInfo[r][c].colspan; j++)
m_CellInfo[i][j].flag = cellSpan;
m_CellInfo[r][c].flag = cellUsed;
}
}
//background color:
{
wxColour bk = m_rBkg;
if (tag.HasParam(wxT("BGCOLOR")))
tag.GetParamAsColour(wxT("BGCOLOR"), &bk);
if (bk.Ok())
cell->SetBackgroundColour(bk);
}
if (m_HasBorders)
cell->SetBorder(TABLE_BORDER_CLR_2, TABLE_BORDER_CLR_1);
// vertical alignment:
{
wxString valign;
if (tag.HasParam(wxT("VALIGN")))
valign = tag.GetParam(wxT("VALIGN"));
else
valign = m_tValign;
valign.MakeUpper();
if (valign == wxT("TOP"))
m_CellInfo[r][c].valign = wxHTML_ALIGN_TOP;
else if (valign == wxT("BOTTOM"))
m_CellInfo[r][c].valign = wxHTML_ALIGN_BOTTOM;
else m_CellInfo[r][c].valign = wxHTML_ALIGN_CENTER;
}
cell->SetIndent(m_Padding, wxHTML_INDENT_ALL, wxHTML_UNITS_PIXELS);
}
void wxHtmlTableCell::ComputeMinMaxWidths()
{
if (m_NumCols == 0 || m_ColsInfo[0].minWidth != -1) return;
int left, right, width;
for (int c = 0; c < m_NumCols; c++)
{
for (int r = 0; r < m_NumRows; r++)
{
cellStruct& cell = m_CellInfo[r][c];
if (cell.flag == cellUsed)
{
cell.cont->Layout(2*m_Padding + 1);
cell.cont->GetHorizontalConstraints(&left, &right);
width = right - left;
width -= (cell.colspan-1) * m_Spacing;
// HTML 4.0 says it is acceptable to distribute min/max
// width of spanning cells evently
width /= cell.colspan;
for (int j = 0; j < cell.colspan; j++)
if (width > m_ColsInfo[c+j].minWidth)
m_ColsInfo[c+j].minWidth = width;
}
}
}
// FIXME -- compute maxWidth as well. Not needed yet, so there's no
// point in computing it.
}
void wxHtmlTableCell::Layout(int w)
{
ComputeMinMaxWidths();
wxHtmlCell::Layout(w);
/*
WIDTH ADJUSTING :
*/
if (m_WidthFloatUnits == wxHTML_UNITS_PERCENT)
{
if (m_WidthFloat < 0) m_Width = (100 + m_WidthFloat) * w / 100;
else m_Width = m_WidthFloat * w / 100;
}
else
{
if (m_WidthFloat < 0) m_Width = w + m_WidthFloat;
else m_Width = m_WidthFloat;
}
/*
LAYOUTING :
*/
/* 1. setup columns widths: */
{
int wpix = m_Width - (m_NumCols + 1) * m_Spacing;
int i, j;
// 1a. setup fixed-width columns:
for (i = 0; i < m_NumCols; i++)
if (m_ColsInfo[i].units == wxHTML_UNITS_PIXELS)
{
m_ColsInfo[i].pixwidth = wxMax(m_ColsInfo[i].width,
m_ColsInfo[i].minWidth);
wpix -= m_ColsInfo[i].pixwidth;
}
// 1b. setup floating-width columns:
int wtemp = 0;
for (i = 0; i < m_NumCols; i++)
if ((m_ColsInfo[i].units == wxHTML_UNITS_PERCENT) && (m_ColsInfo[i].width != 0))
{
m_ColsInfo[i].pixwidth = wxMax(m_ColsInfo[i].width * wpix / 100,
m_ColsInfo[i].minWidth);
wtemp += m_ColsInfo[i].pixwidth;
}
wpix -= wtemp;
// 1c. setup defalut columns (no width specification supplied):
// NOTE! This algorithm doesn't conform to HTML standard : it assigns equal widths
// instead of optimal
for (i = j = 0; i < m_NumCols; i++)
if (m_ColsInfo[i].width == 0) j++;
for (i = 0; i < m_NumCols; i++)
if (m_ColsInfo[i].width == 0)
m_ColsInfo[i].pixwidth = wpix / j;
}
/* 2. compute positions of columns: */
{
int wpos = m_Spacing;
for (int i = 0; i < m_NumCols; i++)
{
m_ColsInfo[i].leftpos = wpos;
wpos += m_ColsInfo[i].pixwidth + m_Spacing;
}
}
/* 3. sub-layout all cells: */
{
int *ypos = new int[m_NumRows + 1];
int actcol, actrow;
int fullwid;
wxHtmlContainerCell *actcell;
ypos[0] = m_Spacing;
for (actrow = 1; actrow <= m_NumRows; actrow++) ypos[actrow] = -1;
for (actrow = 0; actrow < m_NumRows; actrow++)
{
if (ypos[actrow] == -1) ypos[actrow] = ypos[actrow-1];
// 3a. sub-layout and detect max height:
for (actcol = 0; actcol < m_NumCols; actcol++) {
if (m_CellInfo[actrow][actcol].flag != cellUsed) continue;
actcell = m_CellInfo[actrow][actcol].cont;
fullwid = 0;
for (int i = actcol; i < m_CellInfo[actrow][actcol].colspan + actcol; i++)
fullwid += m_ColsInfo[i].pixwidth;
fullwid += (m_CellInfo[actrow][actcol].colspan - 1) * m_Spacing;
actcell->SetMinHeight(m_CellInfo[actrow][actcol].minheight, m_CellInfo[actrow][actcol].valign);
actcell->Layout(fullwid);
if (ypos[actrow] + actcell->GetHeight() + m_CellInfo[actrow][actcol].rowspan * m_Spacing > ypos[actrow + m_CellInfo[actrow][actcol].rowspan])
ypos[actrow + m_CellInfo[actrow][actcol].rowspan] =
ypos[actrow] + actcell->GetHeight() + m_CellInfo[actrow][actcol].rowspan * m_Spacing;
}
}
for (actrow = 0; actrow < m_NumRows; actrow++)
{
// 3b. place cells in row & let'em all have same height:
for (actcol = 0; actcol < m_NumCols; actcol++)
{
if (m_CellInfo[actrow][actcol].flag != cellUsed) continue;
actcell = m_CellInfo[actrow][actcol].cont;
actcell->SetMinHeight(
ypos[actrow + m_CellInfo[actrow][actcol].rowspan] - ypos[actrow] - m_Spacing,
m_CellInfo[actrow][actcol].valign);
fullwid = 0;
for (int i = actcol; i < m_CellInfo[actrow][actcol].colspan + actcol; i++)
fullwid += m_ColsInfo[i].pixwidth;
fullwid += (m_CellInfo[actrow][actcol].colspan - 1) * m_Spacing;
actcell->Layout(fullwid);
actcell->SetPos(m_ColsInfo[actcol].leftpos, ypos[actrow]);
}
}
m_Height = ypos[m_NumRows];
delete[] ypos;
}
}
//-----------------------------------------------------------------------------
// The tables handler:
//-----------------------------------------------------------------------------
TAG_HANDLER_BEGIN(TABLE, "TABLE,TR,TD,TH")
TAG_HANDLER_VARS
wxHtmlTableCell* m_Table;
wxString m_tAlign, m_rAlign;
TAG_HANDLER_CONSTR(TABLE)
{
m_Table = NULL;
m_tAlign = m_rAlign = wxEmptyString;
}
TAG_HANDLER_PROC(tag)
{
wxHtmlContainerCell *c;
// new table started, backup upper-level table (if any) and create new:
if (tag.GetName() == wxT("TABLE"))
{
wxHtmlTableCell *oldt = m_Table;
wxHtmlContainerCell *oldcont;
oldcont = c = m_WParser->OpenContainer();
c->SetWidthFloat(tag, m_WParser->GetPixelScale());
m_Table = new wxHtmlTableCell(c, tag, m_WParser->GetPixelScale());
int oldAlign = m_WParser->GetAlign();
m_tAlign = wxEmptyString;
if (tag.HasParam(wxT("ALIGN")))
m_tAlign = tag.GetParam(wxT("ALIGN"));
ParseInner(tag);
m_WParser->SetAlign(oldAlign);
m_WParser->SetContainer(oldcont);
m_WParser->CloseContainer();
m_Table = oldt;
return TRUE;
}
else if (m_Table)
{
// new row in table
if (tag.GetName() == wxT("TR"))
{
m_Table->AddRow(tag);
m_rAlign = m_tAlign;
if (tag.HasParam(wxT("ALIGN")))
m_rAlign = tag.GetParam(wxT("ALIGN"));
}
// new cell
else
{
c = m_WParser->SetContainer(new wxHtmlContainerCell(m_Table));
m_Table->AddCell(c, tag);
m_WParser->OpenContainer();
if (tag.GetName() == wxT("TH")) /*header style*/
m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
else
m_WParser->SetAlign(wxHTML_ALIGN_LEFT);
wxString als;
als = m_rAlign;
if (tag.HasParam(wxT("ALIGN")))
als = tag.GetParam(wxT("ALIGN"));
als.MakeUpper();
if (als == wxT("RIGHT"))
m_WParser->SetAlign(wxHTML_ALIGN_RIGHT);
else if (als == wxT("LEFT"))
m_WParser->SetAlign(wxHTML_ALIGN_LEFT);
else if (als == wxT("CENTER"))
m_WParser->SetAlign(wxHTML_ALIGN_CENTER);
m_WParser->OpenContainer();
}
}
return FALSE;
}
TAG_HANDLER_END(TABLE)
TAGS_MODULE_BEGIN(Tables)
TAGS_MODULE_ADD(TABLE)
TAGS_MODULE_END(Tables)
#endif

519
src/html/winpars.cpp Normal file
View File

@@ -0,0 +1,519 @@
/////////////////////////////////////////////////////////////////////////////
// Name: winpars.cpp
// Purpose: wxHtmlParser class (generic parser)
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "winpars.h"
#endif
#include "wx/wxprec.h"
#include "wx/defs.h"
#if wxUSE_HTML && wxUSE_STREAMS
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WXPRECOMP
#include "wx/intl.h"
#include "wx/dc.h"
#endif
#include "wx/html/htmldefs.h"
#include "wx/html/winpars.h"
#include "wx/html/htmlwin.h"
#include "wx/fontmap.h"
#include "wx/log.h"
//-----------------------------------------------------------------------------
// wxHtmlWinParser
//-----------------------------------------------------------------------------
wxList wxHtmlWinParser::m_Modules;
wxHtmlWinParser::wxHtmlWinParser(wxHtmlWindow *wnd) : wxHtmlParser()
{
m_tmpStrBuf = NULL;
m_tmpStrBufSize = 0;
m_Window = wnd;
m_Container = NULL;
m_DC = NULL;
m_CharHeight = m_CharWidth = 0;
m_UseLink = FALSE;
#if !wxUSE_UNICODE
m_EncConv = NULL;
m_InputEnc = wxFONTENCODING_ISO8859_1;
m_OutputEnc = wxFONTENCODING_DEFAULT;
#endif
{
int i, j, k, l, m;
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
for (l = 0; l < 2; l++)
for (m = 0; m < 7; m++)
{
m_FontsTable[i][j][k][l][m] = NULL;
m_FontsFacesTable[i][j][k][l][m] = wxEmptyString;
#if !wxUSE_UNICODE
m_FontsEncTable[i][j][k][l][m] = wxFONTENCODING_DEFAULT;
#endif
}
SetFonts(wxEmptyString, wxEmptyString, NULL);
}
// fill in wxHtmlParser's tables:
wxNode *node = m_Modules.GetFirst();
while (node)
{
wxHtmlTagsModule *mod = (wxHtmlTagsModule*) node->GetData();
mod->FillHandlersTable(this);
node = node->GetNext();
}
}
wxHtmlWinParser::~wxHtmlWinParser()
{
int i, j, k, l, m;
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
for (l = 0; l < 2; l++)
for (m = 0; m < 7; m++)
{
if (m_FontsTable[i][j][k][l][m] != NULL)
delete m_FontsTable[i][j][k][l][m];
}
#if !wxUSE_UNICODE
delete m_EncConv;
#endif
delete[] m_tmpStrBuf;
}
void wxHtmlWinParser::AddModule(wxHtmlTagsModule *module)
{
m_Modules.Append(module);
}
void wxHtmlWinParser::RemoveModule(wxHtmlTagsModule *module)
{
m_Modules.DeleteObject(module);
}
void wxHtmlWinParser::SetFonts(wxString normal_face, wxString fixed_face,
const int *sizes)
{
static int default_sizes[7] =
{
wxHTML_FONT_SIZE_1,
wxHTML_FONT_SIZE_2,
wxHTML_FONT_SIZE_3,
wxHTML_FONT_SIZE_4,
wxHTML_FONT_SIZE_5,
wxHTML_FONT_SIZE_6,
wxHTML_FONT_SIZE_7
};
if (sizes == NULL) sizes = default_sizes;
int i, j, k, l, m;
for (i = 0; i < 7; i++) m_FontsSizes[i] = sizes[i];
m_FontFaceFixed = fixed_face;
m_FontFaceNormal = normal_face;
#if !wxUSE_UNICODE
SetInputEncoding(m_InputEnc);
#endif
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
for (l = 0; l < 2; l++)
for (m = 0; m < 7; m++) {
if (m_FontsTable[i][j][k][l][m] != NULL)
{
delete m_FontsTable[i][j][k][l][m];
m_FontsTable[i][j][k][l][m] = NULL;
}
}
}
void wxHtmlWinParser::InitParser(const wxString& source)
{
wxHtmlParser::InitParser(source);
wxASSERT_MSG(m_DC != NULL, wxT("no DC assigned to wxHtmlWinParser!!"));
m_FontBold = m_FontItalic = m_FontUnderlined = m_FontFixed = FALSE;
m_FontSize = 3; //default one
CreateCurrentFont(); // we're selecting default font into
m_DC->GetTextExtent( wxT("H"), &m_CharWidth, &m_CharHeight);
/* NOTE : we're not using GetCharWidth/Height() because
of differences under X and win
*/
m_UseLink = FALSE;
m_Link = wxHtmlLinkInfo( wxT(""), wxT("") );
m_LinkColor.Set(0, 0, 0xFF);
m_ActualColor.Set(0, 0, 0);
m_Align = wxHTML_ALIGN_LEFT;
m_tmpLastWasSpace = FALSE;
OpenContainer();
OpenContainer();
#if !wxUSE_UNICODE
wxString charset = ExtractCharsetInformation(source);
if (!charset.empty())
{
wxFontEncoding enc = wxFontMapper::Get()->CharsetToEncoding(charset);
if (enc != wxFONTENCODING_SYSTEM)
SetInputEncoding(enc);
}
#endif
m_Container->InsertCell(new wxHtmlColourCell(m_ActualColor));
m_Container->InsertCell(new wxHtmlFontCell(CreateCurrentFont()));
}
void wxHtmlWinParser::DoneParser()
{
m_Container = NULL;
#if !wxUSE_UNICODE
SetInputEncoding(wxFONTENCODING_ISO8859_1); // for next call
#endif
wxHtmlParser::DoneParser();
}
wxObject* wxHtmlWinParser::GetProduct()
{
wxHtmlContainerCell *top;
CloseContainer();
OpenContainer();
top = m_Container;
while (top->GetParent()) top = top->GetParent();
return top;
}
wxFSFile *wxHtmlWinParser::OpenURL(wxHtmlURLType type,
const wxString& url) const
{
// FIXME - normalize the URL to full path before passing to
// OnOpeningURL!!
if ( m_Window )
{
wxString myurl(url);
wxHtmlOpeningStatus status;
for (;;)
{
wxString redirect;
status = m_Window->OnOpeningURL(type, myurl, &redirect);
if ( status != wxHTML_REDIRECT )
break;
myurl = redirect;
}
if ( status == wxHTML_BLOCK )
return NULL;
return GetFS()->OpenFile(myurl);
}
return wxHtmlParser::OpenURL(type, url);
}
void wxHtmlWinParser::AddText(const wxChar* txt)
{
wxHtmlCell *c;
size_t i = 0,
x,
lng = wxStrlen(txt);
register wxChar d;
int templen = 0;
wxChar nbsp = GetEntitiesParser()->GetCharForCode(160 /* nbsp */);
if (lng+1 > m_tmpStrBufSize)
{
delete[] m_tmpStrBuf;
m_tmpStrBuf = new wxChar[lng+1];
m_tmpStrBufSize = lng+1;
}
wxChar *temp = m_tmpStrBuf;
if (m_tmpLastWasSpace)
{
while ((i < lng) &&
((txt[i] == wxT('\n')) || (txt[i] == wxT('\r')) || (txt[i] == wxT(' ')) ||
(txt[i] == wxT('\t')))) i++;
}
while (i < lng)
{
x = 0;
d = temp[templen++] = txt[i];
if ((d == wxT('\n')) || (d == wxT('\r')) || (d == wxT(' ')) || (d == wxT('\t')))
{
i++, x++;
while ((i < lng) && ((txt[i] == wxT('\n')) || (txt[i] == wxT('\r')) ||
(txt[i] == wxT(' ')) || (txt[i] == wxT('\t')))) i++, x++;
}
else i++;
if (x)
{
temp[templen-1] = wxT(' ');
temp[templen] = 0;
#if 0 // VS - WHY was this here?!
if (templen == 1) continue;
#endif
templen = 0;
#if !wxUSE_UNICODE
if (m_EncConv)
m_EncConv->Convert(temp);
#endif
size_t len = wxStrlen(temp);
for (size_t j = 0; j < len; j++)
if (temp[j] == nbsp)
temp[j] = wxT(' ');
c = new wxHtmlWordCell(temp, *(GetDC()));
if (m_UseLink)
c->SetLink(m_Link);
m_Container->InsertCell(c);
m_tmpLastWasSpace = TRUE;
}
}
if (templen && (templen > 1 || temp[0] != wxT(' ')))
{
temp[templen] = 0;
#if !wxUSE_UNICODE
if (m_EncConv)
m_EncConv->Convert(temp);
#endif
size_t len = wxStrlen(temp);
for (size_t j = 0; j < len; j++)
if (temp[j] == nbsp)
temp[j] = wxT(' ');
c = new wxHtmlWordCell(temp, *(GetDC()));
if (m_UseLink)
c->SetLink(m_Link);
m_Container->InsertCell(c);
m_tmpLastWasSpace = FALSE;
}
}
wxHtmlContainerCell* wxHtmlWinParser::OpenContainer()
{
m_Container = new wxHtmlContainerCell(m_Container);
m_Container->SetAlignHor(m_Align);
m_tmpLastWasSpace = TRUE;
/* to avoid space being first character in paragraph */
return m_Container;
}
wxHtmlContainerCell* wxHtmlWinParser::SetContainer(wxHtmlContainerCell *c)
{
m_tmpLastWasSpace = TRUE;
/* to avoid space being first character in paragraph */
return m_Container = c;
}
wxHtmlContainerCell* wxHtmlWinParser::CloseContainer()
{
m_Container = m_Container->GetParent();
return m_Container;
}
void wxHtmlWinParser::SetFontSize(int s)
{
if (s < 1) s = 1;
else if (s > 7) s = 7;
m_FontSize = s;
}
wxFont* wxHtmlWinParser::CreateCurrentFont()
{
int fb = GetFontBold(),
fi = GetFontItalic(),
fu = GetFontUnderlined(),
ff = GetFontFixed(),
fs = GetFontSize() - 1 /*remap from <1;7> to <0;6>*/ ;
wxString face = ff ? m_FontFaceFixed : m_FontFaceNormal;
wxString *faceptr = &(m_FontsFacesTable[fb][fi][fu][ff][fs]);
wxFont **fontptr = &(m_FontsTable[fb][fi][fu][ff][fs]);
#if !wxUSE_UNICODE
wxFontEncoding *encptr = &(m_FontsEncTable[fb][fi][fu][ff][fs]);
#endif
if (*fontptr != NULL && (*faceptr != face
#if !wxUSE_UNICODE
|| *encptr != m_OutputEnc
#endif
))
{
delete *fontptr;
*fontptr = NULL;
}
if (*fontptr == NULL)
{
*faceptr = face;
*fontptr = new wxFont(
(int) (m_FontsSizes[fs] * m_PixelScale),
ff ? wxMODERN : wxSWISS,
fi ? wxITALIC : wxNORMAL,
fb ? wxBOLD : wxNORMAL,
fu ? TRUE : FALSE, face
#if wxUSE_UNICODE
);
#else
, m_OutputEnc);
*encptr = m_OutputEnc;
#endif
}
m_DC->SetFont(**fontptr);
return (*fontptr);
}
void wxHtmlWinParser::SetLink(const wxHtmlLinkInfo& link)
{
m_Link = link;
m_UseLink = (link.GetHref() != wxEmptyString);
}
void wxHtmlWinParser::SetFontFace(const wxString& face)
{
if (GetFontFixed()) m_FontFaceFixed = face;
else m_FontFaceNormal = face;
#if !wxUSE_UNICODE
if (m_InputEnc != wxFONTENCODING_DEFAULT)
SetInputEncoding(m_InputEnc);
#endif
}
#if !wxUSE_UNICODE
void wxHtmlWinParser::SetInputEncoding(wxFontEncoding enc)
{
m_InputEnc = m_OutputEnc = wxFONTENCODING_DEFAULT;
if (m_EncConv)
{
delete m_EncConv;
m_EncConv = NULL;
}
if (enc == wxFONTENCODING_DEFAULT) return;
wxFontEncoding altfix, altnorm;
bool availfix, availnorm;
// exact match?
availnorm = wxFontMapper::Get()->IsEncodingAvailable(enc, m_FontFaceNormal);
availfix = wxFontMapper::Get()->IsEncodingAvailable(enc, m_FontFaceFixed);
if (availnorm && availfix)
m_OutputEnc = enc;
// alternatives?
else if (wxFontMapper::Get()->GetAltForEncoding(enc, &altnorm, m_FontFaceNormal, FALSE) &&
wxFontMapper::Get()->GetAltForEncoding(enc, &altfix, m_FontFaceFixed, FALSE) &&
altnorm == altfix)
m_OutputEnc = altnorm;
// at least normal face?
else if (availnorm)
m_OutputEnc = enc;
else if (wxFontMapper::Get()->GetAltForEncoding(enc, &altnorm, m_FontFaceNormal, FALSE))
m_OutputEnc = altnorm;
// okay, let convert to ISO_8859-1, available always
else
m_OutputEnc = wxFONTENCODING_DEFAULT;
m_InputEnc = enc;
if (m_OutputEnc == wxFONTENCODING_DEFAULT)
GetEntitiesParser()->SetEncoding(wxFONTENCODING_SYSTEM);
else
GetEntitiesParser()->SetEncoding(m_OutputEnc);
if (m_InputEnc == m_OutputEnc) return;
m_EncConv = new wxEncodingConverter();
if (!m_EncConv->Init(m_InputEnc,
(m_OutputEnc == wxFONTENCODING_DEFAULT) ?
wxFONTENCODING_ISO8859_1 : m_OutputEnc,
wxCONVERT_SUBSTITUTE))
{ // total failture :-(
wxLogError(_("Failed to display HTML document in %s encoding"),
wxFontMapper::GetEncodingName(enc).c_str());
m_InputEnc = m_OutputEnc = wxFONTENCODING_DEFAULT;
delete m_EncConv;
m_EncConv = NULL;
}
}
#endif
//-----------------------------------------------------------------------------
// wxHtmlWinTagHandler
//-----------------------------------------------------------------------------
IMPLEMENT_ABSTRACT_CLASS(wxHtmlWinTagHandler, wxHtmlTagHandler)
//-----------------------------------------------------------------------------
// wxHtmlTagsModule
//-----------------------------------------------------------------------------
// NB: This is *NOT* winpars.cpp's initialization and shutdown code!!
// This module is an ancestor for tag handlers modules defined
// in m_*.cpp files with TAGS_MODULE_BEGIN...TAGS_MODULE_END construct.
//
// Do not add any winpars.cpp shutdown or initialization code to it,
// create a new module instead!
IMPLEMENT_DYNAMIC_CLASS(wxHtmlTagsModule, wxModule)
bool wxHtmlTagsModule::OnInit()
{
wxHtmlWinParser::AddModule(this);
return TRUE;
}
void wxHtmlTagsModule::OnExit()
{
wxHtmlWinParser::RemoveModule(this);
}
#endif

83
src/xrc/xh_html.cpp Normal file
View File

@@ -0,0 +1,83 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_html.cpp
// Purpose: XRC resource for wxHtmlWindow
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "xh_html.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/xrc/xh_html.h"
#if wxUSE_HTML
#include "wx/html/htmlwin.h"
#include "wx/filesys.h"
wxHtmlWindowXmlHandler::wxHtmlWindowXmlHandler()
: wxXmlResourceHandler()
{
XRC_ADD_STYLE(wxHW_SCROLLBAR_NEVER);
XRC_ADD_STYLE(wxHW_SCROLLBAR_AUTO);
AddWindowStyles();
}
wxObject *wxHtmlWindowXmlHandler::DoCreateResource()
{
XRC_MAKE_INSTANCE(control, wxHtmlWindow)
control->Create(m_parentAsWindow,
GetID(),
GetPosition(), GetSize(),
GetStyle(wxT("style"), wxHW_SCROLLBAR_AUTO),
GetName());
if (HasParam(wxT("borders")))
{
control->SetBorders(GetDimension(wxT("borders")));
}
if (HasParam(wxT("url")))
{
wxString url = GetParamValue(wxT("url"));
wxFileSystem& fsys = GetCurFileSystem();
wxFSFile *f = fsys.OpenFile(url);
if (f)
{
control->LoadPage(f->GetLocation());
delete f;
}
else
control->LoadPage(url);
}
else if (HasParam(wxT("htmlcode")))
{
control->SetPage(GetText(wxT("htmlcode")));
}
SetupWindow(control);
return control;
}
bool wxHtmlWindowXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, wxT("wxHtmlWindow"));
}
#endif // wxUSE_HTML

View File

@@ -1 +0,0 @@
export PYTHONPATH=/projects/wx/wxPython