Commit Graph

13729 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
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
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
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
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
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
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
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
Stefan Csomor
c8fdb345a0 adding protocol support for 10.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-11 14:19:28 +00:00
Kevin Ollivier
496af8a383 Remove duplicate fields in wxTextCtrl / wxTextEntry. Fixes #11618.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-10 01:52:22 +00:00
Kevin Ollivier
c84030e020 Implement native OS X ComboBox for OS X Cocoa, and implement wxTextEntry methods to share code between wxComboBox and wxTextCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-09 19:50:55 +00:00
Jaakko Salli
14946ce13c Improved documentation for wxPGProperty::DoSetAttribute()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 19:43:12 +00:00
Jaakko Salli
4fe6eca460 Fixed deprecation message (brings include file in line with the the interface)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 19:37:42 +00:00
Paul Cornett
31f4ed4aa3 remove unused function GetGdkVisual()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 18:30:18 +00:00
Paul Cornett
06497cba66 defer creating bitmap representation until it is needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 18:16:45 +00:00
Vadim Zeitlin
3c8cbc12ca Improve hit detection in wxMSW wxTreeCtrl with wxTR_FULL_ROW_HIGHLIGHT style.
When wxTR_FULL_ROW_HIGHLIGHT is used, the item visually takes up the entire
breadth of the window so clicking both to the left or to the right of the item
should have the same effect as clicking on it.

So add a MSWIsOnItem() helper which tests for whether a point is above the
item correctly and use it in order to:

1. In multi selection mode, allow clicking anywhere to select the item(s)
   when Ctrl or Shift is pressed (Closes #11598).
2. Generate activation event when clicking to the right of the item too
   (Closes #11602).
3. Detect item bounds correctly in WM_LBUTTONUP handler (although it's
   not really clear what does this code do and hence what problem does this
   fix...).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-07 13:16:01 +00:00
Vadim Zeitlin
4cb0e8d05c Fix wxConvAuto behaviour when it is used by wxTextInputStream.
wxConvAuto implicitly supposed that the chunk of data passed to it for
translation was big enough to allow it to at least detect the BOM from it.
However this isn't necessarily the case and never is with wxTextInputStream
which reads the bytes one by one.

Fix this by waiting until we have enough data to be able to detect the BOM.
This still doesn't fix the problem with streams without BOM and the
corresponding unit test still fails -- it will need to be fixed at the level
of wxTextInputStream itself later but handling correctly the cases when a BOM
is present is already better than before.

See #11570.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 12:22:49 +00:00
Vadim Zeitlin
55e5154d2c Make calling wxLog::IsAllowedTraceMask() safe during static init time.
Although using wxLog during statics initialization is not recommended, it may
still happen, possibly indirectly so make it work correctly by using an
accessor function for the array of trace masks which ensures that this array
is always correctly initialized before being used.

Closes #11592.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 12:22:42 +00:00
Stefan Csomor
ba2279bbef fixing include type
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 10:08:01 +00:00
Stefan Csomor
f871cf140c adding kqueue define for xcode builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 07:52:45 +00:00
Stefan Csomor
3c507ea6dc fixing include types
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 07:50:31 +00:00
Kevin Ollivier
f941a30bef Get the OS X Cocoa native combobox building by having the native code compile if wxOSX_USE_NATIVE_COMBOBOX is defined. It must be explicitly enabled by adding that define to the build flags as the native implementation is mostly just stubs right now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 01:57:42 +00:00
Kevin Ollivier
e2758e2175 Don't use a destroy event handler to disconnect the native control's delegate as the destroy event propagates and can cause the TLW to remove its delegate at unexpected times, such as when a child control is destroyed but the TLW remains active. Instead, do it in response to the Destroy() call.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-03 23:59:32 +00:00
Stefan Csomor
554946db7d correcting error message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-03 19:58:18 +00:00
Václav Slavík
c986b01f89 Added wxAutoOleInterface<T> template.
This replaces WX_DECLARE_AUTOOLE with easier-to-debug version. The
macro is still preserved for backward compatibility.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-02 13:07:17 +00:00
Mattia Barbon
b91d65b10f Build with WXINTL_NO_GETTEXT_MACRO defined.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-02 11:22:59 +00:00
Vadim Zeitlin
6e60d56a26 Add wxWinVersion_7 to the private wxMSW wxWinVersion enum.
Also correct wxWinVersion_2003 definition, it should have the same value as
wxWinVersion_XP. And add wxWinVersion_XP_SP2 == wxWinVersion_2003_SP1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-31 13:32:13 +00:00
Kevin Ollivier
509da835c5 To support playing async sounds on the stack on Mac, do not delete the wxSoundData when its wxSound object is destroyed if it's in the queue of sounds to be played. Instead, mark it to be deleted and delete it after it has played.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-30 17:41:29 +00:00
Michael Wetherell
61a69259c4 Support large files with stdio on mingw.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-30 17:38:22 +00:00
Jaakko Salli
e16bff8e62 Changed wxPropertyCategory to use same cell rendering code as regular properties. This allows labels for category columns other than the first. Rendering code was heavily modified to allow 'merging' of cells when needed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-29 16:04:40 +00:00
Vadim Zeitlin
ea99e8e31e Return the kind of cells span from wxGrid::GetCellSize().
Behaviour of GetCellSize() may be very surprising for the unwary as it can
return negative or null "size" of the cell.

Add CellSpan return value to allow the caller to check what kind of cell are
we dealing with easier.

Also document the new return value as well as the function (and matching
SetCellSize()) itself carefully as its behaviour is far from obvious.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-27 19:40:41 +00:00
Vadim Zeitlin
3e97b55017 Override some methods in wxF(F)ileStream to resolve ambiguities.
Override virtual methods IsSeekable(), GetLength() and OnSysSeek/Tell() to
forward to wxF(F)InputStream base class as otherwise it's impossible to use
them at all because of ambiguity between the versions inherited from this
class and wxF(F)OutputStream (even though the two versions should do the same
thing as they operate on the same file descriptor/handle).

Also improve documentation of these classes: provide a brief description,
correct the base classes.

Closes #11577.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-27 19:39:55 +00:00
Vadim Zeitlin
9067c6c537 Take into account the initial buttons state when creating wxGTK toolbar.
With wxMSW it is possible to call e.g. wxToolBarTool::Enable(false) on a tool
before calling wxToolBar::Realize() to create the tool in an initially
disabled state but this wasn't done in wxGTK version.

Override Realize() now under wxGTK to bring the native toolbar buttons state
in sync with the internal state of the corresponding wxToolBarTools.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-26 16:36:39 +00:00
Vadim Zeitlin
cf7715db56 Don't forward declare wxSystemColour enum.
Forward declaring enums is illegal in standard C++ and while MSVC allows this
as an extension, it doesn't compile with g++.

Just include wx/settings.h instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-26 16:36:32 +00:00
Jaakko Salli
534090e354 Replaced 'InlineHelp' property attribute with 'Hint'; Use SetHint() wxTextCtrl and wxComboCtrl member function to set it; Added a small section about help string and hint text in propgrid overview
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-26 10:45:04 +00:00
Jaakko Salli
107defe36a Added wxComboCtrl::SetHint(), GetHint()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-26 10:33:35 +00:00
Kevin Ollivier
1665389a9a Remove the native toolbar from the frame in Destroy() rather than the destructor, as removing it in the destructor causes resize / repaint events to fire on the native control, which then goes to wx controls being deleted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-25 20:43:43 +00:00
Stefan Csomor
0aaa6ace7e removing event handlers on non-owned windows when the destroy event is sent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-25 09:47:30 +00:00
Jaakko Salli
5f54075053 Added wxComboCtrlBase::SetFore/BackgroundColour()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-25 09:04:53 +00:00
Stefan Csomor
03ef5fefb8 fixing parameter names
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-25 08:39:11 +00:00
Michael Wetherell
224d978ffb Add support for large stdio files for VC 8+. What versions of the other Windows
compilers?


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-22 21:22:59 +00:00
Jaakko Salli
3e6d8c3118 Added wxPropertyGrid::SetUnspecifiedValueAppearance(); Added wxPGEditor::SetControlAppearance() for applying wxPGCell attributes on a property editor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-22 16:12:02 +00:00