Commit Graph

32567 Commits

Author SHA1 Message Date
Stefan Csomor
1975bb6865 support for localized help menus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-01 20:10:58 +00:00
Julian Smart
9596db7c4b Partial fix for #15714: Caret jumping problem in wxRichTextCtrl text selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 16:50:49 +00:00
Julian Smart
dbd7b25f42 Fix for #15716: wxRichTextCompositeObject::Dump() should also dump the object itself?
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 16:29:44 +00:00
Julian Smart
e8cb6aa322 Fix for #15718: wxSymbolPickerDialog crashes on ampersand character
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 16:24:07 +00:00
Julian Smart
31e52f61d0 Fix for #15715: NULL check required in wxRichTextBuffer::SetStyleSheetAndNotify()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 16:23:11 +00:00
Vadim Zeitlin
97f58c1603 Fix wxCommandProcessor::IsDirty() for unsaved unmodified case.
IsDirty() still returned true even after undoing all the commands which was
wrong, as there was nothing to save in this case.

Closes #15722.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 13:47:00 +00:00
Vadim Zeitlin
c749d9e638 Fix unwanted focus events when deleting a wxTreeCtrl item in wxMSW.
Disable setting focus in response to TVN_SELCHANGING when deleting an item in
a single selection control too -- this was already done in multi selection
case but not in this one, for some reason.

Also refactor the code to avoid duplicating TreeView_DeleteItem() calls.

Closes #15721.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-28 12:43:17 +00:00
Václav Slavík
892ee04344 Fix OS X startup to not hang if the application doesn't get focus.
If the application launches while the parent process doesn't have an active
window, [NSApp run] won't terminate immediately, as was assumed here. Instead,
it blocks until some input arrives, e.g. clicking the Dock icon.

Work around this by adding a dummy event to the queue.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-27 15:34:19 +00:00
Vadim Zeitlin
be61f84af5 Yet another fix after wxMenu::Remove() refactoring.
wxMenu::Remove() was still broken in wxMSW after r75250, even with the fix in
r75290, as wxMSW code relied on the item still being present in
wxMenu::m_items.

Delay removing it from there until after DoRemove() call to fix this.

See #3424.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-26 14:50:55 +00:00
Stefan Csomor
23f92cc755 fixing shadowed var
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-26 14:18:43 +00:00
Stefan Csomor
7957dc7b2f correct behavior in case it is still used with ShowModal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-26 12:53:13 +00:00
Vadim Zeitlin
e3f89fae8d Fix menu item destruction broken by r75250.
The menu items were not removed from the menu any longer when they were
deleted or destroyed after the changes in this revision.

Fix this by calling the public Remove(), which does the right thing, instead
of the private DoRemove(), which only does part of the job of removing the
item, in DoDelete() and DoDestroy().

See #3424.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-25 13:57:20 +00:00
Stefan Csomor
16cc627332 making sure no pending deletes get executed while a modal loop is running, avoiding double deletes because the dialogs are mostly allocated on the stack.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-25 13:51:12 +00:00
Vadim Zeitlin
f155a9f376 Fix multiple calls to wxSocket::Initialize() in wxMSW.
Subsequent calls didn't initialize the hidden window correctly because
wxSocket::Shutdown() unregistered the window class used for it, but
wxSocket::Initialize() still kept a pointer to the previously registered class
name.

Don't remember it any longer, unlike in the other cases where we use
wxCreateHiddenWindow(), this function is only ever going to be called once
until the class is unregistered anyhow, so it doesn't have to be static.

Closes #15701.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-25 13:40:11 +00:00
Paul Cornett
2203c7e436 avoid deprecated gtk_style_context_get_font(), closes #15697
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-24 18:07:20 +00:00
Václav Slavík
51b92b2084 Recognize Windows 8 and 8.1 in wxGetOsDescription().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 15:10:02 +00:00
Václav Slavík
f2aeb35d0c Differentiate between WXK_UP etc. and WXK_NUMPAD_ variants in NSMenuItem code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 15:09:55 +00:00
Václav Slavík
6814e0ea4b Don't add NSFunctionKeyMask to NSMenuItem modifiers.
This code probably misunderstood NSEvent documentation, where this mask is
mentioned, but setKeyEquivalentModifierMask: documentation doesn't list it as
allowed. More importantly, it causes "fn" to appear in the menu item and the
accelerator doesn't work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 15:09:51 +00:00
Václav Slavík
bae200a453 Fix selection behavior on right-click in wxGTK wxDataViewCtrl.
Select the item under the cursor even when right-clicking it, because
it's expected behavior (Nautilus does it too).

Fixes #13531.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 10:56:09 +00:00
Václav Slavík
210a35e384 Allow NULL model in wxGTK's wxDataViewCtrl.
This is consistent with other ports.

Fixes #14616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 10:56:03 +00:00
Vadim Zeitlin
f269f868d7 Add XRC handler for wxAuiToolBar.
Also add the demonstration of AUI handlers (this one and the existing one for
wxAuiNotebook) to the xrc sample.

See #15686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 00:34:55 +00:00
Vadim Zeitlin
7439c0951b Initialize wxAuiNotebookXmlHandler::m_isInside in ctor.
Closes #15694.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 00:33:39 +00:00
Julian Smart
7990c85a92 Improved equality test to ignore invalid attributes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 20:54:16 +00:00
Julian Smart
8e3bbb68f0 Corrected bugs with text effects comparison and style removal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 15:25:37 +00:00
Václav Slavík
429085a3e7 Override ClearColumns() in wxDataViewListCtrl.
Without this, the associated store's columns would be out of sync,
causing asserts next time a column is appended.

Fixes #14952.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 13:13:11 +00:00
Vadim Zeitlin
de54520c95 Don't process events handled in user code in generic scrolling code.
Undo the change introduced, probably accidentally, by r11369 (12 years ago)
and skip the default handling of all events except wxEVT_SIZE and wxEVT_PAINT,
which are special for the reasons explained in the comments in the code, if
the user code has already handled the event.

This allows to customize scrolling by selectively handling some scrolling
events only and generally makes sense.

Closes #15684.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-20 16:04:12 +00:00
Vadim Zeitlin
89ef594505 Fix wxRegion::Offset() copy on write behaviour in wxMSW.
Offset the correct, new and unshared, region handle instead of the old and
possibly shared one.

Closes #15690.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-20 12:01:31 +00:00
Vadim Zeitlin
214aebee08 Fix assert message when removing non-existent items from wxMenu.
The assert complained about a bug in wxMenu code itself, but actually could be
triggered by simply trying to remove a non-existent item from the menu.

Fix this by checking for the item existence, and also removing it from the
internal menu data structure, in wxMenuBase::Remove() and only dealing with
the item itself in DoRemove().

Closes #3424.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-20 12:01:20 +00:00
Vadim Zeitlin
fea2689d5c Fix swapping items client data in wxEditableListBox.
Use wxUIntPtr, not long, and SetItemPtrData() instead of SetItemData(), to
ensure that we preserve the values of client data pointers in 64 bit build,
otherwise they were truncated to 32 bits.

Closes #15687.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-19 14:15:27 +00:00
Vadim Zeitlin
7a71061eb7 Fix replacing "Window" menu in wxMDIParentFrame in wxMSW.
When setting a new "Window" menu (as opposed to just modifying the existing
one which did work correctly), we shouldn't show it immediately in the menu
bar if there are no MDI children, this results in wrong UI and assert
failures.

Closes #15663.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-18 14:19:49 +00:00
Vadim Zeitlin
fec6f3bea1 Fix problem with inserting menus in wxMDIParentFrame menu bar.
Account for the "Window" menu (and any other foreign windows lurking in our
menu bar) correctly in wxMenuBar::Insert() instead of the old code which
apparently tried to do something similar but didn't make much sense and didn't
work when trying to insert the menu at the position actually occupied by the
"Window" menu in the menu bar.

Closes #15662, #1732.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-18 14:19:40 +00:00
Julian Smart
622f1081b8 Use % instead of percent in Size dialog; controls more legible on wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-18 11:14:09 +00:00
Julian Smart
e1822d09db Fixed refresh bug in border preview control when resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-18 07:49:07 +00:00
Julian Smart
89392699d7 Applied #15681: wxRichTextCtrl: Crash when deleting a wxRichTextTable row or column (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 21:50:31 +00:00
Václav Slavík
ff7f9c2def Put Services submenu into the Apple menu on OS X.
Native applications have a Services submenu in the apple menu.  wx
applications didn't until now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 18:03:05 +00:00
Václav Slavík
bb290e285f Fix i18n-unfriendly About menu code in wxOSX.
The code didn't follow the golden rule of localization and broke
user-visible string into separately translated substrings.  Replace with
the same _("About %s") string already used in wxAboutDialog.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 18:02:59 +00:00
Václav Slavík
d41e3a3739 Don't duplicate code for Apple menu creation.
Have just one copy of the code, instead of two. Eliminate differences
between the two versions. As a result, applications now properly have
preferences and about items even if window-less.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 18:02:56 +00:00
Julian Smart
c6de30bf70 Removed GetId/GetId and changed span storage to be compatible with 3.0. Fixed border control style.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 12:43:58 +00:00
Vadim Zeitlin
9c4f2cd1ca Don't eat TAB presses for wxComboBox with wxTE_PROCESS_ENTER in wxMSW.
Still allow to use TAB for navigation even when a wxComboBox has
wxTE_PROCESS_ENTER style.

Use the same hack for wxTextCtrl, i.e. implement the navigation ourselves as
we can't let IsDialogMessage() handle it but still get VK_ENTER key presses.

Closes #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:37:54 +00:00
Vadim Zeitlin
d466d76701 Allow changing the colour of wxInfoBarGeneric text.
Override SetForegroundColour() to forward it to the text control.

See #15671.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:37:43 +00:00
Vadim Zeitlin
94e3516305 Set wxInfoBarGeneric text colour correctly.
For some reason SetOwnForegroundColour() was used, but we really need to set
the colour of the child text control and not our own colour here (which is not
used for anything).

This makes the text visible even when using non default tooltip colours, which
could previously result in black-on-black text.

See #15671.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:37:38 +00:00
Vadim Zeitlin
b6c6bceb94 Fix wxSocket::WaitForAccept() in worker thread.
This was broken because Select() never returned wxSOCKET_CONNECTION_FLAG which
is supposed to be set when a connection is accepted.

Closes #15669.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:37:28 +00:00
Stefan Csomor
a74dfdb74d fixing non-unicode compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 07:11:35 +00:00
Václav Slavík
8958ad22cd Don't crash in wxWindowMac::OSXSimulateFocusEvents().
The code didn't properly account for the possibility of wxEVT_KILL_FOCUS
handler deleting the focused window (as happens e.g. in wxListCtrl inline edit
controls). E.g. rapidly clicking wxEditableListBox buttons could trigger a
crash here when sending wxEVT_SET_FOCUS to an already-deleted window.

Use wxWeakRef<> to check if the window is still alive.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 18:25:29 +00:00
Paul Cornett
70bb02115f Simplify mode matching test, and add actual mode (not function parameter) to modes list, in GetModes()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 17:28:42 +00:00
Vadim Zeitlin
3e8b0d8144 Fix blank wxComboBox appearance broken by the changes of r75134.
We didn't repaint the owner drawn combobox items any more because they were
not found by MSWFindItem().

Fix this by restricting the check to the real windows with the same ID as the
combobox, not the dropdown items which are not windows at all.

See #15674.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 15:26:21 +00:00
Vadim Zeitlin
482a131352 Don't eat mouse wheel events if we can't handle them in wxGTK.
The recent changes to mouse wheel scrolling broke it for the generic
wxListCtrl and probably any other situation in which scrollbars don't scroll
the window itself but some subwindow of it. In this case, the scroll wheel
event handler doesn't have any scrollbar to adjust, so it simply does nothing
and shouldn't return true, as it did since r74911.

Just return false in case we are not doing anything to let the mouse wheel
work as before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 13:33:37 +00:00
Paul Cornett
24321b7b18 Introduce variables for the display and screen in the video mode functions.
This cleans up the code somewhat, and prepares for some upcoming changes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 06:16:59 +00:00
Václav Slavík
a4e7bf1e89 Cancel editing in generic wxDVC when clicking outside of the editor control.
wxDataViewCtrl should behave as Explorer does on Windows: when an inline
editor control is open, clicking outside of it should close the editor
(preserving changes) in most cases - as a rule of thumb, when the
subsequent action could interfere with the editor somehow.

This was implemented by watching for focus change and so ignored clicks
made on non-focusable controls outside of wxDVC's main window area.  In
particular, clicks on the list's header were ignored, even though they
could result in modifications of the editor's position or size.

Don't finish editing when the user right-clicks on the header,
consistently with Explorer.  Opening the menu likewise still doesn't
finish editing, it is needed for access to editing operations.

Fixes #15152.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-14 12:13:31 +00:00
Václav Slavík
e6b21147db Grow text editor control to contain all text in generic wxDataViewCtrl.
Implement the behavior that Explorer uses: if the column is too narrow
to fit the current text of a cell into it, don't create a too-small text
control for it, because it is annoying and confusing (typically, the
beginning of the text would be hidden, which is disastrous if it happens
to contain numbers). Instead, grow the text control to be larger than
the column for more comfortable editing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-14 12:13:28 +00:00