Commit Graph

852 Commits

Author SHA1 Message Date
Vadim Zeitlin
f254e2424a Improve validation of wxCheckBox styles.
Detect when incompatible styles are used (this required changing the value of
wxCHK_2STATE to be non-null) and sanitize the styles (after asserting) in this
case.

Put the validation code in wxCheckBoxBase instead of having slightly different
versions of it in port-specific wxCheckBox implementations.

Add a unit test checking that the expected asserts are indeed generated.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:10:42 +00:00
Vadim Zeitlin
20d88ec692 Move wxList::Member() to pseudo-template base list class.
Member() should be available in all list classes, not just specially crafted
list of wxObjects (wxList).

See #3616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-10 12:48:36 +00:00
Tim Kosse
864186dd39 Connect to events only if using native implementation instead of using event table. Closes #12469
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-02 09:39:58 +00:00
Stefan Csomor
4a473abaf2 opening ATSU Font info for Ulrich Telle's wxPDFContext
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 17:30:48 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Vadim Zeitlin
59b7da02ff Return wxFONTFAMILY_DEFAULT, not UNKNOWN, from wxFont::GetFamily().
Although returning wxFONTFAMILY_UNKNOWN when the font family is not recognized
makes more sense, it breaks a lot of existing code including all the
font-related code generated by DialogBlocks, so prefer to return
wxFONTFAMILY_DEFAULT instead -- which can't be confused for a valid font
family neither but can be passed to wxFont ctor or SetFamily() without
problems.

To ensure that this behaviour is correctly implemented by all ports, rename
the existing wxFont::GetFamily() to DoGetFamily() and call the new method from
wxFontBase::GetFamily() which adjusts the return value if needed.

Closes #12330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-29 13:46:09 +00:00
Robin Dunn
ff94c563ed Fix sending a size event for the displayed page when the notebook is sized
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-23 21:12:40 +00:00
Robin Dunn
a2d0722f48 Avoid an endless recursion situation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-23 21:10:34 +00:00
Robin Dunn
a12482a357 Allow the renderer to also work with wxMemoryDCs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-23 21:09:24 +00:00
Dimitri Schoolwerth
b5b208a179 Set svn properties on .cpp files.
Add missing svn:eol-style property to all .cpp files. Also set svn:keywords for .cpp files which don't have that property yet to Id, including src/osx/core/glgrab.cpp for consistency (it doesn't make use of the property).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-17 11:17:55 +00:00
Vadim Zeitlin
4f1b95ea52 Allow setting Mac-specific menu item ids to wxID_NONE to suppress them.
If s_macAboutMenuItemId or s_macPreferencesMenuItemId was explicitly set to
wxID_NONE by the application, don't add them to the standard menu at all,
otherwise they would be present there but be always disabled and useless.

This is still not documented because we really need a better API for this but
it at least provides a temporary workaround for having useless menu items
under OS X.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-16 19:36:37 +00:00
Vadim Zeitlin
03bec791dd Compilation fix for wxOSX.
Remove stray closing brace.

Also fix a warning about unused parameter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 11:20:40 +00:00
Vadim Zeitlin
371412145f Explicitly send events for modifier keys in wxUIActionSimulator.
Key down/up events for the modifiers were already explicitly sent under wxMSW
and wxOSX but not under wxGTK where, as the result, the corresponding events
were not generated at all.

Do send these events explicitly to make the events generation consistent under
all platforms now. This means that wxUIActionSimulator::DoKey() now generates
exactly one event everywhere.

Notice that the modifiers for the key events generated by the modifier keys
are also the same under all platforms now which is not the case for the events
actually generated by the user (wxMSW sets the corresponding bit for the
modifier key down event but not the key up one while wxGTK does exactly the
contrary). This should be fixed in the future so that wxUIActionSimulator
generates the same sequence of events as the user would and that it's still
the same for all platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:15 +00:00
Stefan Csomor
5d57348ef5 fixing 'main screen'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 09:20:28 +00:00
Stefan Csomor
77eb08cc36 resetting the wrapper flag later, otherwise the native destructors dealloc too much, fixes #12448
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-07 16:05:01 +00:00
Stefan Csomor
d623e8b18a modeling subclassing along msw, unsubclassing filedialog at end of ShowModal, fixes #12236
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-07 06:51:13 +00:00
Stefan Csomor
a94c4b8529 using non-sleep version for GUI mutex, solves #12411
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-06 13:50:12 +00:00
Vadim Zeitlin
2edda9670b Remove unused src/osx/cocoa/bmpbuttn.mm file.
This file was empty and unused any more so simply remove it and all references
to it in the makefiles.

This avoids warnings about empty object files in static builds of the library.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 23:45:53 +00:00
Vadim Zeitlin
453296e78b Don't use uninitialized variable in wxCharCodeWXToOSX().
If an unsupported wxKeyCode was passed to this function, an undefined value
was returned. Return -1 instead to indicate failure.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 22:58:25 +00:00
Vadim Zeitlin
571d991bb3 Merge wxUIActionSimulator fixes from SOC2010_GUI_TEST branch.
Correct a lot of problems with the initial implementation, notably make the
API consistent across all platforms, e.g. all keyboard-related methods now
take just a wxKeyCode.

Add some useful higher-level helpers such as Text() and MouseDragDrop().

Improve documentation.

wxUIActionSimulator now works under MSW, GTK and OS X and is enabled by
default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 22:15:42 +00:00
Vadim Zeitlin
6f07c007a5 Fix selection corner cases in wxOSX wxComboBox.
Don't crash in wxComboBox::GetString() if it's passed an invalid index.

Don't call GetString() with invalid index from GetStringSelection() if there
is no selection.

Do accept wxNOT_FOUND in SetSelectedItem() as it means, according to the docs,
that the existing selection should be reset.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 22:15:32 +00:00
Vadim Zeitlin
5623dce7cd Don't crash in wxOSX::wxClipboard::Clear() if initialization failed.
Creating the clipboard may fail (e.g. when running from a ssh session to an OS
X machine), don't crash by passing NULL pointer to PasteboardClear() if this
happens but assert and return instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 22:15:27 +00:00
Vadim Zeitlin
45d1c40a91 Work around a crash on starting editing in wxGrid under wxOSX/Cocoa.
wxOSX/Cocoa currently generates unexpected focus loss events with the window
gaining focus being the same one as losing it. This is wrong and shouldn't
happen but as long as it does, filter these events out to at least allow
editing the grid to work.

See #12267.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 22:15:22 +00:00
Vadim Zeitlin
ede7b01760 Provide a task-dialog based wxMSW wxMessageDialog implementation.
Use the task dialog instead of the legacy message box for wxMessageDialog
implementation under wxMSW on recent (Vista and later) Windows versions.

As part of this change, remove wxMessageDialogWithCustomLabels and integrate
its functionality in wxMessageDialogBase itself as it's now used by all
platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 22:48:28 +00:00
Stefan Csomor
3f16e51be8 fixes horizontal scrolling in textfields, fixes #12322
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-17 06:21:53 +00:00
Stefan Csomor
128ad18349 no-op change to get build bot running
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-13 04:23:37 +00:00
Stefan Csomor
b70ee0382a no-op change to get build bot running
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-12 08:25:16 +00:00
Vadim Zeitlin
e08b4823e8 Handle wxDefaultSize correctly in wxNonOwnedWindow under wxOSX.
Creating a wxNonOwnedWindow with default size created tiny, practically
invisible windows because the default size was only taken care of at
wxTopLevelWindow level but not in wxNonOwnedWindow itself. In particular, this
broke creation of wxMDIChildFrames with the default size as this class only
derived from wxNonOwnedWindow and not from wxTopLevelWindow under OS X. It
also probably wasn't intentional as the code did use {Width,Height}Default()
functions but they were wxWindow methods and not the wxTopLevelWindow
(confusingly and error-pronely) named the same.

Fix this, remove the now redundant checks for the default size in
wxTopLevelWindow itself and also rationalize and condense the checks for the
default position and size components in wxNonOwnedWindow::Create().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-11 16:04:00 +00:00
Vadim Zeitlin
01495abf87 Fix handling of help buttons with non-empty label under OS X.
Creating a button with wxID_HELP and a non-empty label used to always show
this label, even if it was just a standard "Help" or "&Help". This didn't work
at all as the help buttons under OS X are too small to show any label.

To fix this, use normal buttons, not help ones, if a really custom label is
used to ensure that it can be seen. And to still use the correct help buttons
in as many cases as possible, ignore the standard "Help" label and its
variants and don't show it at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-11 16:03:46 +00:00
Vadim Zeitlin
80ce465c64 Add wxDataViewCtrl::{Set,Get}CurrentItem().
Current item is the same as the selected item in single selection mode but in
multiple selection mode there was no way to neither get this item nor change
it before so add the new functions to allow doing this now.

The new methods are implemented for the generic, GTK and OS X/Cocoa versions
but only stubs are provided for OS X/Carbon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 12:53:03 +00:00
Vadim Zeitlin
1e18430004 Don't lose selection in wxDataViewCtrl::Select() under Mac.
Calling Select() for an item should not deselect the other selected items in
multiple selection mode. This is consistent with the GTK and generic versions
behaviour and also just makes more sense but also document that this is indeed
the desired behaviour just in case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-09 21:17:51 +00:00
Vadim Zeitlin
62e9285aba Add name argument to wxDataViewCtrl ctor for consistency.
As all the other wxWidgets controls take the parameter in their ctor/Create()
it's unexpected that wxDataViewCtrl does not. Add the name parameter and pass
it to wxWindowBase::CreateBase() as usual.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:37:57 +00:00
Vadim Zeitlin
c8eab84f83 Fix wxOSX wxTextCtrl refactoring of r65129.
Add the Init() calls in wxNSTextFieldControl ctors forgotten the last time.

Closes #12284.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 18:22:26 +00:00
Vadim Zeitlin
40c4350f96 Allow non-modal windows shown from modal dialogs to work in wxOSX.
Use kCGUtilityWindowLevel for such windows instead of kCGFloatingWindowLevel
and also call setWorksWhenModal:YES.

Closes #12187.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 18:22:20 +00:00
Vadim Zeitlin
c072b9ec8a Add association between wxOSX wxTextWidgetImpl and wxTextEntry.
This allows to always find the correct wxTextEntry to use in the
implementation of text-related widgets without using any casts. Notably, the
wrong up-cast of wxWindow to wxTextCtrl in wxNSTextFieldControl::controlAction()
which resulted in a crash when the window was actually a wxComboBox can now be
fixed.

Closes #12284.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 11:27:01 +00:00
Vadim Zeitlin
4a49fa24c9 Fix harmless float to int conversion warnings in wxOSX build.
Add casts to truncate the values as the code intended anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 11:26:26 +00:00
Vadim Zeitlin
5bdeabafbe Postpone showing the notebook pages under wxOSX/Cocoa.
Showing the selected notebook page immediately when it's selected can result
in the top level parent of the notebook being shown prematurely, so don't do
this until the notebook itself is shown.

Closes #12227.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-24 12:27:29 +00:00
Stefan Csomor
76435717cf fixes #12258
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 06:58:36 +00:00
Stefan Csomor
396f0e3dd4 organizing code, adding offset correction for update region when non native control borders are used, fixes #12229
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-18 06:16:26 +00:00
Stefan Csomor
e8f25fcf5d removing early init, fixes #12231
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-17 06:08:13 +00:00
Vadim Zeitlin
c2eb89388e Use correct format specifiers in wxOSX/Carbon font caching code.
The specifiers used didn't match the actual argument types resulting in the
asserts from the new wxPrintf() code. Correct them to match the real types.

Closes #12186.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-14 14:52:23 +00:00
Vadim Zeitlin
233f573883 Fix file paths in the header comments.
Consistently use only "wx/foo.h" instead of "include/wx/foo.h" ("include" is
always implicit anyhow).

Also use "src/osx" instead of "src/mac" for the files in this directory.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:58 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Vadim Zeitlin
ac63bc407e Set the string to search for in wxSearchCtrl events.
It's more convenient to have the string to search for directly in the event
object than to retrieve it from wxSearchCtrl itself as it had to be done
before.

Closes #4665.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-11 10:44:18 +00:00
Julian Smart
5d38a50465 Fix undefined symbols
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-09 17:26:27 +00:00
Julian Smart
6494f8d142 iPhone SDK 2.2 compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-08 17:35:45 +00:00
Stefan Csomor
4539e90321 only hide tool windows on deactivate, fixes #11924
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-07 08:32:17 +00:00
Stefan Csomor
35a11fc70c supporting disabled tools, fixes #11457
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-07 08:26:00 +00:00
Stefan Csomor
96391f61cc using backwards compatible implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-05 06:36:21 +00:00
Stefan Csomor
bd7bfb002d adding mimetype patch, closes #12072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-21 16:36:45 +00:00