Commit Graph

50313 Commits

Author SHA1 Message Date
Vadim Zeitlin
85ee88cd53 Improve wxCheckListBox appearance under Vista/Win7.
Fix the items alignment and also code cleanup: fix indentation, remove magic
numbers &c.

Closes #10286.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:22:00 +00:00
Vadim Zeitlin
ee00931326 Correct drawing of check marks for owner-drawn items without bitmaps.
Standard check mark was not drawn correctly for check/radio items without
bitmaps.

Closes #11480.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:52 +00:00
Vadim Zeitlin
9c32ed26a2 Correct alignment of menu accelerator strings in owner-drawn menus.
Draw them right-aligned as the native menus do.

Closes #11479.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:46 +00:00
Vadim Zeitlin
aa4919edd1 Use theme functions for drawing owner-drawn menus.
This makes the menu items with custom attributes or bitmaps look more native,
especially on post-XP systems.

Closes #11420.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:36 +00:00
Vadim Zeitlin
d08504dfa5 Fix calculation of the margins for owner-drawn menu items.
Take into account the widths of the bitmaps properly.

Closes #11268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:27 +00:00
Vadim Zeitlin
4e7c767fed Set up menu bitmaps correctly for checkable items.
We must not set MENUITEMINFO::hbmpItem for the checkable items as it would
then be used for both checked and unchecked state.

Closes #11244.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:20 +00:00
Vadim Zeitlin
98fbab9e7b Refactor owner-drawing code.
Only keep common code in the base class and extract all menu/listbox-specific
stuff into derived classes.

This makes the code cleaner and more maintainable but introduces some problems
in wxCheckListBox appearance which will be fixed by the next patch.

Closes #10635.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:12 +00:00
Vadim Zeitlin
937d5b6075 Return old, not new, selection from wxMSW wxNotebook::ChangeSelection().
The function is documented to return the old selection and not the new one, so
correct it to behave as expected.

Closes #11646.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:20:54 +00:00
Jouk Jansen
b1b5ebb7e2 Correction on previous commit: statement order corrected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-22 15:52:20 +00:00
Jouk Jansen
83d59607cd Get wxDC defined when nescessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-22 07:55:26 +00:00
Kevin Ollivier
2c755d9bbf Handle the case of NSNotFound result properly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-20 02:07:22 +00:00
Vadim Zeitlin
9584818ae9 Disable size grip for TLW status bar if TLW is not resizeable.
wxSTB_SIZEGRIP is part of default status bar style but it doesn't make sense
for non-resizeable TLWs, so turn it off in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-20 00:17:08 +00:00
Václav Slavík
7ca3cc6fc3 Fix wxMulDivInt32() to round the result like win32 MulDiv() does.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 22:02:59 +00:00
Václav Slavík
0e7f59ab29 Make ConvertPixelsToDialog() and ConvertDialogToPixels() const.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 17:53:29 +00:00
Václav Slavík
e27619029d Don't query metrics that won't be used.
If ConvertPixelsToDialog() or ConvertDialogToPixels() was called with
one of the two input values set to -1, the respective font metric was
queried needlessly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 16:32:31 +00:00
Václav Slavík
319106d6e2 Support XHTML ' entity.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 14:47:20 +00:00
Vadim Zeitlin
dff3fa53dc Further enhancement to the samples overview page.
Add links to samples sources in svn to all the individual samples and be even
more explicit about their location on the local disk.

Move the paragraph explaining the samples location further below -- but <hr>
still doesn't work somehow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 13:49:12 +00:00
Vadim Zeitlin
187acdec76 Explain the location of samples better in the samples overview page.
Don't mention controls sample, just the widgets one, as the latter is much
richer and easier to understand.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 13:02:21 +00:00
Vadim Zeitlin
49c2653000 Don't set initial size as min size for top level windows in wxMSW.
This was accidentally done because wxWindowBase::CreateBase() didn't recognize
the window as being top level as it was called before the window was appended
to wxTopLevelWindows list.

Fix this by doing the same thing wxGTK already did: just call
wxTopLevelWindows.Append() before CreateBase().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 13:02:14 +00:00
Václav Slavík
dae60aeebb Add wxThreadEvent::SetPayload<T>().
This makes it possible to easily pass custom data between threads, in
type-safe way (thanks to internal use of wxAny). This adds
sizeof(wxAny)==16+sizeof(void*) overhead to wxThreadEvent, but I think
it's cheaper than doing malloc/free on copying.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 13:01:40 +00:00
Václav Slavík
f8a7dd5f41 Don't make full copy of string in wxThreadEvent::Clone().
It's enough to do it once to ensure thread-safety. Doing it twice (once
in copy ctor called by Clone(), once in Clone() itself) only wastes
time.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 13:01:33 +00:00
Stefan Csomor
477618ea0c moving GetPageInfo to later stage, closes #11494
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 11:05:27 +00:00
Stefan Csomor
2ea6073516 switching to LaunchServices implementation, fixes #11508
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 10:56:17 +00:00
Stefan Csomor
43201491cd fixing type for 64 bit, closes #11550
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 10:09:47 +00:00
Stefan Csomor
1e287c5df7 avoiding Insert shadowing superclass methods, closes #11616
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 09:45:32 +00:00
Stefan Csomor
2efd54a41b setting correct 'default' for m_filterIndex, closes #11541
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 09:12:53 +00:00
Stefan Csomor
237077b501 applying patch, closes #11309
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 09:03:05 +00:00
Stefan Csomor
0ee6e44952 setting correct refcon in menus (was incorrectly changed to menuimpl), fixes #11611
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 08:56:20 +00:00
Stefan Csomor
1ad953420b avoiding double define warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 08:52:46 +00:00
Vadim Zeitlin
7981d3408f Document wxCENTRE style for wxMessageDialog.
This is currently only implemented for MSW but we could implement it for the
other ports in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:29:12 +00:00
Vadim Zeitlin
187839afce Don't set stretchable spacers size to 0, this doesn't work so use 1 instead.
If the toolbar is not big enough for its fixed-size contents, we set the size
of the tools corresponding to stretchable spacers to 0 but this didn't really
work and resulted in bad toolbar appearance even after resizing it to be big
enough (as could be seen in samples/xrc).

So set the spacers size to at least 1 to ensure that we do resize them
correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:29:05 +00:00
Vadim Zeitlin
5852e62f1f Add support for stretchable spacers to XRC wxToolBar handler.
Notice that currently only stretchable spacers are supported via
separator-like "space" XRC element. If we ever add support for fixed spacers
in the toolbar we should do it via its fixed sub-element, e.g. they would be
specified with <fixed>1</fixed> in XRC file.

Also use spacers instead of separator in the XRC sample and ensure that the
toolbars in it are resized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:29:00 +00:00
Vadim Zeitlin
ca67f0d859 Correct test for parent being on screen in wxTLW::DoCentre().
The old test was needlessly complicated, didn't take all cases into account
and had a typo in it which prevented it from working in half of the cases
which it did [try to] take into account.

Correct this by simply checking if the parent rectangle intersects the visible
display area at all.

Also simplify the code a little by checking for the window being maximized
from the beginning as centering a maximized window on either screen or parent
is a no-op.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:53 +00:00
Vadim Zeitlin
f19259fce0 Invalidate stored wxTreeItemIds when the corresponding item is deleted in wxMSW.
m_htSelStart and m_htClickedItem stored in wxTreeCtrl must be invalidated when
the item they point to is deleted (which also happens when all the items are
deleted), otherwise the selection doesn't behave correctly after doing it.

Closes #11619.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:47 +00:00
Vadim Zeitlin
d6d857b124 Generate wxEVT_KEY_DOWN events for navigation keys in wxMSW wxTreeCtrl.
We only generated wxEVT_COMMAND_TREE_KEY_DOWN events for the keys which can be
used for tree control navigation and which are handled specially in the code
but not the wxEVT_KEY_DOWN ones. This was inconsistent with the other keys and
incompatible with wx 2.8 and other ports, so generate both events unless the
wxEVT_KEY_DOWN one was handled by the user code.

Closes #11621.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:41 +00:00
Vadim Zeitlin
27db5c5580 Show the more metrics for the selected font in the sample.
Show the result of wxDC::GetChar{Width,Height}() and the font size in pixels
in addition to the font size in points.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:35 +00:00
Vadim Zeitlin
954f8d64fb Don't call base class version unnecessarily in wxLogWindow::DoLogTextAtLevel().
This is unnecessary as the log message is already passed to the previous
logger by the base class wxLogChain::DoLogRecord() implementation. Worse, it's
actively harmful as it resulted in asserts in wxLog::DoLogText() when built
with WXWIN_COMPATIBILITY_2_8==0.

Closes #11526.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:21 +00:00
Vadim Zeitlin
e652fc4807 No changes, just fix an unused parameter warning.
Fix warning in mingw32 wxMSW build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:15 +00:00
Vadim Zeitlin
7a0079d5a4 Add wxIsascii() function and use it instead of isascii() in our code.
isascii() is non-ANSI and is not available under all platforms. While we
currently define it ourselves in wx/wxcrtbase.h in this case, it's not a good
idea as this can't be easily done correctly for all platforms so start
transitioning away from using isascii() by adding wxIsascii() and using it in
our own code.

The only remaining occurrences of isascii() are in Scintilla code which we
probably don't want to modify.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:11 +00:00
Vadim Zeitlin
f030eeed1e Only disable use of non-ANSI functions in strict ANSI mode under Windows.
The changes of r62518 fixed compilation of wx headers in g++ strict ANSI mode
(enabled by th use of -ansi or -std=c++{98,0x} options) with mingw32 but
broke it when using g++ in ANSI mode under Unix. The problems arose at least
due to redeclaration of isascii() with different exception specifier and due
to the lack of wxCRT_StrdupA() definition in the library.

Fix this by simply not disabling the use of non-ANSI functions such as
isascii() and strdup() under Unix as they are still available in the headers
by default because of _GNU_SOURCE predefined by g++.

Notice that if _GNU_SOURCE is explicitly undefined, compilation would probably
still be broken. To fix this we might check whether __USE_SVID is defined
under Linux. Unfortunately doing tests in configure is not an answer as
wxWidgets might not be compiled with the same -std option as the programs
using it, so there is no obviously correct way to fix this.

See #11374.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:27:59 +00:00
Paul Cornett
62fc18efc1 update docs for wxMAXIMIZE on GTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-16 04:14:18 +00:00
Jaakko Salli
bbb8690483 When checking whether the parent has wxTAB_TRAVERSAL style, take into account that the wxComboCtrl can be part of a composite control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-15 17:19:54 +00:00
Paul Cornett
68893d5803 honor wxMAXIMIZE frame style, fixes #11631
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-15 17:09:29 +00:00
Vadim Zeitlin
61503542be More wx(Flex)GridSizer constructors documentation improvements.
Mention that the number of columns may also be automatically deduced.

Don't duplicate the same documentation in wxGridSizer and wxFlexGridSizer as
this inevitably results in forgetting to update one of the versions (as in the
previous commit). Instead, just link to wxGridSizer from wxFlexGridSizer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-14 22:51:04 +00:00
Vadim Zeitlin
b4c1fe36b9 Minor corrections to wxFlexGridSizer ctor documentation.
Be more clear about what does it mean to specify the number of rows. Don't use
@code for inline expressions. Remove an extraneous "it".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-14 22:43:23 +00:00
Stefan Csomor
134865f89c fixing comments, making sure sound always gets the completion call in the same thread as it was created, otherwise iphone sometimes crashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-14 19:04:38 +00:00
Vadim Zeitlin
cbab155657 No real changes, just fix a typo in comments and documentation.
Use "surprising" instead of (common) "surprizing" misspelling.

Closes #11627.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-14 18:02:26 +00:00
Jaakko Salli
c4fee2531a Fixed bug: wxPGEditor::SetControlAppearance() was calling SetValueToUnspecified() unconditionally, disregarding value of 'unspecified' argument.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-13 18:29:09 +00:00
Vadim Zeitlin
4cdbd8f357 Check for a function existing in all libpng releases in configure.
We tested for png_check_sig() which was deprecated and is not available in the
latest libpng 1.4 any more. Just use another, not deprecated and not new,
function for the test.

See #11625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-12 15:47:16 +00:00
Vadim Zeitlin
a7bb4dcb49 Add wx/osx/textentry.h to the list of OS X headers.
Fix problem with "make install" which didn't install this header.

Closes #11624.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-12 15:47:07 +00:00