Commit Graph

51080 Commits

Author SHA1 Message Date
Francesco Montorsi
91ee2f3520 remove wxDateTime tests which were already extracted as tests/datetime/datetime.cpp (keep only the interactive test)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 14:36:16 +00:00
Francesco Montorsi
3dea816bd2 move TestTextInputStream() function in CppUnit's TextStreamTestCase class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 14:31:00 +00:00
Robert Roebling
3f6e622f7c Applied #11755: wxBitmapToggleButton Xml Handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 14:30:13 +00:00
Robert Roebling
3556d648eb Allow calling iter_children with parent being NULL, hopefully fixes #12035 (wxDataViewCtrl crashes when selecting item)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 14:23:07 +00:00
Václav Slavík
8c62319a81 Fix incorrect painting of backgrounds inside notebook.
Children without transparent background (e.g. wxListBox) were still
pained using notebook's background brush. They shouldn't, it should
apply only to transparent-bg controls.

This fix is not perfect, see #12057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 13:21:03 +00:00
Vadim Zeitlin
e91ce12d73 Mention that stock bitmaps are a wxGTK-only feature for now.
Apparently people expect to see stock bitmaps under MSW too, make it clear
that they won't be used there.

See #12051.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 12:31:57 +00:00
Vadim Zeitlin
adf8418e3c Fix links to wxArtClient and wxArtID in the generated documentation.
Add a "class" keyword to fix what looks like a bug in Doxygen.

Closes #12052.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 12:31:52 +00:00
Vadim Zeitlin
08043a1c27 Clip drawing in wxRendererGeneric::DrawHeaderButtonContents().
Clip drawing of the icon and bitmap to the header rectangle.

Don't clip the text because we already ellipsize it to avoid overflowing but
do the ellipsization correctly, using wxControl::Ellipsize() instead of the
simple (and wrong) duplicated version here.

Also correct and simplify the alignment calculations.

Closes #12047.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 11:15:09 +00:00
Vadim Zeitlin
78010a1f33 Don't change the current pen and brush in DrawHeaderButtonContents().
Renderer methods shouldn't affect the functions drawing on the DC after it but
the wxRendererGeneric implementation did.

Use wxDC{Pen,Brush}Changer classes instead of calling wxDC::Set{Pen,Brush}()
directly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 11:15:05 +00:00
Vadim Zeitlin
945178c70e Add more tests for wxRendererNative::DrawHeaderButton().
Test using icons and bitmaps in it. Also show the native/default
implementation of this method and not only our overridden version.

See #12047.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 10:47:33 +00:00
Vadim Zeitlin
c93e68a85a Remove wxGTK-specific text shift in wxRenderer::DrawHeaderButtonContents().
This was probably related to the code removed by r63947 and doesn't seem to be
needed here neither (and could presumably result in the same problems as in
the ticket #11780).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 10:47:28 +00:00
Vadim Zeitlin
3f77c76cc9 Never enable wxSpinCtrlGenericBase window itself at underlying toolkit level.
We create wxSpinCtrlGenericBase window disabled at underlying toolkit level
(but enabled at the level of wxWidgets API, of course), but calling Disable()
and Enable() on it re-enabled it resulting in loss of mouse events under
Windows.

Don't re-enable it (again, at the low-level toolkit level only) in its
Enable() any more but keep this window itself always disabled.

Closes #12045.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 15:31:35 +00:00
Vadim Zeitlin
ca288f2afe Use GetWidgets() in the widgets samples instead of GetWidget2().
Add a function which can be overridden to return an arbitrary number of
widgets instead of having just GetWidget() and GetWidget2(): spin control page
already uses 3 widgets (and defines GetWidget3() which is never called) and we
could have even more in the future. Just use a generic solution which will
always work.

The practical consequence of this is that the "Enable/Disable" menu item now
also enables and disables the wxSpinCtrlDouble in the spin page, see #12045.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 15:31:30 +00:00
Vadim Zeitlin
2d4a03f8a7 No changes, just cleanup the image part of the docview sample.
Remove unnecessary, never used methods.

Don't use pointers when objects or references can be used more safely.

Don't name classes which are not part of wx with "wx" prefix to avoid
confusing people.

Don't define empty unnecessary event tables.

Prefer wxScrolledWindow::SetVirtualSize() to SetScrollbars().

Stop using "protected" when "private" should be used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 14:37:06 +00:00
Vadim Zeitlin
2954883593 Document wxDocument::DeleteContents().
This method purpose was not quite clear as it was only mentioned in passing in
documentation of OnCloseDocument() but not really documented itself.

Also don't call it from wxDocument dtor as this is useless: the user-defined
overridden version will never be called from here and the base class version
does nothing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 14:37:00 +00:00
Jaakko Salli
17c02cc8e6 Make text drawn by wxGraphicsContext slightly less intrusive
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 08:36:37 +00:00
Jaakko Salli
8371a35340 Added wxGraphicsContext::Create(const wxEnhMetaFileDC& dc) so that wxPrintPreview can work with wxMSW's wxGraphicsContext (closes #12028)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 08:22:36 +00:00
Václav Slavík
f19f8180a5 Add missing check for wxUSE_FILE_HISTORY existence.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 06:25:33 +00:00
Vadim Zeitlin
c48bdb0c28 Refactor wxDocParentFrame and wxDocMDIParentFrame to share common base class.
Use the same approach as for the child frames: add a base template class which
allows wxDocParentFrame to inherit from wxFrame and wxDocMDIParentFrame from
wxMDIParentFrame while still allowing to reuse the common code.

This reduces code duplication and should make implementing parent AUI document
frame easier as well, see #8945.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-12 14:34:18 +00:00
Vadim Zeitlin
8329f1d1d6 Restore wxString::Printf() example showing position parameters in the docs.
The example was lost during the translation of the manual to Doxygen.

Closes #12038.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-12 08:18:17 +00:00
Francesco Montorsi
1125960175 update the main page of the manual to be more consistent; update its date
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 21:25:17 +00:00
Francesco Montorsi
dc735b4085 fix errors/inconsistencies pointed out by ifacecheck
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 21:12:10 +00:00
Francesco Montorsi
ed923a37e5 better error message when an inconsistency has been found
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 21:10:18 +00:00
Francesco Montorsi
001f1f5678 minor fixes to reduce number of Doxygen warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 19:44:16 +00:00
Francesco Montorsi
a300c74538 img tags need a final slash as they are empty tags; change <img> => <img/>
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 19:39:06 +00:00
Francesco Montorsi
0f3216c8c9 make H3 titles center-aligned (fixes the display of the manual version for HTML docs which currently appears left-aligned)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 19:37:29 +00:00
Jouk Jansen
4290ae6a1c Update OpenVMS comiles support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 10:40:47 +00:00
Vadim Zeitlin
1acbfd013d Fix position for wxKeyEvents in wxMSW.
Use ScreenToClient() instead of painstakingly (and incorrectly) transforming
the position in this function itself.

Closes #12024.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 10:39:42 +00:00
Francesco Montorsi
5d029a1d7c fix for non-PCH builds; also use wxMilliSleep instead of wxThread::Sleep since the former is more readable (it's clear that it takes milliseconds).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-11 07:16:58 +00:00
Francesco Montorsi
1f5496a0f5 move code testing wxThread classes from the console sample to a new CppUnit test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:48:24 +00:00
Vadim Zeitlin
0fe260084e Build fix: forgotten part of the previous commit.
This commit should have been part of r64281.

Also notice that the previous commit message mentioned a wrong ticket number,
see #10572.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:28:17 +00:00
Vadim Zeitlin
b6812a6f19 Add column parameter to wxListCtrl::GetItemText().
Allow retrieving the text from columns other than the first one directly.

Add implementations for MSW and generic versions, documentation and a unit
test.

Closes #11597.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:22:16 +00:00
Vadim Zeitlin
654e324628 Change wxDIALOG_NO_PARENT value to avoid clashing with wxCENTRE.
Use a bit freed by removing wxTINY_CAPTION_HORIZ for wxDIALOG_NO_PARENT. This
allows to move it out from the lower byte of the style word to avoid conflicts
with the button selection flags which can be commonly combined with the dialog
styles.

More precisely, wxDIALOG_NO_PARENT used to clash with wxCENTRE, meaning that
wxSingleChoiceDialog, for example, was always created without parent because
its default style included wxCENTRE. This commit fixes this particular bug and
probably more similar ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:10:03 +00:00
Vadim Zeitlin
7282b0678a Replace wxTINY_CAPTION_{HORIZ,VERT} with a single wxTINY_CAPTION.
These two styles were always equivalent so we can just as well replace them
with a single one and stop wasting an extra bit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:09:57 +00:00
Vadim Zeitlin
f16fad90b2 No changes, just added comments summarizing the use of style bits.
Add comments allowing to see more clearly the styles allocation.

Please make sure to amend them if you change any style values in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:09:50 +00:00
Vadim Zeitlin
f6b4a1b98d Don't use wxWindow::ClearBackground() in the image sample and explain why.
Painting on both wxPaintDC and wxClientDC simultaneously doesn't work well,
e.g. under Windows the client DC can be actually erased after we finished
painting the window contents, overwriting it.

Simply use wxDC::Clear() instead of wxWindow::ClearBackground() to avoid this
and document the danger of using ClearBackground() from EVT_PAINT handler.

Closes #10700.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:02:30 +00:00
Jaakko Salli
a29df06231 Make text printed by wxGraphicsContext shorter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 14:16:07 +00:00
Jaakko Salli
a5e40d85a4 Use wxGraphicsContext to draw some text and a rectangle around it (so that GetTextExtent() can be verified to work correctly)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 14:14:35 +00:00
Jaakko Salli
465642da29 In wxGDIPlusContext::GetTextExtent(), return more accurate text height if possible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 13:54:20 +00:00
Jaakko Salli
a53b5e867b Set wxGraphicsContext page scale, which is required for printing to work properly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 13:52:12 +00:00
Vadim Zeitlin
512220b67b Replace public wxEvtHandler::ProcessEventHere() with private TryHere().
ProcessEventHere() doesn't have to be public any more now that we have
ProcessEventLocally() which is safe to call from the outside (i.e. doesn't
forget about the chained event handlers and validators).

Still keep this function because it makes the code more modular and also
because we might want to make it virtual for consistency with TryBefore() and
TryAfter() later. Also rename it to TryHere() to make the symmetry with these
functions more manifest.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:46 +00:00
Vadim Zeitlin
44070fd379 Use ProcessEventLocally() instead of ProcessEventHere() in docview code.
Use wxEvtHandler::ProcessEventLocally() instead of ProcessEventHere() when
forwarding events in the docview code. This ensures that any event handlers
chained with the objects involved (document manager, document, view) will be
used.

Incidentally the old code didn't work at all as ProcessEventHere() didn't even
call TryBefore() where the (further) forwarding was implemented.

Closes #10640.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:41 +00:00
Vadim Zeitlin
396e9eb8e2 Add wxWindow::ProcessWindowEventLocally() and use it in wxMSW MDI code.
Add ProcessWindowEventLocally() which wraps ProcessEventLocally() in the same
way as ProcessWindowEvent() wraps ProcessEvent(). I.e. it allows to process
the event in this window only, without propagating it upwards, but taking into
account any event handlers associated with it.

Use the new method in wxMDIParentFrame code in wxMSW to ensure that event
handlers pushed on MDI children frames are taken into account. Add a test for
this to the MDI sample.

Closes #11225.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:33 +00:00
Vadim Zeitlin
3cbb9df817 Refactor the event processing code to add ProcessEventLocally().
This new method can be used to only process the event in this handler or any
handlers connected to it (unlike ProcessEventHere() which doesn't follow the
chain at all), without propagating the event upwards (unlike ProcessEvent()).

Unfortunately implementing this required a field to wxEvent but there doesn't
seem to be any other way to do what we need.

There should be no user-visible changes after this commit, it just paves the
way for the upcoming fixes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:28 +00:00
Vadim Zeitlin
255ea4a702 Call wxEvtHandler::TryBefore() only once from ProcessEvent().
The event pre-processing hooks associated with the window should be called
only once during the event processing, we don't need to call TryBefore() for
each and every event handler associated with the window too.

This makes the code slightly simpler and faster and shouldn't change the
behaviour of any existing code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:21 +00:00
Jaakko Salli
c0c05e79b2 Supress SetFocus() warning in wxVListBoxComboPopup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 10:29:48 +00:00
Václav Slavík
008809c73c Prevent idMenuTitle from being accidentally used as invalid wx ID.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 10:27:44 +00:00
Václav Slavík
0c51948f7d Whitelist wxID_NONE as valid menu item ID.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 10:27:40 +00:00
Václav Slavík
163e127d2e Fixed popup menu's title to be bold regardless of method used.
Popup menus with title set via SetTitle() had bold font, but menus
created by passing title as ctor argument used normal font. Fixed this
by using the same code (SetTitle) in both cases, instead of having two
independent (and out of sync) implementations of the same functionality.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 10:27:35 +00:00
Václav Slavík
3a72e0ed15 wxMsgCatalog destructor should be public.
Fixes #12031.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-08 15:31:12 +00:00