Commit Graph

33030 Commits

Author SHA1 Message Date
Václav Slavík
04121a371a wxOSX Retina fixes: wxImageList::GetSize().
wxImageList returns size of its bitmap as pixel size, i.e.  twice the
displayed screen on HiDPI screens.  Unfortunately,
wxImageList::GetSize() is used heavily in (generic) GUI drawing code,
e.g.  to properly size wxListCtrl's icon columns.  As wxImageList is
used primarily by controls, it seems reasonable to adjust for scaling
here, rather than requiring all users of the class to do it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-04 14:33:10 +00:00
Václav Slavík
b5e7f21065 wxOSX Retina fixes: size wxStaticBitmap and wxBitmapButton properly.
The size is expressed in logical coordinates and needs to use bitmap's
scaled size, otherwise it would appear twice as large in both
dimensions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-04 14:33:07 +00:00
Václav Slavík
4156e1a5c9 Auto grow the last wxDataViewCtrl column on all platforms.
The GTK+ implementation always did this and it doesn't make much sense
to let the space be wasted, so do as GTK+ does: expand the last column
to cover the remaining unused space in the OS X and generic
implementations too.  Don't do anything if the space is insufficient.
Respect the last column's minimal width.

See #13904.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-04 13:23:34 +00:00
Václav Slavík
88774498d7 Fix fixed-width progress columns in generic wxDataViewCtrl.
Both native wxDVC implementations grow the progress column, the generic
one didn't.  This change fixes it and _seems_ not to break other things.
As a consequence, progress columns no longer have a 40px minimal width,
but that should be OK.

Fixes #15745.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-04 12:36:24 +00:00
Julian Smart
bdfd48b69e Applied patch #15744: wxRichTextCtrl: HitTest can't find top-level floats (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-03 18:41:09 +00:00
Vadim Zeitlin
0eae308634 Fix crash when Destroy()-ing a TLW with a non-TLW parent.
Generalize the code in wxTopLevelWindowBase dtor checking for the children of
the TLW being destroyed pending for deletion themselves to work when the child
TLW is an indirect child, i.e. was created with a child window of this TLW as
parent and not this TLW itself.

Closes #15743.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-03 14:53:56 +00:00
Václav Slavík
065deffd86 Implement wxTextEntry::SetHint() natively for GTK+3.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 17:46:27 +00:00
Václav Slavík
59efb1cf1c Don't use native cue banners in wxTextEntry::SetHint() on XP.
The code apparently expected EM_SETCUEBANNER to return false on
pre-Vista systems (where the cue banners don't work).  This isn't the
case in practice, so check for Vista explicitly and use the generic
implementation on XP.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 17:46:23 +00:00
Vadim Zeitlin
fe731cbdee Use correct cell alignment in generic wxDataViewCtrl mouse handling code.
Don't fall back to wxALIGN_CENTRE, even if the renderer doesn't specify its
own alignment we still have to take the column alignment in consideration, so
use GetEffectiveAlignment() (which had to be made public for this).

This notably fixes (again) hit testing for wxDataViewToggleRenderer in the
generic version.

Closes #15731.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 16:30:25 +00:00
Vadim Zeitlin
65daec7eaa Check if colour really changed in wxGenericListCtrl::SetBackgroundColour().
Call the base class version to update the colour stored in the base class and
also to avoid changing the colour of the main window unnecessarily if the
colour didn't really change.

This is also consistent with the code in SetForegroundColour() just below.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 12:58:23 +00:00
Vadim Zeitlin
4968945556 Don't change header window foreground colour in wxGenericListCtrl.
As calling wxGenericListCtrl::SetBackgroundColour() doesn't change the header
window background, don't change its foreground in SetForegroundColour()
neither.

Closes #15741.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 12:58:17 +00:00
Julian Smart
b815c1b44d Fixed #15717: wxRichTextStyleOrganiserDialog returns wxID_OK when closed with Escape key (ikamakj)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 10:38:04 +00:00
Julian Smart
ac60e751a4 Apply fix for #15734: wxRichTextCtrl: A floating wxRichTextTable's cells aren't drawn (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-02 09:06:00 +00:00
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
Paul Cornett
0082512adf build fix for GTK+ 3.10, closes #15667
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-13 18:03:48 +00:00
Vadim Zeitlin
a7ec1d1cdf Fix crash when setting invalid label with "&" at the end.
We detected that the label was invalid and gave a debug warning message about
it but then still proceeded to crash by accessing the data beyond the end of
the string. Don't do this.

Closes #15665.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-13 12:53:10 +00:00
Vadim Zeitlin
9b31387508 Merge the changes from 3.0 branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-12 18:06:37 +00:00
Paul Cornett
e4d0bc4bb1 don't need Pango workaround code with GTK+3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:35:47 +00:00
Paul Cornett
16ec076753 use gtk_combo_box_get_wrap_width(), we require GTK+ 2.6 now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:26:23 +00:00
Paul Cornett
e9d1a6f393 fully initialize GTypeInfo structure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:26:05 +00:00
Paul Cornett
54e89f14bb use G_VALUE_INIT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:13:27 +00:00
Paul Cornett
ea566e2ed0 avoid NULL casts, clang says casting nullptr_t is not allowed
closes #15660


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 17:26:37 +00:00
Julian Smart
afff80287b Corrected and tidied XML import/export of standard data members
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 15:56:37 +00:00
Vadim Zeitlin
42f3e38799 Fix positioning of radio buttons inside wxOSX radio boxes in some cases.
If the previous radio box size was too small (notably (0,0) as it happened
during AUI relayout), the buttons were positioned without taking the box
margins into account, resulting in visually broken display.

Recompute the full size after setting the new size but before positioning the
buttons in wxRadioBox::DoSetSize() to avoid this.

Closes #14087.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 18:46:04 +00:00
Stefan Csomor
dcdee4ec5e fixes #15613
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-08 20:26:32 +00:00
Julian Smart
210fbe0ba9 Fixed border colour parsing typo.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-07 12:49:10 +00:00
Julian Smart
320ad25b71 Improved multiple table cell selection, especially for empty cells.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-07 11:26:22 +00:00
Julian Smart
54a82234eb Correct the double-clicked word selection when at the end of a paragraph.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-07 11:06:22 +00:00
Julian Smart
22412b5e8f Allow the style name to be edited in the style definition editor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-06 15:08:37 +00:00
Julian Smart
c6c68635d3 Don't merge text objects if they have different identifiers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75132 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-06 12:44:21 +00:00
Julian Smart
254eb6841a Made column and row spans members so they don't interfere with app-defined properties.
Added identifier to wxRichTextObject so objects can be addressed by name.
Generalised wxRICHTEXT_CHANGE_OBJECT command so it can now apply to a paragraph as well as an object within a paragraph.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-04 15:13:41 +00:00
Julian Smart
3ee8ea054e Fixed some wxRTC dialog layout issues, and added a couple of extra text effects flags.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-03 22:28:37 +00:00
Paul Cornett
53e8ed4518 fix GCC warning "logical ‘or’ applied to non-boolean constant"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-02 16:36:16 +00:00
Paul Cornett
5b2dfdccd1 get correct best size for wxSpinButton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-02 16:29:21 +00:00
Julian Smart
d1c8e1290b Avoid invisible text in style list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-01 18:07:26 +00:00
Julian Smart
604d493cd6 Don't draw border if the width is zero.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-01 16:00:20 +00:00
Julian Smart
632b034940 Added corner radius to box attributes, and a control in the border properties page to edit it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 21:44:49 +00:00
Julian Smart
108f2cc7a7 Corrected multiple cell property editing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 09:57:06 +00:00
Julian Smart
4618ed5f0b Fixed print preview glitch and vertical cell alignment.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 09:40:30 +00:00
Julian Smart
2a7f5127e9 Fixed selection bug.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-31 06:53:55 +00:00
Julian Smart
861c549906 Tidied up some file headers and fixed tooltip status accessors.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-30 16:23:56 +00:00
Julian Smart
0937367a5d wxRTC: added spacing attribute and no-wrap behaviour for table cells.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-30 15:15:40 +00:00
Julian Smart
1a35779dcd Don't delete composite objects when defragmenting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-29 13:18:15 +00:00
Vadim Zeitlin
9337103a37 Use UTF-8 for saving wxTextCtrl contents now.
This ensures that the files created by wxTextCtrl::SaveFile() can be read back
by wxTextCtrl::LoadFile() as previously the files were saved using the current
locale encoding but read back using Latin1 (after first trying, and failing,
to read them as UTF-8).

This is a backwards incompatible change but it ensures that wxTextCtrl can
load its own files and is also consistent with the use of UTF-8 by default in
other places. Finally, and perhaps most importantly, this ensures that the
file contents can always be saved, i.e. there is no risk of conversion errors
any more.

Closes #15611.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-26 20:29:32 +00:00
Vadim Zeitlin
451e456a91 Fix special characters handling in wxSVGFileDC::DrawText().
Special XML characters need to be quoted before being saved in an SVG file
(which is also an XML file).

Closes #15602.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 21:23:11 +00:00
Vadim Zeitlin
26c7a01f1d Remove wxPropertyGrid colours not recognized by wxColour.
Don't use colour names which can't be used to successfully initialize
wxColour.

This is not the best solution, we probably should add these names to the
colour database instead, but for now it's better than getting errors when
trying to use these colours for colour properties in wxPropertyGrid.

See #15597.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 17:51:16 +00:00
Vadim Zeitlin
16ab50d25b Don't draw the segment lines in wxGtkPrinterDC::DrawArc() unless it's filled.
The segments should only be drawn if we're filling the arc, i.e. drawing a
pie, but not if we're just drawing its outline.

Add a test of this to the printing sample.

Closes #15609.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 17:38:43 +00:00
Vadim Zeitlin
db7af3c2a7 Fix DrawArc() implementation in wxGtkPrinterDC.
It didn't count the angles correctly when they were equal to 90 degrees.

Also simplify the code by avoiding special cases for 90 degrees anyhow, just
call atan2() directly. And also avoid converting the angles to degrees just to
convert them back to radians immediately afterwards.

See #15609.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 17:38:37 +00:00
Vadim Zeitlin
958dd805c2 Restore the check for wxTAB_TRAVERSAL in wxMSW wxWindow code.
This check was replaced with a check for WS_EX_CONTROLPARENT in r74732 to
avoid using ::IsDialogMessage() when WS_EX_CONTROLPARENT is not set, but it
also resulted in using it when WS_EX_CONTROLPARENT is set but wxTAB_TRAVERSAL
is not.

Check for both of them now so that we only use IsDialogMessage() when we need
it (wxTAB_TRAVERSAL) and when it is safe to do it (WS_EX_CONTROLPARENT).

Closes #15565.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 12:17:38 +00:00
Vadim Zeitlin
bdfbcbfd91 Fix passing wxCStrData to a vararg function.
This doesn't work with simple vararg functions and the real solution would be
to use WX_DEFINE_VARARG_FUNC for wxCrashReport::Output() but for now just add
a cast to make the code compile and work with minimal changes.

Closes #15598.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 12:17:33 +00:00
Vadim Zeitlin
8f7c658ef1 Fix wxMSW build when wxUSE_INTL==0.
Don't use wxLocaleInfo in this case as it's not defined.

Closes #15599.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-25 12:17:28 +00:00
Julian Smart
b1fbde6261 Use specified height in a text box, if there is one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-24 07:00:59 +00:00
Julian Smart
830a43c468 Implemented editing all 4 borders at once in wxRTC borders page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-22 18:44:29 +00:00
Julian Smart
4068836657 Added wxEVT_RICHTEXT_CONSUMING_CHARACTER event to allow interception of character events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-21 16:01:17 +00:00
Julian Smart
6539f8630e Fix selection drawing for table cells
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-21 13:12:16 +00:00
Julian Smart
ab3c08cb53 Corrected wxRTC IsDefault() implementations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-20 17:42:06 +00:00
Julian Smart
09f3defad8 Avoid crash when deleting range that includes the focus object.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-20 17:19:32 +00:00
Stefan Csomor
e39c9f5914 CoreText is always available on 10.5+, so using all this code unconditionally, committing Vadim's suggestions with two extensions, see #15580
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-19 19:27:29 +00:00
Julian Smart
736a9ccdfa Fixed some data transfer bugs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 19:27:06 +00:00
Vadim Zeitlin
dcc9f9c1e4 Avoid sending wxEVT_CHAR events when text is inserted by the program in wxOSX.
This should fix crashes due to infinite recursion in the code that calls
wxTextCtrl::WriteText() from wxEVT_CHAR handler.

Closes #15345.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 18:15:29 +00:00
Vadim Zeitlin
8750905b8b No real changes, just restrict wxMacEditHelper interface.
There is no need to provide GetCurrentlyEditedView() when a simpler
IsCurrentlyEditedView() suffices.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 18:15:25 +00:00
Vadim Zeitlin
7915eea7a6 Fix ItemDeleted() call in wxTreeListModel.
While it doesn't matter when exactly do we call it with the generic or GTK
native implementations, under OS X we must update the internal model first and
call this method afterwards because it refreshes the control contents
immediately and so was calling back to the model and getting the pointer to
the item about to be deleted, which resulted in a crash when this pointer was
dereferences later.

Closes #15575.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 18:15:17 +00:00
Václav Slavík
0e494ab0c3 Use wxHORIZONTAL default for wxWrapSizer in wxSizerXmlHandler.
For consistency with all other wxSizer kinds, use the default of
wxHORIZONTAL instead of 0 (which has no meaning here) for wxWrapSizer
too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 14:59:55 +00:00
Stefan Csomor
e20428397d fixing compile after cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 07:16:04 +00:00
Stefan Csomor
a3de1d1338 fixes #15591
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 05:13:34 +00:00
Vadim Zeitlin
10df406479 Revert changes to the drawing of the tree item buttons in the generic renderer.
This reverts r74887 as this created problems when drawing them at standard
size.

See #15526.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 22:28:29 +00:00
Paul Cornett
66fd711bbb silence GCC warning "enumeral and non-enumeral type in conditional expression"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 16:00:09 +00:00
Vadim Zeitlin
853ee8bf12 Get rid of compile- and run-time checks for OS X < 10.5.
As 10.5 is the minimal supported version, it doesn't make sense to check for
it (or even earlier versions) during the build or run-time.

Closes #15580.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 12:34:12 +00:00
Vadim Zeitlin
4d0893114a Fix wrong UMAGetSystemVersion() return value comparison in wxScreenDC.
The return value of gestaltSystemVersion() represents the version as
"four hexadecimal digits in the low-order word of the return value", to quote
Apple documentation, not as a floating point number.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 12:34:06 +00:00
Vadim Zeitlin
b16fa26914 No changes, just remove hard TABs from wxWebViewWebKit code.
This will allow to commit other changes to this file without triggering svn
hook checking for the TABs absence.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 12:34:02 +00:00
Vadim Zeitlin
76c55941db Remove our own dlxxx() functions emulation for OS X <= 10.3.
We don't support so old versions of OS X any more anyhow, so simplify the code
by using dlopen() &c directly instead of using our own wx_dlopen() with custom
implementation for OS X.

See #15580.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 12:33:58 +00:00
Vadim Zeitlin
fa62389f20 Always use standard mbstowcs() and wcstombs() functions.
Don't provide our own (not fully functional) definitions of them and always
use the system versions as we don't support OS X 10.2 which was the last
platform where these functions didn't exist/work.

See #15580.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 12:33:53 +00:00
Julian Smart
725433b1e8 Include for wxSscanf
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 09:49:59 +00:00
Julian Smart
1459d70072 Added points to the units for editing border widths
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-16 20:23:42 +00:00
Julian Smart
ce9de939c7 Typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-16 18:19:19 +00:00
Julian Smart
409821d9ce Added wxTEXT_ATTR_UNITS_HUNDREDTHS_POINT for more precise border sizes; used GetPixels() more; corrected collapsed borders implementation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-16 16:22:20 +00:00
Stefan Csomor
68e7166630 adjusting the visible items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-15 20:00:56 +00:00
Vadim Zeitlin
e365d633f0 Simplify the code in wxTextFile::OnRead() slightly.
No real changes, just use a self-explanatory "lastWasCR" variable instead of
storing the last character read which wasn't used for anything except
comparing it with '\r'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-15 13:04:27 +00:00
Vadim Zeitlin
b845aa636a Fix reading of files with Mac EOLs in wxTextFile.
The last CR-terminated line wasn't handled correctly.

Fix this now and add unit tests to ensure that it stays fixed.

Closes #15583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-15 13:04:23 +00:00
Vadim Zeitlin
910f1a96d2 Add wxOleConvertVariant_ReturnSafeArrays flag for better SAFEARRAY handling.
While we can't change the type of wxVariant to which SAFEARRAYs are converted
by default, it's much more convenient to work with the variant objects of the
correct type, i.e. using wxVariantDataSafeArray, when dealing with SAFEARRAYs,
so add a flag which can be set to tell a wxAutomationObject to behave in this
way.

Closes #14700.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:35 +00:00
Vadim Zeitlin
097ad8f1b0 Don't use owner drawn items under Win7 even when using larger bitmaps.
The check for menu bitmaps size added in r58557 was apparently only needed for
XP and earlier versions and doesn't seem to be necessary under Win7, so don't
use it there, if only because it allows to retrieve the menu item text which
is useful for automation/screen reader tools.

Closes #13544.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:13 +00:00
Vadim Zeitlin
70232f52e9 Do define __VISUALC__ when using Intel compiler under Windows.
This undoes r74888, r74913 and r74969 because all of them were still not
enough to make ICC build work correctly. So instead of trying to find all the
places where we need to test for __INTELC__ in addition to __VISUALC__, just
revert to defining __VISUALC__ for ICC under Windows as it uses its CRT anyhow
and in the vast majority of cases we are actually testing for the CRT and not
the compiler anyhow.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:06 +00:00
Vadim Zeitlin
13a119cca8 Fix wxDataFormat comparison operators for wxDF_HTML under wxMSW.
This format is special as it doesn't have a fixed value and is registered
dynamically instead. So we need to call HtmlFormatFixup(), which checks if the
given custom format is actually wxDF_HTML, before comparing formats to ensure
that the real value assigned to this format compares correctly to the fixed
wxDF_HTML value.

Closes #15280.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:07:57 +00:00
Vadim Zeitlin
a33511aeeb Update the year in the built-in wxWidgets version dialog.
Simply s/2011/2013/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:07:54 +00:00
Vadim Zeitlin
9d7f0c5f7e Avoid spurious errors when getting wxChoice or wxListBox client data in wxMSW.
Even after the changes of r70415, we could still report an error when the
item client data was set to -1 (== CB_ERR) as checking for GetLastError() was
not enough, we need to also ensure that the last error is reset before trying
to get the client data.

Also apply the same fix to wxListBox and add the tests verifying that this
does work correctly.

Closes #13883.

Also fix wxListBox::GetClientData().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:07:44 +00:00
Julian Smart
9e099ac6f2 Fixed calculation when cell widths are percentages.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-12 20:47:22 +00:00
Julian Smart
6fd94bb4ef wxRTC tables: improve collapsed border drawing by allowing cell borders at the edge if no overall border.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-11 14:43:58 +00:00
Julian Smart
e5510b8526 Corrected conversion of small dimensions to pixels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-11 11:13:18 +00:00
Vadim Zeitlin
dc1f61892b Don't use long deprecated and now removed pangox library in wxX11 any more.
Use pangoxft only now.

Also remove the apparently unused src/x11/pangox11.cpp file, only
src/x11/pango_x.cpp seems to be used (and this one only by being included in
src/x11/dcclient.cpp).

Closes #15482.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-10 20:55:15 +00:00
Paul Cornett
40cbd1603a Window decoration fixes for Wayland.
Allow setting no decorations, and an attempt to allow setting no title bar.
closes #15553


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-09 18:07:31 +00:00
Vadim Zeitlin
0180c58801 Call SetErrorMode() for all Windows applications, not just wxMSW ones.
This suppresses default system error message boxes when trying to load an
invalid DLL in wxGTK/Windows.

Closes #15559.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-09 10:34:19 +00:00
Dimitri Schoolwerth
6cb8038834 Fixed wxFileDialog assertion failure under wxOSX Cocoa.
Using wxFD_FILE_MUST_EXIST in combination with an extra panel in wxFileDialog wasn't working properly. Simply remove the unused flag under OS X. Caused problems with Cocoa only (not Carbon), and at least under 10.6 and 10.8.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-09 00:34:17 +00:00
Dimitri Schoolwerth
bf4ca1d681 Fixed Carbon compilation.
Regression since r74855 and r74954.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-08 20:33:56 +00:00
Paul Cornett
12fffeb456 update GLib version check
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 16:50:22 +00:00
Paul Cornett
b2ca5ed564 silence unused parameter warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 16:14:19 +00:00
Paul Cornett
4d8a4ee70f build fix for wxUSE_UNICODE==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 16:06:08 +00:00
Václav Slavík
74af3fcecc Workaround OS X crash when closing FDs in wxExecute.
wxExecute() closes all file descriptors in the forked child process.
This is a common practice, but it unfortunately breaks in combination
with libdispatch on OS X, which - instead of gracefully handling the
situation - intentionally(!) crashes when something closes its kevent
file descriptor in OS X 10.8.

There's doesn't seem to be a simple way to get this descriptor and
there's no telling when libdispatch is pulled into the executable, so
just leave the file descriptors be when running under Darwin, until a
better fix is found.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 11:43:10 +00:00
Václav Slavík
d92a17f52d Fix wxExecute() default priority if wxProcess is not used.
The code mistakenly assigned the lowest possible priority (0, in wx's
numbering), while the intention probably was to have the same default as
wxProcess, which is 0 in POSIX numbering and 50== wxPRIORITY_DEFAULT in
wx's.

Fixes permission denied errors if lowering priority is not permitted.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 11:43:06 +00:00
Stefan Csomor
36656b6ce2 adding getURL hook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 11:23:12 +00:00
Stefan Csomor
c902d81d44 completing OnInit rework for getURL and printFiles callback
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 11:12:41 +00:00
Vadim Zeitlin
62fe7a015a Fix unwanted ribbon expansion on focus loss.
The ribbon unexpectedly showed itself on focus loss when it was minimized.

Fix this and also use switch statement on m_ribbon_state to ensure that the
compiler warns us if we forget to add the code for handling any new elements
of wxRibbonDisplayMode enum.

Closes #15381.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:59:03 +00:00
Vadim Zeitlin
d3a9b6a331 Make the test for wxBUFFER_VIRTUAL_AREA in wxBufferedDC code more clear.
While "!a & b" is the same as "!(a & b)" when "b" is a single bit, the latter
is much more standard and more clear, so write this test (added in r71704)
like this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74952 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:59:01 +00:00
Vadim Zeitlin
9273033d5a Partially account for the shifted origin in wxBufferedDC.
This change slightly improves wxBufferedDC and wxBufferedPaintDC behaviour
when the origin of the DC is shifted, but they still don't work quite right in
this case as they don't use the buffer area of correct size in this case,
which results in cropping the final bitmap (as can be seen in the drawing
sample, which was modified to show wxBufferedPaintDC in action).

Closes #15497.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:58:56 +00:00
Vadim Zeitlin
d32895c5d8 Generate events with specific wxFSW_WARNING_OVERFLOW type if applicable.
This allows the program to distinguish between some other, unspecified,
warnings and this one which can and does happen whenever too many changes
occur too quickly but which has a clearly defined work around: the state kept
inside the program just needs to be refreshed by rescanning the directory anew.

See #12847.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:58:51 +00:00
Vadim Zeitlin
1fd9d44670 Correct sorting order for doubles and wxDateTime in wxDataViewModel.
They were compared inconsistently with the numbers and strings, -1 is supposed
to be returned if the first element is less than the second one, not 1.

Closes #15406.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:58:46 +00:00
Vadim Zeitlin
1efdf9cd65 Handle comparisons of boolean and icon-text items in wxDataViewModel.
For some reasons these types were not handled in wxDataViewModel::Compare(),
unlike all the other standard ones.

Closes #15407.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-07 09:58:41 +00:00
Stefan Csomor
7c7cfb16d3 get OnInit with complete functionality without loosing sequence for MacOpenFile being called after OnInit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-06 21:12:45 +00:00
Vadim Zeitlin
a05ae051d8 Fix capturing non-ASCII output using wxExecute().
Explicitly use wxConvLibc with wxTextInputStream to make sure we correctly
decode non-ASCII data in the subprocess output.

This is a hack, the real solution would be to make wxTextInputStream work
properly with wxConvAuto.

See #14720.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 23:30:52 +00:00
Vadim Zeitlin
8155d71a7d Improve handling of keyboard entry using IME.
Pass the keyboard events to the IME before generating our events for them, the
IME may need them for its own use.

Closes #15384.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 23:30:45 +00:00
Julian Smart
69a36314cd Use the correct attributes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 19:50:36 +00:00
Julian Smart
9dc7358017 wxRTC: fixed bug with columns with unspecified widths, and column spans, being sized too small
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 16:31:30 +00:00
Paul Cornett
a599b4b5d7 Fix default size of un-resizable windows, broken in r74685
see #14870
closes #15549


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 16:20:06 +00:00
Julian Smart
42b2ebfdbb Provide a fallback text colour for text in wxRTC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 16:15:12 +00:00
Julian Smart
a4f491405d Changed the capitalisation of 'span' of Set/GetRow/Colspan to be less jarring
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 15:35:05 +00:00
Vadim Zeitlin
e3d4bdd52b Don't skip handled mouse wheel events in wxVScrolledWindow.
Make the code consistent with wxScrolledWindow and fix the problem with wheel
events always being skipped by wxVScrolledWindow which could result in
processing them multiple times, e.g. for the window itself and its parent as
it happened with wxPGChoiceEditor cells in wxPropertyGrid.

Closes #15547.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 15:05:41 +00:00
Vadim Zeitlin
1d31e79e5d Replace c_str() with t_str() in wxWinCE code.
This should work correctly even in UTF-8 build, should someone want to use it
under Windows CE.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 15:05:38 +00:00
Vadim Zeitlin
5dcfc82cca Don't call SetDllDirectory() when loading dynamic libraries in wxMSW.
SetDllDirectory() modifies the per-process DLL loading behaviour which is
already unexpected as it can affect other threads, running code completely
unrelated to wxWidgets, but, even worse, we can't undo its effect as calling
SetDllDirectory(NULL) as we used to discarded any changes to the DLL directory
done by the program itself, while restoring the result of GetDllDirectory()
would never restore the "compatible" algorithm for DLL search used by default.

So the simplest, and the only 100% correct solution, is to not call this
function at all from here and call it from some higher level code only, either
in the user application or wxPython itself.

Closes #15534.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 15:05:32 +00:00
Julian Smart
f58377dde1 Implemented collapsed borders for wxRTC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 15:01:20 +00:00
Vadim Zeitlin
52afc093fd Fix crash when accessing wxThreadInfo during global initialization time.
We can't rely on our own globals being already constructed if we're called
during another global initialization, so use the usual trick with wrapping
them in accessor functions to ensure that they are.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-05 00:05:36 +00:00
Julian Smart
5d72892ebc Added conversion from points
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-04 12:34:41 +00:00
Julian Smart
070af26558 Corrected border drawing to avoid clipping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-04 07:57:26 +00:00
Julian Smart
fc8a2ec1f6 wxRTC table layout now uses cell content to calculate column widths if no other widths specified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-04 05:51:36 +00:00
Julian Smart
0d60cffa2e Include wxWANTS_CHARS style unless wxTE_READONLY is specified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-03 12:12:07 +00:00
Václav Slavík
f6ac9c6240 XRC spec: document wxRibbon* XRC handler.
Format documentation was nonexistent (the few words present were
incorrect). Document my best guess about the intended usage.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-03 11:08:48 +00:00
Vadim Zeitlin
e118367990 Avoid dropping events in wxDocParentFrameAnyBase in some circumstances.
The code trying to avoid forwarding duplicate events to wxDocManager was over
eager and in some situations filtered out the events which hadn't been sent to
it yet and were, in fact, not handled at all. This could be seen, for example,
by running the docview sample with "--sdi" command line option, creating one
child frame and then trying to create another one from the parent frame menu:
this failed because the existence of a valid child was considered to be enough
for the event to have been already processed in it which was false in this case.

Unfortunately there is no obvious fix to this problem, notably because of the
very roundabout way the toolbar events are processed in MDI windows: the
toolbar itself is a child of the parent frame but the events from it are still
sent to the currently active child frame by wxMDIParentFrameBase. So we can't
rely on any kind of parent-of-originating-window checks.

Instead, remember the last event handled in the child and avoid processing the
same event in wxDocManager again. This should at least avoid the false
positives (like the one fixed by this commit), although it could still result
in false negatives (i.e. some duplicated events) if an event handler generated
other events while skipping the original one. This is a lesser evil though and
should be relatively rare in practice, so live with this ugliness until
someone comes with another idea of fixing the bug described above.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-02 23:32:06 +00:00
Vadim Zeitlin
e90d566109 No changes, just fix a typo in a comment in docview event handling code.
This code is non-trivial enough without confusingly calling a view "new".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-02 23:32:00 +00:00
Vadim Zeitlin
4521f6c88c Add wxActivateEvent::GetActivationReason().
This method is implemented for wxMSW-only currently and allows to check
whether the window is being activated by a mouse click or in some other way
there.

Closes #15516.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-02 16:25:04 +00:00
Vadim Zeitlin
30a7e91fb0 Fix incorrect event handler functions casts in wxRibbonPanel code.
Use wxMouseEventHandler() instead of (wrongly) casting a method taking
wxMouseEvent to wxEvent-taking wxObjectEventFunction.

Closes #15550.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-02 16:24:59 +00:00
Vadim Zeitlin
42ed9e53ad Add more checks for Intel compiler.
This should have been part of r74888.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 23:04:51 +00:00
Vadim Zeitlin
9ed99f82da Remove support for Gnome printing from wxGTK.
It was replaced by GTK+ printing several years ago and is almost never used
any longer anyhow, so any problems in this code (and there are some) would
never be found and fixed.

Also update the message catalogs to avoid having the strings not used any
more, as they were only used in Gnome printing code.

Closes #15517.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 17:09:02 +00:00
Paul Cornett
afab8b85c4 Go back to using a fixed value of 3 for lines/columns per action for mouse wheel event.
The native value is too large. Reverts the effect of r74805. Closes #15527


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 16:33:30 +00:00
Julian Smart
4b263e5ef3 Further refine of #15226: wxRichTextCtrl: Implement setting properties with undo for objects e.g. wxRichTextTable (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 16:33:24 +00:00
Vadim Zeitlin
dd44c13014 Remove obsolete CodeWarrior-related batch files.
This compiler is not supported (and doesn't even exist, in fact) any more and
these files should have been removed in r59493.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 16:08:39 +00:00
Vadim Zeitlin
58b962cdb0 Remove obsolete VisualAge-related files.
These were used under OS/2 circa 2000.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 16:08:36 +00:00
Vadim Zeitlin
772513d824 Upgrade bundled zlib to 1.2.8.
No real changes from wxWidgets point of view.

Closes #15314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 16:08:25 +00:00
Julian Smart
21d0340384 Applied #15226 wxRichTextCtrl: Implement setting properties with undo for objects e.g. wxRichTextTable (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 15:47:49 +00:00
Vadim Zeitlin
38ececd4c3 Fix crash when auto-sizing a wxDataViewCtrl column.
The code was confused about the difference between the model and view columns
indices and incorrectly used the former as the latter, which could result in
an out of bound array access.

Closes #15420.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:49:26 +00:00
Vadim Zeitlin
5db33691be Do not define __VISUALC__ for Intel C++ compiler under Windows.
This is confusing and makes it more difficult to test for the "real" MSVC,
test for __INTELC__ explicitly wherever needed instead.

Also document __INTELC__ in our list of compilers.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:49:21 +00:00
Vadim Zeitlin
bddab017c6 Improve drawing of the tree item buttons in the generic renderer.
Draw the "-" and "+" signs always properly centered.

Closes #15526.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:49:15 +00:00
Vadim Zeitlin
4a2d030adf Fix problem with COMDLG_FILTERSPEC declaration with MinGW-w64 4.8.
Forward declaring as a struct a symbol previously defined as a typedef results
in an error when using MinGW-w64 4.8.1, so forward declare the struct itself
instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:48:55 +00:00
Vadim Zeitlin
534f87c6c4 Avoid using wxHtmlTag::HasParam() unnecessarily.
Use GetParamAsXXX() accessors instead as they combine the calls to HasParam()
and GetParam() and make the code shorter and avoid the duplication of the tag
name.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:48:46 +00:00
Vadim Zeitlin
6d2190fcb4 Store HTML "id" parameter value in wxHtmlCell.
Pass on the value of the ID to the cell object when adding a new cell.

Closes #15535.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:48:41 +00:00
Vadim Zeitlin
486a0fa75f Add wxHtmlTag::GetParamAsString() convenience method.
This is more convenient to use than HasParam() + GetParam() and also slightly
more efficient as we search for the tag name only once.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:48:38 +00:00
Václav Slavík
be10c7f969 Compilation fix for !wxUSE_OWNER_DRAWN.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 17:12:24 +00:00
Julian Smart
d0b6c0c527 Applied #15226 with modifications: wxRichTextCtrl: Implement setting properties with undo for objects e.g. wxRichTextTable (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-29 16:08:03 +00:00
Julian Smart
b7348ed0cf Don't redraw borders for cells that are hidden - fixes drawing glitch in sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-29 14:01:16 +00:00
Julian Smart
af4168e2cf Added wxRichTextTableBlock class to help with table UI operations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-29 13:35:58 +00:00
Julian Smart
787de84048 Fixed capitalisation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74871 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-29 13:11:01 +00:00
Julian Smart
92a98ecc53 Applied patch #15540: wxRichTextTable: crashes due to an invalid focus object (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-29 12:58:30 +00:00
Julian Smart
ac448bc0a0 wxRTC: save and load the 'shown' status in case there's a situation where layout doesn't restore it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-29 12:06:17 +00:00
Julian Smart
f7f8a13c04 wxRTC: fixed guidelines overwriting adjacent cell borders; corrected capitalisation in command labels; now sends text update event when an object is changed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-27 13:36:46 +00:00
Václav Slavík
c4c885f043 XRC: make wxStaticText's wrap property a dimension.
Parse it as dimension type (including dlg units) and not just integer.
This is backward compatible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-26 12:55:20 +00:00
Václav Slavík
85d64f6aa1 XRC: make wxSplitterWindow's sashpos and minpanesize dimensions.
Parse them as dimension type (including dlg units) and not just integers. This is backward compatible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-26 12:55:17 +00:00
Julian Smart
3b9c5fe8b3 Corrected disabling of controls in cell editor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-26 10:00:50 +00:00
Stefan Csomor
e2c0faf71c always use hw-accel, fixes #15536, applied with thanks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-26 06:31:20 +00:00
Paul Cornett
7b37894790 avoid calling GetDefaultSize() twice
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-24 05:50:09 +00:00
Julian Smart
4f2d6692c7 Make wxRichTextRectArray usable by other parts of wxRTC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-23 09:07:16 +00:00
Julian Smart
057945a5cd Partial fix for #15196: wxRichTextCell caret issues (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-22 20:34:16 +00:00
Julian Smart
7fd80c6f68 Allow absent checkbox when transferring dimension data
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-22 20:22:19 +00:00
Václav Slavík
1c2704fe7b Make public headers compatible with Objective-C++ with ARC.
OSXGetViewOrWindow() virtual methods were defined in headers and were casting
NSView*/NSWindow* to void*, which the compiler complains about with ARC
enabled. Rather than writing conditional code in the header, move the
implementations into .cpp files. They were virtual anyway, so this is no less
efficient, and doesn't leave any problematic code in public headers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-21 10:11:08 +00:00
Václav Slavík
d10fdec4b7 Revert "using #ifdef wxABORT_ON_CONFIG_ERROR not just #if as elsewhere"
This reverts commit r74656, because it breaks initialization order by
calling OnInit() too late.  See
https://groups.google.com/d/topic/wx-dev/H5vgc2VO7K4/discussion

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-21 09:28:47 +00:00
Václav Slavík
59576592b8 Fix wxOSX warnings about int-to-void* casts.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-21 09:28:39 +00:00
Václav Slavík
a255c995a1 Try loading even English translations if provided.
Doing so has negligible cost and can be useful in some situations (e.g.
when using symbolic msgids despite gettext best practices).

Patch by tmsorensen.

Fixes #15522.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-20 17:27:59 +00:00
Paul Cornett
ac687ddffb fix vertical mouse wheel event rotation value, sign was reversed in r74805
fixes #15524

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-20 15:21:25 +00:00
Jouk Jansen
b43069c6a0 Update OpenVMS makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-20 06:07:23 +00:00
Julian Smart
cb6b81bc94 The alignment controls are now left-aligned if the floating controls are not shown.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-19 18:23:37 +00:00
Julian Smart
32c2b16dac Corrections to border placement
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-19 13:14:11 +00:00
Julian Smart
d9dd0c95df Second part of #15224 fix: AddRows, AddColumns (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-19 11:09:34 +00:00
Julian Smart
0cae0a4e18 Fix for #15224: wxRichTextTable: Setting a cell's text colour affects subsequent cells (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-19 08:38:48 +00:00
Julian Smart
9142a5ec3f Fix for #15520: wxRichTextCtrl: Drawing the selection doesn't respect its container (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-19 07:48:22 +00:00
Paul Cornett
dfb39a3727 fix wxSystemSettings::GetColour() for wxGTK3
closes #15519

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-19 05:33:55 +00:00
Vadim Zeitlin
6e48287c6a Add missing c_str() call to fix wxGTK ANSI+STL build.
Closes #15518.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 18:02:25 +00:00
Václav Slavík
f2959820a5 Add wxTranslations::GetTranslatedString().
Replace GetString(), which always returns something (possibly the
original string) with GetTranslatedString() that returns either a
pointer to translated string or NULL.

This simplifies the code a bit, all handling of missing translations is
now done in wxGetTranslation().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 16:03:31 +00:00
Václav Slavík
5278469615 Deallocate wxThreadSpecificInfo when wxThread ends.
Cleanup wxThreadSpecificInfo after wxThread::Entry returns to be more
memory efficient.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 16:03:25 +00:00
Václav Slavík
d2740de55e Make _() and friends safe to call from any thread.
The GetUntranslatedString() hack keeps a global copy of all strings, so
that it can return a const reference as wxGetTranslation() return value.
A global wxHashSet instance shared by all threads won't do, even guarded
with a critical section, because it may internally copy values on any
insert and thus invalidate pointers that may still be used on another
thread.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 16:03:20 +00:00
Václav Slavík
92c0fc34c1 Make storing non-trivial data in wxThreadSpecificInfo possible.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 16:03:14 +00:00
Julian Smart
e0effd7e3b Ensure that the overall table border doesn't get overdrawn by cell borders with a different colour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-18 08:18:32 +00:00
Vadim Zeitlin
b0ad146aba Fix assorted typos in comments and other non-code.
Closes #15509.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-17 15:25:59 +00:00
Vadim Zeitlin
0d60699143 Use mask when drawing bitmaps in generic wxDataViewCtrl.
This allows to have bitmaps with transparent areas in them.

Closes #15510.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-17 15:25:52 +00:00
Vadim Zeitlin
3e33568e0b Add wxDataViewRendererBase::GetEffectiveAlignment() and use it.
This helper method falls back on the alignment of the column if the renderer
alignment is not specified. This is almost always what should be used instead
of GetAlignment() to determine the alignment that really should be used in the
drawing code.

In particular, using GetEffectiveAlignment() in wxDataViewCustomRenderer fixes
the problem with bitmap columns ignoring column alignment for their bitmaps.

Closes #15498.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-17 15:25:47 +00:00
Paul Cornett
b59ada676f remove executable property from non-executable files, closes #15504
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-16 15:47:27 +00:00
Vadim Zeitlin
7dbb435338 Revert "Make wxMSW stack walking methods work with Unicode identifiers."
This reverts r74817 because it broke compilation with VC8 and it doesn't seem
obvious to fix this.

See #15138, closes #15500.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 11:57:23 +00:00
Vadim Zeitlin
e3735e7a9f Show full screen windows with WS_POPUP style in wxMSW.
This doesn't make any difference for most windows but fixes a problem with
wxGLCanvas windows using stereo support of Nvidia cards and generally it does
make sense to use WS_POPUP with full screen windows as they are definitely not
overlapped, so just use this style unconditionally.

Closes #15434.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:16:39 +00:00
Vadim Zeitlin
bf9ce7b55e Make wxMSW stack walking methods work with Unicode identifiers.
This allows to show the stack properly for e.g. Japanese programs.

Closes #15138.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:16:34 +00:00
Vadim Zeitlin
39c0d6d6b6 Disable handling of wxEVT_MOUSEWHEEL in wxVarScrollHelperEvtHandler in wxGTK.
Just for consistency with wxScrollHelperBase, not really sure what problem
exactly does this solve.

See #15357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:15:26 +00:00
Vadim Zeitlin
4706252347 Make default keyboard handling available in wxVarScrollHelperEvtHandler too.
Factor out the keyboard handling code in wxAnyScrollHelperBase allowing its
reuse in wxVarScrollHelperEvtHandler.

Now wxVarScrollHelperBase handles cursor keys in a sane way by default
too and also allows disabling their handling, just as wxScrolledWindow.

See #15357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:15:17 +00:00
Vadim Zeitlin
dc2513650d Propagate the event handling fixes to wxVarScrollHelperBase.
Merge the fixes to wxScrollHelperBase::ProcessEvent() of r64358, r64370,
r64464, r72939 and possibly a few more in wxVarScrollHelperBase to fix its
behaviour too, as it wasn't generating the correct events any longer.

Unfortunately the fix right now is to physically copy the code from one class
to the other. This should be avoided, of course, and a more in depth
refactoring should be done to move the code common to both classes into
wxAnyScrollHelperBase after 3.0 release. But for now continuing to duplicate
code is better than not having a working wxVarScrollHelperBase.

See #15357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:15:12 +00:00
Vadim Zeitlin
010d821b31 Add wxAnyScrollHelperBase to reduce code duplication in wxVarScrollHelperBase.
This is just a small refactoring to move some trivially common parts of
wxScrollHelperBase and wxVarScrollHelperBase in a new common base class.
This will make it possible to apply other corrections to wxVarScrollHelperBase
without having to physically duplicate the code from wxScrollHelperBase in it.

See #15357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:15:07 +00:00
Vadim Zeitlin
5fff51b517 Fix flickering of wxStaticBox background in wxMSW.
First of all, don't erase background in WM_ERASEBKGND at all if we erase it
anyhow in WM_PAINT, this is totally useless and is what wxBG_STYLE_PAINT is for.

Second, clip out not only the siblings of the static box but also its children
when erasing the background to avoid painting over the controls created as the
box children, which is the preferred way to create them now.

Closes #15150.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:14:56 +00:00
Vadim Zeitlin
4de25822f3 Don't crash when laying out wxGridBagSizer with only hidden elements.
wxGridBagSizer lay out algorithm needs at least a single row and a single
column to work, so simply don't run it at all if there is nothing to lay out.

Closes #15475.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:14:51 +00:00
Vadim Zeitlin
0d17c5b66a Improve composite flags handling in the property grid wxFlagsProperty.
Don't consider that a flag is on just because one of its bits is enabled in
the current flags, for the composite flags (e.g. something like "BOTH = ONE |
TWO") all the bits composing the flag must be on for it to be enabled.

Closes #15499.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-15 00:14:41 +00:00
Julian Smart
88ff049184 Workaround for #15404: wxRichTextCtrl: caret does not disappear when focus is lost (Mac) (briceandre)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-14 20:46:43 +00:00
Paul Cornett
8a1554ed3c add support for GDK_SCROLL_SMOOTH mouse wheel event, introduced in GTK+ 3.4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-14 18:15:42 +00:00
Paul Cornett
53f1a5b1bd use native lines/columns per action for mouse wheel event
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-14 18:06:54 +00:00
Steve Lamerton
fe7cefd493 Handle WebKitWebView create-web-view.
In some cases a new window is signalled using create-web-view rather than new-window-policy-decision-requested and so we need to handle it to emit the correct new window events.

Fixes #15447.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-13 12:55:08 +00:00
Vadim Zeitlin
799a2c1cd7 Handle non-ASCII output from lsb_release in wxGetLinuxDistributionInfo().
Assume that lsb_release always output UTF-8 text as this seems to be the case
right now for the only (common) Linux distribution which uses anything but
ASCII for its code name (Fedora 19 "Schrödinger's Cat").

Closes #15492.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-12 20:49:24 +00:00
Vadim Zeitlin
6ad62591be Don't reset m_fp if wxFFile::Open() fails.
This makes it behaviour consistent with wxFile::Open().

Also don't use Detach() in Close(), again for consistency with wxFile, even if
this has no user-visible effects at all.

See #15494.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-12 20:49:18 +00:00
Václav Slavík
5bac960d40 Fix needlessly convoluted test in wxXmlResourceHandlerImpl::GetImageList().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-11 15:20:09 +00:00
Vadim Zeitlin
76b0f8384e Fix another crash when conversion fails in Unix PostScript code.
Returning 0 length from GetTextExtent() is hardly ideal but it's better than
crashing.

Closes #15489.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-11 15:06:04 +00:00
Steve Lamerton
11a23db531 Fix stc doxygen warnings and regen stc files.
We need to manually escape a few parts of the autogenerated documentation. 

See #15346.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-11 12:03:07 +00:00
Vadim Zeitlin
eb6b14dc71 Fix wrong in wxListCtrl::SetItemColumnImage() in r74716.
The check for "image == -1" was added to a wrong line.

See #15421.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-10 12:12:52 +00:00
Vadim Zeitlin
17d698cca5 Consistently handle DST start time in wxDateTime::Set().
Always move the dates invalid due to DST (i.e. falling into the "missing" hour
on the DST start date) forward, as GNU libc does, even when using a different
CRT implementation, such as MSVC one which moves the invalid dates backwards.

This seems more expected and also fixes an especially bad problem which
happened due to moving the date backwards in Brazilian time zone where DST
starts at midnight as doing this changed the day and totally broke ParseDate()
assumption that setting wxDateTime to 00:00:00 at the given date really did
set it to this date.

Closes #15419.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-08 18:00:58 +00:00
Václav Slavík
d9b22d8fff wxMSW: return correct value from wxMessageDialog::GetReturnCode().
wxMessageDialog's native code didn't call SetReturnCode() as it should.
As a result, it didn't work with ShowWindowModal().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-06 17:09:23 +00:00
Vadim Zeitlin
ee3dd6dd5f Fix bug with not selecting wxAuiNotebook page when its child was focused.
The code in OnChildFocusNotebook() handler only worked correctly if the page
itself was focused but not if the focus was given to one of its children --
which should still make the page itself current.

Closes #15471.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-06 12:27:04 +00:00
Steve Lamerton
111d847de5 Fix history storing in wxWebViewWebKit with custom schemes.
When the history has just been cleared there is no existing item so we should add the new history item even in this case.

Fixes #15446.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-06 09:50:58 +00:00
Vadim Zeitlin
6ba718d7ae Fix horizontal mouse wheel scrolling in wxGTK.
Change the value of the appropriate adjustment instead of always using the
vertical one.

Closes #15469.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-06 00:20:06 +00:00
Vadim Zeitlin
1948ff5f89 Just remove redundant wxDocument::SetDocumentTemplate() call.
This is already done from InitDocument() called from
wxDocTemplate::CreateDocument().

Closes #15467.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 13:07:11 +00:00
Vadim Zeitlin
d9106ec5b6 Correct erasing of background behind controls in a toolbar in wxMSW.
We need to handle WM_PRINTCLIENT in wxToolBar itself as the default handler
for this message forwards to WM_ERASEBKGND of the parent window and our
handler for that message only erases the client part of the window, in wx
sense, i.e. including a relatively big vertical offset accounting for the
toolbar. This means that when we get WM_PRINTCLIENT from the embedded control
drawing code, we don't erase anything at all as the control rectangle height
is smaller than the offset.

This fix is not perfect as ideally the existing MSWGetBgBrushForChild() should
be taken into account automatically by the default MSWPrintChild()
implementation but at least it fixes the ugly visual artefacts.

Closes #12307.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 00:14:37 +00:00
Vadim Zeitlin
1c467e8804 Don't take hidden wxGrid row/columns into account when auto-sizing.
The contents not shown to the user shouldn't affect the fitting width/height
of the columns/rows that are shown.

See #15464.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 00:14:15 +00:00
Vadim Zeitlin
c7ea5a0c7e Remove superfluous mouse capturing in wxGrid row/column labels windows.
This code recaptured the mouse in the window which had already had it, thus
triggering the (recently added, see r74677) asserts in CaptureMouse(). It also
didn't preserve the invariant of m_winCapture always having the capture. And
it was apparently completely unnecessary too.

So simply remove it to fix the asserts while drag-resizing wxGrid rows/columns.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 00:14:13 +00:00
Vadim Zeitlin
8965331963 Simplify wxGridCellAutoWrapStringRenderer::GetBestSize().
The code there was pretty wild, making clearly wrong assumptions (column size
doesn't, and AFAICS never did, include 20 pixel margin) and also was clearly
uncertain about what it was doing by trying to limit the number of iterations
to some arbitrary cutoff when it is pretty clear that the loop increasing the
width and decreasing the height on each iteration will reach the condition of
"width >= height*1.68" sooner or later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 00:14:10 +00:00
Vadim Zeitlin
85d2dec9f0 Don't crash in wxGridCellAutoWrapStringRenderer when the column is hidden.
Our methods should arguably not be called at all in this case, but if this
does happen, at least don't crash.

Closes #15464.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 00:14:05 +00:00
Julian Smart
bd21f7eaf0 wxRTC: extracted XML utilities into a separate class for potential reuse.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-03 16:47:09 +00:00
Paul Cornett
48829702f1 Fix referencing of cairo_t returned from wxDCImpl::GetCairoContext().
It was assumed that all callers were going to unref the cairo_t, but that is not
true, so callers that are going to unref it should ref it themselves.
See #15455


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-03 05:37:30 +00:00
Paul Cornett
cb41a69b15 Don't update position of widgets in a wxPizza from size_allocate handler.
The values in m_{x,y} are not the same as client coordinates if the wxPizza is scrolled.
Closes #15444


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-31 03:25:12 +00:00
Vadim Zeitlin
3c3e94dc01 Fix infinite loop in wxMSW with wxStaticBox inside non-wxTAB_TRAVERSAL parent.
We didn't ensure that the parent of a (native) control with WS_EX_CONTROLPARENT
had this style as well, unlike for our own windows. Fix this now to make
certain that we never call ::IsDialogMessage() on a window whose parent
doesn't have WS_EX_CONTROLPARENT as it simply hangs in this case, entering an
infinite loop searching for the default button.

Also try to reduce the possibility of such bugs in the future by checking for
WS_EX_CONTROLPARENT and not wxTAB_TRAVERSAL before calling ::IsDialogMessage()
even if this doesn't totally prevent them (it wasn't sufficient to fix even
this particular bug).

Closes #15458.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-30 23:32:42 +00:00
Vadim Zeitlin
69384772ac Fix wxMenu::GetTitle() before the menu is appended to the menu bar.
The mnemonics conversion was not done correctly when the menu title contained
them but the menu hadn't been appended to the menu bar yet.

Closes #15461.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-30 23:32:37 +00:00
Václav Slavík
45d66f592c Loosen the assert in IsScrollIncrement().
wxWindowGTK::GTKGetScrollEventType() tries to map GtkAdjustment's delta
to either step or page increment by comparing it with the respective
GtkAdjustment steps. Both of them can be 0, but this code is not
expected to be called in such case.

Yet, in practice, it occasionally is, see e.g.
http://devel.aegisub.org/ticket/979GTKGetScrollEventType (wxWebView is
prone to it as well).

Check for >= 0 instead, to be more robust when faced with unexpected
input from GTK+.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-30 13:14:50 +00:00
Vadim Zeitlin
8cf4b0651f Initialize wxImageFileProperty correctly when file is given in the ctor.
Previously the file had to be specified later and the value passed to the ctor
was ignored.

Closes #15456.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-29 20:44:58 +00:00
Vadim Zeitlin
66c2bf7b1d Don't define __STRICT_ANSI__, we should build both with and without it.
For some reason, wxDialUpManager code defined __STRICT_ANSI__ itself, don't do
it as __STRICT_ANSI__ can be predefined by the compiler resulting in the
redefinition warnings and, in any case, our code should build both with and
without it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-29 12:33:44 +00:00
Julian Smart
fca66f5985 Crash fix for inserting text into a buffer without an associated control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-29 11:41:48 +00:00
Jouk Jansen
8059d88d80 wxGTK1 : another msiing include file in evtloop.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-29 06:39:38 +00:00
Jouk Jansen
7169360153 wxGTK1 : wx/private/eventloopsourcesmanager.h was missing in evtloop.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-28 06:01:12 +00:00
Vadim Zeitlin
ef3ea7e50c Don't recurse into top level children in wxWindow::FindWindow().
Finding a button in a child dialog when looking for it in the current window
is totally unexpected and can result in subtle bugs, see #15442.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 22:49:48 +00:00
Vadim Zeitlin
ee3de647ff Correct making the newly inserted menu item owner drawn in some cases.
The item being inserted is not inserted yet when we call
SetOwnerDrawnMenuItem() so we must call it separately for it after inserting
it.

Closes #15437.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 22:49:28 +00:00
Vadim Zeitlin
6c0d5a69e9 Don't use any icon for items inserted without one in wxMSW wxListCtrl.
Previously we erroneously used the first icon in the image list for them
instead. This was inconsistent with wxGTK and didn't make much sense, even if
it is the default behaviour of the native control, so don't do this any more
and explicitly specify I_IMAGENONE for the icon if it wasn't given.

Closes #15421.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 22:49:23 +00:00
Vadim Zeitlin
029a401d74 Make wxWindow::HasScrollbar() respect wxScrolled::ShowScrollbars().
Override CanScroll() in wxScrolled to return the real state of the scrollbar
instead of just relying on the wx[HV]SCROLL styles.

Closes #15440.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 13:12:38 +00:00
Vadim Zeitlin
3d777efedc No real changes, just make wxWindow::CanScroll() virtual.
This will allow overriding it in wxScrolled<>, see #15440.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 13:12:31 +00:00
Jouk Jansen
8f96683438 Update OpenVMS compile support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 12:02:20 +00:00
Jouk Jansen
67afffcd05 revert nested event loop support for wxGTK1 because it causes applications hangs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-27 11:46:13 +00:00
Vadim Zeitlin
9e9574fe45 Move code removing "-psn_xxx" command line arguments to common code.
We need to do this when using any port under OS X, not just wxOSX, e.g. the
-psn_xxx arguments passed by the Finder when launching the application, must
also be ignored when using wxGTK.

Closes #15432.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-24 14:33:22 +00:00
Vadim Zeitlin
76e7cfab8f Fix recreating of wxBitmapComboBox using untyped client data.
Use the correct array when restoring the client data, correcting a fatal typo
in the changes of r73880.

Closes #15436.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-24 14:33:09 +00:00
Paul Cornett
a31e87879e remove redundant initialization of base class member variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-24 05:11:28 +00:00
Paul Cornett
092162bc12 wxDialogBase only has one ctor, so just do initialization in ctor instead of Init()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-24 05:04:11 +00:00
Vadim Zeitlin
0d53638f71 Fix wxHtmlHelpData::SetTempDir() to behave correctly without trailing slash.
The path passed to this function is always a directory, so use
wxFileName::AssignDir() instead of the default constructor of wxFileName which
considers the name to be a name of a file unless it ends with a path separator.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-23 16:37:09 +00:00
Paul Cornett
3a4cf8a84d Remove DoSetSizeHints() call from Create()
The reason it was added does not seem to be reproducible anymore,
and it interferes with wxRESIZE_BORDER on Ubuntu.
Closes #14870


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-19 17:25:56 +00:00
Paul Cornett
ef1a87f606 revert r74683, wxTLW has its own {Width,Height}Default()
which are not the ones called by PreCreation()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-19 16:58:43 +00:00
Paul Cornett
e62b769262 Remove some old redundant code
Default size stuff is done by PreCreation()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-19 05:42:21 +00:00
Paul Cornett
71a09c3579 avoid setting initial position if it was not specified, broken in r70734
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 16:00:22 +00:00
Paul Cornett
dca2fe5dae Move code that does not need realized GdkWinow out of realize handler
These calls can be made much earlier, and it seems like a good idea to do so.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 15:01:06 +00:00
Vadim Zeitlin
60435227b1 Only give capture to wxPopupTransientWindow child if it's the only one.
This removes the arbitrariness of using the first child which didn't make any
sense when the popup had several controls inside it, e.g. in wxRichToolTip
case this resulted in the mouse capture being given to wxStaticBitmap showing
the tooltip icon even though it didn't need it at all.

This probably doesn't really change the observable behaviour but seems more
logical.

See #15288.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:28 +00:00
Vadim Zeitlin
5f9e369af0 Use wxFindWindowAtPoint() for hit testing in wxPopupTransientWindow.
This works even with irregularly shaped windows such as wxRichToolTip unlike
the old naive test using wxRect::Contains() which didn't and resulted in us
believing that the mouse was outside the window when it was still in it and
(somehow, the details are not totally clear) recapturing the mouse again and
again in the same window which resulted in assert failures with the new checks
in wxWindowBase::CaptureMouse() or the capture stack corruption before this.

Closes #15288.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:23 +00:00
Vadim Zeitlin
bf2c43c76e Return NULL from wxWindow::GetCapture() when the capture is being lost.
Make GetCapture() return NULL during wxEVT_MOUSE_CAPTURE_{LOST,CHANGED} events
processing in wxMSW to help their handlers to avoid calling ReleaseCapture():
this shouldn't be done as the mouse capture is being lost anyhow and results
in reentrancy problems between NotifyCaptureLost() and ReleaseCapture() if
it's called.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:19 +00:00
Vadim Zeitlin
2d145378f6 Make mouse capture checking asserts stronger and more detailed.
Verify not only that we don't destroy the window having the capture now but
also that this window is not in the mouse capture stack at all, not
necessarily on top. This is important as keeping a dangling pointer in the
capture stack would result in difficult to diagnose bugs later.

Also check that we don't recapture the mouse in the same window as this should
never be necessary.

Finally, give more details in the assert checking that the window does have
capture in ReleaseMouse().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:16 +00:00
Vadim Zeitlin
af2372b95d Don't set even try to set focus to wxPopupWindow itself in wxMSW.
This doesn't work anyhow with our popup window implementation (it's a child of
the desktop and we can't set focus to it) and provokes error messages due to
::SetFocus() failures, so simply don't do this at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:13 +00:00
Vadim Zeitlin
0c60a0e2b7 No changes, just change data structures used by mouse capture code.
Use a simple stack of windows instead of a separate singly linked list and a
separate current capture pointer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:09 +00:00
Vadim Zeitlin
b0ad1918b9 No changes, just use wxRecursionGuard instead of manual boolean flag.
Use wxRecursionGuard with the flag indicating whether the mouse capture is
changing to ensure that we always reset it correctly and make the code
slightly shorter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:06 +00:00
Vadim Zeitlin
ae1cdb2d07 No changes, just move mouse capturing bookkeeping data out of wxWindow.
All mouse capture-related data doesn't have to be declared in wxWindow itself
and can just be global in wincmn.cpp, so move it there, this will facilitate
further changes as they won't require recompiling everything any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 13:28:02 +00:00
Paul Cornett
992bf7cfac should have been part of r74664: Avoid calling gtk_window_get_position() from "configure-event" handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-18 04:28:28 +00:00
Paul Cornett
3eee64e7cf avoid duplicate move events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-17 16:38:12 +00:00
Paul Cornett
c37b0f0907 Avoid calling gtk_window_get_position() from "configure-event" handler, if possible.
This avoids a round trip to the X server, which is expensive over a remote connection.
Closes #15116


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-17 16:25:13 +00:00
Paul Cornett
0c80814ffe use names for gs_requestFrameExtentsStatus values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-16 15:43:51 +00:00
Vadim Zeitlin
00dc8bac3c Replace wxFONTFAMILY_DEFAULT with wxFONTFAMILY_SWISS when comparing fonts.
Otherwise comparison always failed as no existing fonts had
wxFONTFAMILY_DEFAULT as their family in all ports except wxOSX, which does
keep wxFONTFAMILY_DEFAULT.

Closes #15410.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-16 11:04:39 +00:00
Stefan Csomor
31fda0c2cf forgotten commit :-( remove #if 0 if things work again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-14 20:34:53 +00:00
Václav Slavík
69c7c9375c Fix wxComboCtrlBase::DoGetSizeFromTextSize() performance regression.
r72935 introduced code that created a temporary wxComboBox control to
take measurements. This is very expensive in MSW and adds noticeable
delay when creating more than a few controls.

Replace with equivalent wxMSW code that computes the height in the same
way other wxMSW controls do.

The wxGTK version cannot be eliminated in the same way, so at least add
some basic caching there. It's much less of a problem, because GTK+
controls creation is much cheaper than MSW one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-14 15:47:21 +00:00
Stefan Csomor
28f058d35e using terminate: terminates prematurely, OnExit is not called anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-14 09:43:31 +00:00
Stefan Csomor
b0fa6efc8b using #ifdef wxABORT_ON_CONFIG_ERROR not just #if as elsewhere
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-14 09:15:16 +00:00
Vadim Zeitlin
88e264616b Don't hide the window in its dtor in wxGTK.
This results in sending an unexpected wxShowEvent to an already half-destroyed
(because the derived class dtor had been already executed) by now object which
could provoke crashes. And it also seems to be completely unnecessary as the
window is going to be destroyed anyhow -- and the other ports don't hide it
before this happens (unless it's a TLW in which case it is already hidden in
wxTopLevelWindowBase::Destroy()).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-13 17:36:47 +00:00
Paul Cornett
3e5a70b5d7 avoid setting pango matrix when not needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-12 16:24:42 +00:00
Julian Smart
fc63fb9aaf Applied #15393 (dghart) fixing wxRichTextTable for percentage widths
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-09 11:56:33 +00:00
Paul Cornett
fd51987ff0 add other known types for gdk_pixbuf_save()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-08 05:59:18 +00:00
Paul Cornett
c2f8c2b245 Try native method first in LoadFile() and SaveFile()
closes #15394


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-08 05:43:24 +00:00
Václav Slavík
07fb285c52 Make wxOwnerDrawnComboBox::DoGetBestSize() twice as fast.
Don't call the very expensive wxComboCtrlBase::DoGetBestSize() method
when not needed - it calls wxComboCtrlBase::DoGetSizeFromTextSize(),
which is very expensive.

Also fix the code so that it doesn't apply GetSizeFromTextSize() twice
(once in the base class' DoGetBestSize(), once here).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-07 17:33:42 +00:00
Vadim Zeitlin
f592a93992 Compilation fix for wxMSW with wxUSE_MSGBOX_HOOK==0.
Include wx/fontutil.h unconditionally, it's needed outside message box hook
code.

Closes #15395.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-07 15:44:56 +00:00
Vadim Zeitlin
5bd6ad08a7 Add wxFileName::SetPermissions().
This is a simple wrapper for the POSIX chmod().

Closes #12951.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-07 11:08:28 +00:00
Vadim Zeitlin
777469ca93 Don't use DDEExec registry key in wxMSW wxExecute() if it's empty.
Some file types have DDEExec subkey in the registry but no value for it, don't
use DDE for launching the files of these types in this case as this only
results in errors.

Closes #15388.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-07 11:08:12 +00:00
Vadim Zeitlin
ccef4c3ad1 Fix column sorting UI in wxDataViewCtrl under wxOSX.
Use -outlineView:didClickTableColumn: delegate method instead of
mouseDownInHeaderOfTableColumn: one to ensure that:

(a) We don't sort the column if it's being dragged/resized (closes #15340).
(b) We sort the column on mouse up, not down (closes #15386).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 17:36:17 +00:00
Vadim Zeitlin
dcbf35f87c Use RIAA wrapper for wxSpinCtrl event disabling in wxGTK.
The use of wxSpinCtrlEventDisabler class ensures that we never forget to
reenable the events after disabling them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 17:00:10 +00:00
Vadim Zeitlin
6f026b5b63 Reflect changes in stc.cpp in stc.cpp.in from which it's generated.
This should have been part of r74596, see #15353.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 17:00:04 +00:00
Vadim Zeitlin
b736d59eb5 Don't generate any events from wxSpinCtrl and wxSpinCtrlDouble methods.
After the changes of r53758 wxMSW didn't generate any wxEVT_TEXT events but
this was still the case for the generic version (and hence for
wxSpinCtrlDouble under MSW too) and wasn't documented.

Fix all versions to avoid sending events for programmatic actions, add unit
tests checking this behaviour and document it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 17:00:00 +00:00
Vadim Zeitlin
33d953e748 Add wxPropertyGridPageState::GetColumnFullWidth().
This method allows to get the full width needed by wxPropertyGrid and is
useful for determining the space to allocate for it, e.g. when creating a
popup showing the property grid, as shown by the changes to the sample.

Closes #15368.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 13:05:42 +00:00
Vadim Zeitlin
9869c26285 Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
Return the real height instead of -1.

Closes #15367.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 13:05:36 +00:00
Paul Cornett
632b58cdce Rewrite ConvertToGreyscale() and ConvertToDisabled()
They do almost the same thing, so use almost the same code.
Fixes ConvertToDisabled() modifying its own data.
Closes #15389


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 06:05:38 +00:00
Paul Cornett
4c99fdfaf4 prevent infinite loop if gtk_menu_popup() fails, fixes #15387
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-05 17:10:58 +00:00
Stefan Csomor
71d9783779 follow up parent chain to properly support modal dialog parents, see #15383
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-05 08:59:38 +00:00
Paul Cornett
7eb84cdd47 fix Gtk-CRITICAL errors when deleting wxDirButton
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-02 17:01:03 +00:00
Paul Cornett
4ae5ada038 defer calling SetCanFocus() on wxGTK until after creation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-31 16:03:51 +00:00
Julian Smart
cc4d5638c6 Applied #15375 to stop event-sending in generic wxSpinCtrl ctor (eco)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-31 10:47:03 +00:00
Paul Cornett
21d0762680 fix tab traversal of wxStaticBox children, closes #15376
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-31 05:35:13 +00:00
Stefan Csomor
a672d82a64 first attempt at adding the minimal set needed for dead-key support, see #15345
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-28 17:36:23 +00:00
Stefan Csomor
f7105c8fe2 adapting to new event version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-28 14:52:47 +00:00
Stefan Csomor
17243986ec changing to allow for 2x ramping up NSApp run
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-28 14:37:37 +00:00
Stefan Csomor
0e4a6d339a using Run of base class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-28 14:32:35 +00:00
Stefan Csomor
a4ea083bbd skip apple options
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-27 19:21:14 +00:00
Stefan Csomor
fb5cb86797 wiring event loop callbacks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-27 19:19:39 +00:00
Stefan Csomor
a8123c1359 OSX adaptions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-27 19:00:25 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
609a42decf Fix duplicate symbol link errors in wxMSW wxTextEntry code.
Don't include <initguid.h> too soon, as this affects the headers included
after it instead of just our own uses of DEFINE_GUID() as intended.

This resulted in link errors because of duplicate definitions of the many
standard GUIDs when using MinGW for which we include, for whatever reason,
shlguid.h.

This fixes the change of r67573.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 10:38:39 +00:00
Vadim Zeitlin
6535170f3d Allow using custom method names in wxHTTP.
Add wxHTTP::SetMethod().

Also simplify the code by determining the method to use in Connect() instead
of doing it in BuildRequest() itself.

Get rid of the now unused wxHTTP_Req enum.

Closes #15354.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:55:13 +00:00
Vadim Zeitlin
7e81e3a796 Fix build with wxUSE_FFILE=0.
Add the missing "#if wxUSE_FFILE" checks and add fallbacks to wxFile if it's
available.

Closes #15353.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:55:06 +00:00
Vadim Zeitlin
94e1ee1b4d Don't crash when creating wxStaticBox in wxGTK.
Since r74585, wxWindow::SetCanFocus() is called from wxStaticBoxBase ctor,
i.e. before the real window is created, and this results in a crash in wxGTK
where SetCanFocus() needs a valid widget.

Fix this simply by doing nothing in SetCanFocus() if the widget is not created
yet as this should result in the same behaviour as before r74585. This doesn't
seem like the right thing to do, however, and we should probably remove this
call from wxStaticBoxBase ctor and do it in wxStaticBox implementation itself
instead.

Closes #15358.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:54:53 +00:00
Stefan Csomor
b0ae60498d wiring OnInit on osx to a later point in event processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-24 06:14:48 +00:00
Stefan Csomor
d3fa4bc22e support for iPhone callbacks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 20:11:59 +00:00
Stefan Csomor
b8f0ac88a5 adding OnLaunched
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 17:57:05 +00:00
Paul Cornett
3988b3e819 use GTK-specific method to delete selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 14:41:14 +00:00
Vadim Zeitlin
1b7c3d909a Compilation fix for PCH-less build after r74586.
Don't use wxWindow methods in wx/container.h, move AcceptsFocus()
implementation to containr.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 13:18:30 +00:00
Vadim Zeitlin
bd6ca54f63 Fix tab navigation bug with radio boxes without enabled items.
There was a bug similar to the one in the preceding commit with radio boxes
under wxMSW too: if all radio box buttons were disabled (or hidden, although
this should be much more rare in practice, unlike the disabled case which was
deemed to be rare in r74583 commit message but turned out to actually happen),
the radio box still pretended to accept focus but didn't really do it.

Fix this by allowing to override wxWindow::CanBeFocused() and do it in
wxRadioBox to check whether we have any enabled visible items.

Also add a check for CanBeFocused() to wxControlContainer code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 12:44:33 +00:00
Vadim Zeitlin
dee22e3198 Fix tab navigation bug with static boxes without enabled children.
wxControlContainer::AcceptsFocusFromKeyboard() returned true even if the
control didn't have any currently enabled -- and hence accepting focus --
children. This resulted in strange wxEVT_NAVIGATION_KEY propagation as it
unexpectedly wasn't handled in the control which pretended to accept focus and
instead bubbled up back into the parent, resulting in the focus returning to
the first child of the parent instead of skipping the static box with disabled
children and going to the next enabled child.

Fix this by checking that we have children that can be focused right now and
not only children that are focusable. Notice that this doesn't take care of
calling wxWindow::SetCanFocus() correctly when the children enabled/disabled
state changes so there might still be other problems, notably under wxGTK
where SetCanFocus() does something non-trivial, but it at least improves
things under wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 12:44:29 +00:00
Paul Cornett
be1f902405 merge DoDrawText() and DoDrawRotatedText() into one function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 05:13:32 +00:00
Vadim Zeitlin
043ad13ffe Fix tab navigation into radio boxes in wxMSW.
Radio boxes refused to take focus from keyboard as their
wxControlContainer::AcceptsFocusFromKeyboard() always returned false because
the base wxStaticBox class disabled setting the focus to the control itself
and wxRadioBox doesn't have any children at wx level in wxMSW.

Fix this by reenabling "self focus" in wxRadioBox to make it possible to
accept focus from keyboard. This is not ideal as it doesn't take into account
e.g. radio boxes without any items or with all items disabled or hidden, but
this should be rare and would require virtualizing all children access at
wxControlContainer level, i.e. would be quite non-trivial so don't do this for
now as this, at least, fixes the navigation in common/normal case.

Also remove the unnecessary AcceptsFocus() override from wxRadioBox as this is
now done at wxControlContainer level.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 00:43:33 +00:00
Vadim Zeitlin
2c750daecd No real changes, just refactor wxControlContainer code a little.
Extract the call to wxWindow::SetCanFocus() into a separate
UpdateParentCanFocus() function as it can be necessary to do it from places
other than UpdateCanFocusChildren() too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 00:43:29 +00:00
Stefan Csomor
15160da216 further routing into wxApp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 18:33:01 +00:00
Stefan Csomor
f9148f9841 cocoa wiring
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 16:18:39 +00:00
Stefan Csomor
038c99477c wiring osx native notification during launch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 16:17:27 +00:00
Paul Cornett
c148b21630 use pango_matrix_scale() to scale text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 15:32:00 +00:00
Vadim Zeitlin
a0bb0df5d7 Don't assume that KeySym is always defined as long in wxGTK.
Apparently this is not the case when using Wayland and using "%ld" to print it
out results in an assert failure.

Closes #15351.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-18 10:07:18 +00:00
Vadim Zeitlin
e24c4e1238 Set mouse cursor correctly over image map links in wxHTML.
The cursor didn't change to a link one when the mouse was over link areas in
an image map.

Fix this by generalizing wxHtmlCell::GetMouseCursor() into GetMouseCursorAt().

Closes #15350.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:14 +00:00
Vadim Zeitlin
2767360fa8 Check the number of points in the image map in wxHTML.
Don't crash if an <area> element is incorrect and doesn't have the required
number of coords attributes.

Closes #15348.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:09 +00:00
Vadim Zeitlin
4cdb8e430c No changes, just remove an extra pair of braces in wxHTML code.
See #15348.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:04 +00:00
Vadim Zeitlin
4e2a1db748 Handle wxALWAYS_SHOW_SB in wxOSX.
Initialize m_[hv]ScrollBarAlwaysShown to true if this flag is given when
creating the window.

Closes #15344.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:00 +00:00
Vadim Zeitlin
27d79a5027 Fix insertion of radio menu items in wxOSX wxMenu.
Deal correctly with updating the indices when a radio item is inserted into an
existing radio group (which wasn't done previously and resulted in a unit test
failure in MenuTestCase::RadioItems()) and also with inserting the normal
items before an existing radio group as the stored indices were not updated
correctly.

The code is still ugly and it probably wouldn't be a bad idea to reuse
wxMenuRadioItemsData used in wxMSW for similar purposes, but at least the unit
tests pass now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:39 +00:00
Vadim Zeitlin
150dcda942 Allow unsetting wxMenuItem as start of radio group too.
This must be called if another radio item is inserted before the current
starting one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:35 +00:00
Vadim Zeitlin
9883583092 No changes, just renamed "pItem" to "item" in wxOSX menu code.
Get rid of this pseudo-Hungarian notation and make the naming of the variables
consistent across the whole file.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:29 +00:00
Vadim Zeitlin
3b28ca6503 Get rid of wxMenu::m_startRadioGroup in wxOSX.
This code was probably copied from wxUniv but was wrong as we can't rely on
the items being always inserted in order. This commit on its own fixes
removing the first radio group menu item but it also makes possible to
properly implement the insertion of new items in the middle of an existing
radio group which couldn't be done with m_startRadioGroup approach at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:26 +00:00
Vadim Zeitlin
f86a4930f2 Fix harmless unused parameter warning in wxOSX.
We don't use the timestamp in wxNonOwnedWindow::HandleResized().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:22 +00:00
Vadim Zeitlin
75f9a95448 Use [DOMRange markupString] to get selection source.
This DOMRange method, previously used in GetSelectedText(), seems to provide
exactly what we need so there doesn't seem to be any reason to use JS to get
the selection text, especially as it didn't even work under OS X 10.8 and
returned an empty string in the unit test.

The unit test still needs adjustment to pass because we don't get back exactly
the same HTML as we used originally, but with more relaxed matching it does
pass now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:17 +00:00
Vadim Zeitlin
54889dae19 Return raw text, not markup, from wxWebViewWebKit::GetSelectedText().
Under OS X the markup string was returned, unlike in all the other ports,
resulting in a unit test failure, fix this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:14 +00:00
Stefan Csomor
c93a9c50a5 never return negative client sizes, fixes #15338
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 05:13:35 +00:00
Stefan Csomor
f197e6520a keeping selected page, fixes #15334
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 17:31:25 +00:00
Stefan Csomor
f2d8a2767e making sure images are in synch with the pages
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 16:36:20 +00:00
Vadim Zeitlin
a94529575a Add wxUSE_PREFERENCES_EDITOR and the corresponding configure option.
This was somehow forgotten when wxPreferencesEditor was added.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 15:14:59 +00:00
Vadim Zeitlin
ccf8bf20ca Fix new wxExecute() code compilation with wxUSE_CONSOLE_EVENTLOOP==0.
Nothing is going to work without the console apps/base traits support for the
event loop but at least make it compile.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 15:14:53 +00:00
Vadim Zeitlin
4ec2eca1e8 Fix wxGTK compilation in wxUSE_MENUS==0 case.
Add missing check for it to wxWindow::DoFindFocus().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 15:14:49 +00:00
Vadim Zeitlin
9031011cde Don't use images in wxToolBar with wxTB_NOICONS in wxOSX.
This results in asserts when adding items without bitmaps, but this should be
allowed when using wxTB_NOICONS.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:32:03 +00:00
Vadim Zeitlin
14619f10b0 Support using GetTextExtent() with empty string to get descent in wxOSX.
Allow measuring the descent and external leading of an empty string by
measuring just a space instead in wxOSX. This makes the behaviour more
consistent with wxMSW and makes the unit test added in r74464 pass under OS X
too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:31:56 +00:00
Vadim Zeitlin
b4123b5b9d Suppress harmless clang 3.3 warning about unused wxMessageOutputBest field.
Clang detects that a class member is unused (under non-Windows systems) which
is quite impressive but not really useful in this particular case, so suppress
this warning by "using" it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:31:36 +00:00
Vadim Zeitlin
70a5b9059e Fix error checking in wxFileSystemWatcher::Remove() under OS X.
The boolean return value was compared with -1 which was always false.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:31:32 +00:00
Vadim Zeitlin
f46e6a1ef9 Make wxMSW wxSpinCtrl "not enough space" messages more helpful.
And also less annoying: remove the messages from DoMoveWindow() which could be
given during resizing but not necessarily corresponded to the final control
size.

And give more details about which control is not being given enough space when
a too small size is given in the ctor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-14 15:45:00 +00:00
Vadim Zeitlin
a68a361276 Fix crash in docview code if view initialization failed.
The change of r71371 resulted in using the already destroyed (implicitly, done
as part of destroying the wxView that failed to initialize) wxDocument in
wxScopeGuard destructor.

Avoid this and make the old (i.e. pre-r71371) code exception safe while
keeping its semantics exactly, i.e. only delete all views if the document
still exists.

Also add a comment explaining what's going on here because the ownership rules
in docview code are frankly crazy.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-14 15:26:36 +00:00
Stefan Csomor
44c8e75ba9 support for @2x notation for wxBITMAP_TYPE_PNG (non-resource) on retina displays
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-14 11:16:32 +00:00
Vadim Zeitlin
d439c2517e Remove the long obsolete and unused since 2.7.0 __WIN95__ define.
Don't confuse things by defining it unnecessarily.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 23:23:19 +00:00
Vadim Zeitlin
b8d8362ca0 Use wxNotebook background colour for the tab row background in wxMSW.
The free space near the tabs was always filled with the default light grey
colour, use wxNotebook background colour itself to fill it now.

Do it by changing the code in wxNotebook::OnPaint() to use the background
colour brush and ExtFloodFill() to paint over the default grey, instead of the
patterned background brush which is supposed to be used for the pages area
only and not for the tabs and which was not even taken into account anyhow as
the default window proc erases the entire contents of the DC we pass to it
anyhow (at least in the default top-aligned tabs case).

Also inherit the background colour from parent by default now, this ensures
that wxNotebook blends with its parent when its background colour has been
explicitly set by default, without the need to call its SetBackgroundColour()
explicitly.

See #13745.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 23:23:08 +00:00
Dimitri Schoolwerth
368160e3dc deleted svn:executable property from src/expat/ files that don't need it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 16:28:45 +00:00
Vadim Zeitlin
cd709fcebc Fix harmless MinGW warning in wxMSW wxListCtrl code.
Add an explicit cast to WPARAM because MinGW headers don't do it for us (even
though they should).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:44 +00:00
Vadim Zeitlin
e8823fa8cc Fix harmless unused parameter warning in !wxUSE_GRAPHICS_CONTEXT build.
Rich tooltip tip kind is unused as no tip is drawn in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:41 +00:00
Vadim Zeitlin
1b48beaaf0 Fix wrong return value from wxWebViewIE::Find() in 64 bit build.
Using wxNOT_FOUND and an unsigned size() return value in the same operator ?:
resulted in wxNOT_FOUND being converted to an unsigned size_t type and while
converting it back to (signed) long worked in 32 bit builds where long and
size_t have the same size, it was broken in 64 bit builds where their sizes
are different.

Thanks g++ for catching this one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:38 +00:00
Vadim Zeitlin
2aa54d47d6 Fix warnings about implicit float or double to int conversions in wxMSW.
Make the conversions explicit as these warnings are harmless.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:31 +00:00
Stefan Csomor
46965705ca adapting to new x wheel behavior, see #15269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-11 19:46:59 +00:00
Stefan Csomor
5b0c463561 adapt to wx conventions for scroll wheel differences between horizontal and vertical directions, fixes #15269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-11 19:31:21 +00:00
Václav Slavík
19c453d0ac Use int instead of wxWindowID in wxNewId() and friends.
The functions are available in wxBase builds too, but wx/windowid.h
isn't. Rather than always including that header, just use int, for which
wxWindowID is a typedef. This keeps the functions available in wxBase
for compatibility and is consistent with how IDs are handled in other
parts of wxBase, particularly wxEvent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-11 07:53:35 +00:00
Václav Slavík
1c6a98048b Use wxWindowID in wxNewId() and related functions.
wxNewId(), wxRegisterId() and wxGetCurrentId() functions all work with
window IDs, so they should use the dedicated type. Previously, they
worked with long, which is not even the same type (wxWindowID is int),
causing implicit type conversion warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-11 06:58:35 +00:00
Vadim Zeitlin
38534f5969 Implement monitoring of file descriptors in wxMotif event loop.
This allows applications using wxMotif to link again after the changes of
r74350 -- and wxExecute() unit tests actually pass, too.

Closes #15305.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 23:43:57 +00:00
Vadim Zeitlin
5b526f4b85 Fix typo in wxGUIEventLoop::ScheduleExit() in wxMotif.
This was broken in r74335.

See #15305.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 21:18:29 +00:00
Vadim Zeitlin
c5453c7956 Add wxX11EventLoopSourcesManager stub implementation to fix wxX11 linking.
Asynchronous wxExecute() still doesn't work in wxX11 but at least the programs
using the library can be linked now.

See #15305.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 21:15:18 +00:00
Vadim Zeitlin
aad2997b67 Add default ctors and Create() to wxDirDialog and wxFileDialog in wxOSX.
Allow two-step creation of these classes.

Closes #15316.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 21:12:07 +00:00
Václav Slavík
17473a770a Fix lots of warnings reported by Clang.
Mostly potentially lossy implicit conversions in headers (long->int). Also dangling else warnings. Struct/class mismatches.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 16:41:34 +00:00
Paul Cornett
cc7d80fee2 non-pch build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 13:17:02 +00:00
Vadim Zeitlin
1e5b533ec0 Fix restoring the status bar help message after closing MSW menu from keyboard.
Add a hack to ignore WM_MENUSELECT messages we get for the top level menu
items: we must not clear the status bar help message when we get those because
it had just been restored to the original message that was there before the
menu was opened from the base class wxEVT_MENU_CLOSE handler, but this message
comes after it when keyboard is used to close the menu.

Closes #15315.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 12:28:06 +00:00
Vadim Zeitlin
a98d057434 Ignore WM_MENUSELECT messages indicating that the menu was closed.
Don't update the help string in this case, this is not necessary and can clear
the help string set elsewhere.

See #15315.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 12:24:54 +00:00
Vadim Zeitlin
0646084eb2 Allow retrieving the descent and external leading of empty strings.
This used to work before wxTextMeasure changes so make it work again instead
of optimizing the case of empty string away and not returning anything in the
descent and externalLeading output parameters in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 01:28:18 +00:00
Vadim Zeitlin
f92099657f Check axis number in the received joystick messages.
Closes #15313.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-09 16:44:37 +00:00
Stefan Csomor
bc9dcd9fd4 fixing forced link of quicktime backend on osx_cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-09 15:55:29 +00:00
Vadim Zeitlin
2e6bfeb903 Check for buffer being big enough in wxPathOnly().
Just return NULL or empty string if the input path is too long. This is
probably not ideal but it fixes a buffer overflow and all this code needs to
be rewritten to use wxFileName() anyhow so it's not worth doing anything more
at this moment.

Closes #15302.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-08 21:44:06 +00:00
Vadim Zeitlin
fff5f7d5d8 Merge libpng 1.6.2 into the trunk.
Add pngprefix.h file generated by libpng configure/make process (which we
don't run during wxWidgets build, so this is something that will need to be
redone manually whenever libpng is upgraded, the procedure for doing this is
documented in docs/tech/tn0025.txt) in order to use "wx_" prefix for all
libpng public symbols. This should avoid at least some problems due to the
conflicts between the built-in libpng and shared libpng loaded into the
process as GTK+ libraries dependency under Unix.

Also rename wx_png_{warning,error} to use upper case PNG for consistency with
wx_PNG_stream_{reader,writer} and to avoid conflict with png_{warning,error}()
which we now rename to have "wx_" prefix.

Closes #14157.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 17:44:15 +00:00
Vadim Zeitlin
d53c1e7b09 Define XML_STATIC in Expat header instead of Expat projects.
This reverts r74444 and defines XML_STATIC unconditionally in Expat sources
themselves as we always use the built-in Expat as a static library, so this
solution is simpler and more portable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 14:44:56 +00:00
Václav Slavík
a66bf817a6 Compilation fix for r74440 and STL builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 14:13:01 +00:00
Václav Slavík
ea160f01c6 Don't look for catalogs in AddCatalogLookupPathPrefix() path directly.
Previously, the prefix directory itself for searched for catalogs, in
addition to prefix/lang/LC_MESSAGES and prefix/lang.  This never made
much sense, because only one catalog could be in such place, instead of
multiple catalogs for more languages.  It also prevented successful
identification of catalog's language and didn't work with
GetAvailableLanguages().

Remove this misfeature and update the documentation accordingly.  Update
OS X-specific code so that it continues to work (it previously depended
on this behavior).  As a side effect, *.lproj directories are now
recognized in all search prefixes, not just in Resources.

See #12498, #15253.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 13:42:50 +00:00
Václav Slavík
92d609f4b6 Improve translations lookup logging.
Log match directory in GetAvailableTranslations().  Log search paths
with one directory per line, for better readability when debugging.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 13:42:27 +00:00
Vadim Zeitlin
1b7751aaa9 Add files necessary to run Expat configure.
This should have been part of the previous commit (r74436).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 12:47:34 +00:00
Vadim Zeitlin
11a3e7b6da Update the version of Expat used to 2.1.0.
Merge with the latest version, mostly discarding our changes to 1.95.6 as they
seem to be unnecessary any longer, keep just bakefile-specific addition to
configure.

Also update our own makefile to define HAVE_EXPAT_CONFIG_H which is now needed
by Unix build.

Closes #11677.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 12:45:30 +00:00
Václav Slavík
e7b6bef7c5 Use wxConvAuto() in wxStyledTextCtrl::DoLoadFile().
This is both more reasonable than the current runtime encoding (the
input file is from unknown source) and more robust (it can handle UTF-*
encoded files transparently).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 11:47:17 +00:00
Vadim Zeitlin
8472511246 Avoid using buffer of already deallocated string in wxHTMLDataObject.
Ensure that the temporary string inside which the pointer returned by
utf8_str() may point remains alive for long enough.

Closes #15279.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-07 00:38:41 +00:00
Vadim Zeitlin
38aae140ac Forbid creation of wxStandardPaths object directly.
This happens to work under MSW and Unix where there is only one
wxStandardPaths class for both the console and the GUI applications but
doesn't return the correct result under OS X where the Core Foundation
version, returned by wxStandardPaths::Get(), has to be used for the GUI
programs. And historically this confused a lot of people, so just ensure that
they can't accidentally create an object of the wrong type any more.

Closes #13537.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 23:14:21 +00:00
Vadim Zeitlin
ccaf2891c9 Reuse wxMessageOutputStderr for wxLogStderr implementation.
In addition to avoiding (tiny) code duplication, this ensures that both places
use the stream in the same orientation, i.e. either both use the narrow
functions or the wide ones. Thus, it fixes a problem with output simply
disappearing if wxLogStderr and wxMessageOutputStderr were both used: the one
used first disabled any output by the other one.

Closes #14782.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 22:57:05 +00:00
Vadim Zeitlin
700256bbdb Correctly restore the originally used C locale in wxLocale dtor.
Save the original locale used before we changed it instead of "restoring" the
same locate that this wxLocale object was using.

Add a unit test to verify that this does work as expected.

Closes #14873.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 22:48:20 +00:00
Vadim Zeitlin
55ab731681 Fix FILETIME <-> wxDateTime conversions while DST is in effect in wxMSW.
The result was (consistently, so the tests still passed) off by an hour when
the program was ran while DST was in effect. Fix this by avoiding the use of
FileTimeToLocalFileTime() and LocalFileTimeToFileTime() and just directly
converting FILETIME values to wxDateTime. Not only this is more correct but
it's also simpler and more efficient as well.

Also add a unit test for wxFileName::SetTimes() too.

Closes #13098.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 18:21:10 +00:00
Paul Cornett
11f1e38e26 avoid GTK+ prefixes for our tree entry code, it is not part of GTK+
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 16:35:40 +00:00
Paul Cornett
3540b72b5f remove empty GtkTreeEntryClass
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 15:58:42 +00:00
Paul Cornett
7a12c62093 remove instance init function, memory is already zeroed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 15:50:57 +00:00
Paul Cornett
79bca169e5 move treeentry_gtk.h to include/wx/gtk/private/
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 15:44:21 +00:00
Paul Cornett
442bf2f016 create collate_key on demand
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 15:34:59 +00:00
Vadim Zeitlin
cb6223b4a6 Fix potential buffer overflow in wxSTC DefaultFont() function.
Use safe(r) wxStrlcpy() instead of strcpy() to copy the font name.

Closes #15296.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-06 00:28:13 +00:00
Julian Smart
a352fbb044 Caret blink time and blink on/off are now also reflected in GTK+ widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-05 17:11:15 +00:00
Julian Smart
d8d4411312 Use wxRTC text colour if possible for caret
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-05 16:26:37 +00:00
Julian Smart
eaaf10f671 Don't flash wxRTC caret if blink time is zero, and also take colour from window text colour to avoid invisibility.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-05 13:33:30 +00:00
Vadim Zeitlin
5ac5e40e41 Prevent duplicate menu event processing in MDI windows.
Record the object propagating the given event upwards in the event object
itself and use it in wxMDIParentFrame to determine whether the event being
handled is already coming from wxMDIChildFrame and avoid sending it back for
processing it there again in this case.

This is ugly and makes wx event processing even more complex but this is the
only way I could find to ensure that

(a) Both the child and the parent frames get the events from the toolbar
    (even though the toolbar parent is the parent frame and hence normally
    the child wouldn't get notified about them at all and so the forwarding
    at wxMDIParentFrame level is required to make this work).

(b) The child gets the event only once, whether it comes from a toolbar (and
    hence indirectly via the parent frame) or from the child menu (and hence
    directly to the child, at least in wxMSW).

This commit fixes the event propagation unit test case, at least under MSW and
GTK.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 22:18:42 +00:00
Paul Cornett
683df83d51 fix wxCHECK_MSG() return value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 03:12:44 +00:00
Vadim Zeitlin
d1c063b90f Don't ignore child process output if it exits with -1 exit code.
While this code is used by us if the program couldn't be launched at all, it
doesn't mean that it didn't run as -1 could also be returned by the child
process to indicate an error after outputting something, so we should still
read its output in this case.

Closes #15205.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:33:04 +00:00
Vadim Zeitlin
821d856a61 Rewrite wxExecute() implementation under Unix.
This commit changes wxExecute() to handle SIGCHLD to be notified about the
child process termination instead of detecting when the file descriptor
corresponding to the other end of a pipe opened in the parent process was
closed in the child as this was not reliable and could (and did) result in not
detecting the termination of the child processes that closed all their file
descriptors before exiting.

This commit also removes a lot of platform-specific code duplicating the
generic event loop sources support and reuses it for wxExecute() purposes too.

Final big change is that wxEndProcessData was merged into wxExecuteData and we
don't have two similar but quite different classes any more but just one,
which is used both to pass the information from wxExecute() to wxAppTraits
methods and to store this information until the child termination.

Closes #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:32:16 +00:00
Vadim Zeitlin
76015a6bb7 Add a helper wxApp::GetValidTraits() method.
This method always returns some valid traits, even if we don't have wxTheApp
(which is possible in the console applications) or if its GetTraits() was
overridden to return NULL (which shouldn't be, but still guard against this).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:31:49 +00:00
Vadim Zeitlin
c36ddebf93 Treat G_IO_HUP as read, not error, event because EOF is not exceptional.
When EOF is reached on a file descriptor, call the handler OnReadWaiting()
because this is not really different from getting to the EOF while reading
data in the same function. Only call OnExceptionWaiting() for the real errors.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:31:26 +00:00
Vadim Zeitlin
d5ab427f23 Make Unix wxAppConsole signal handling more flexible.
Instead of hardcoding the call to WakeUpIdle() in the signal handler itself,
just wake up the event loop when we catch a signal. This will still result in
WakeUpIdle() being called, before the next event loop iteration, but it will
also allow us to do other things on wakeup from signal as it will be done in
the upcoming wxExecute() changes to support wxEXEC_NOEVENTS in console
applications.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:31:03 +00:00
Vadim Zeitlin
39bc0168c3 Change wxWakeUpPipe to be a wxEventLoopSourceHandler.
No real changes but use wxEventLoopSource::AddSourceForFD() instead of
wxFDIODispatcher::RegisterFD() for this pipe because this is the preferred way
and because it will allow reusing this class for wxExecute() purposes later.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:30:39 +00:00
Vadim Zeitlin
cd794127ff Include <fcntl.h> from a header using fcntl().
No real changes, just make the header self-containing instead of relying on
the file including it to include <fcntl.h> itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:29:53 +00:00
Vadim Zeitlin
a25b76f5f9 Use CFSocket instead of CFFileDescriptor in wxCFEventLoopSource.
Use OS X socket APIs for monitoring file descriptors. They are more flexible
than CFFileDescriptor functions and can be used with any descriptors, not
necessarily the socket ones.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:29:05 +00:00
Vadim Zeitlin
71e9885be0 Make wxEventLoop::AddSourceForFD() static.
Any event sources should be registered with all the event loops, including the
ones that will be started in the future, and not only the current (and
potentially not even existing yet) one. So make AddSourceForFD() method static.

To still allow it to do different things in console and GUI applications, as
it must, virtualize it via the new wxEventLoopSourcesManager class which has
different implementations in the two cases, returned via wxAppTraits as usual.

Notice that this required moving the implementation of this method from
src/osx/core/evtloop_cf.cpp to src/osx/core/utilsexc_cf.cpp as the former file
is base-only and didn't have access to wxGUIAppTraits.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:28:42 +00:00
Vadim Zeitlin
5e38246378 Extract wxFDIOEventLoopSourceHandler in its own header.
No real changes, this is just in preparation for the further refactoring.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:28:16 +00:00
Vadim Zeitlin
bd7cea0ea6 Split wxWakeUpPipe class in MT-unsafe and MT-safe parts.
This class can also be useful when it's used in the main thread only, so
leave the lock-less part of the code in wxWakeUpPipe and derive a separate
wxWakeUpPipeMT from it for the use in wxConsoleEventLoop where it can be used
by multiple threads.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:27:53 +00:00
Vadim Zeitlin
2ccfebab09 Extract PipeIOHandler class into a header and rename to wxWakeUpPipe.
No real changes to the class, just make it possible to reuse it outside of
Unix wxEventLoop code.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:27:28 +00:00
Vadim Zeitlin
9b70925d3e No changes, move wxStreamTempInputBuffer to a header file.
Get rid of the surprising src/common/execcmn.cpp which had a .cpp extension
but was supposed to be used as an included file only and move its contents to
a new private header to make using wxStreamTempInputBuffer class simpler.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:27:02 +00:00
Vadim Zeitlin
bfabc7f47c Extract wxPipeInputStream and wxPipeOutputStream in a header.
No real changes, just put these classes in a private header. They're still not
part of the public API but at least it will be easier to reuse them inside the
library itself in the upcoming commits.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:26:38 +00:00
Vadim Zeitlin
d3ad22bdb3 Add wxEventLoop::ScheduleExit().
This method allows to request exiting from the given event loop even if it's
not the currently active one, unlike Exit() which would assert in this case.
With it, it becomes possible to ask the loop to terminate as soon as possible
even if a nested loop is currently running.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:26:13 +00:00
Vadim Zeitlin
c738d187e9 Add wxEventLoopBase::DoRun().
Call it from public Run() after setting the loop as active and resetting
m_shouldExit flag.

No real changes, just cut down on the code duplication among the ports and
make it easier to implement the upcoming changes. see #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:25:23 +00:00
Vadim Zeitlin
a1fe5f9048 Move wxEventLoopManual::m_shouldExit to wxEventLoopBase.
No real changes, just make this flag available to the other event loop
implementations as they will need it soon.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:24:58 +00:00
Vadim Zeitlin
8d40c05f41 Add "OSX" prefix to wxCFEventLoop::DoRun() and DoStop() methods.
Just rename these methods to avoid clashes with DoRun() that will be added to
the base class soon, no real changes.

This is done in preparation for improving nested event loops support, see #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:24:34 +00:00
Vadim Zeitlin
dbd5b2ce42 Better fix for duplicate wxContextMenuEvent generation under MSW.
Fix the bug with multiple wxContextMenuEvent being generated for a single
WM_CONTEXTMENU without breaking context menus for wxTextCtrl (and all the
other native controls). Do this by ensuring that WM_CONTEXTMENU is still
passed to DefWindowProc() if we don't process it instead of just being eaten
completely in any case.

Also add a unit test checking for this bug to ensure it stays fixed.

See #13683.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 20:24:22 +00:00
Vadim Zeitlin
bdbdb4d181 Avoid forcing wxYield() after wxUIActionSimulator::MouseMove() in wxGTK.
Yield (for input events only) inside this function itself instead of forcing
all the code using this function to call wxYield() after it as otherwise the
mouse position change is not taken into account by the subsequent simulated
events.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 20:23:58 +00:00
Paul Cornett
ec34e73ca9 chain up to parent in dispose handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 17:15:27 +00:00
Paul Cornett
26c7d90fd6 use correct signature for class init function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 17:09:55 +00:00
Paul Cornett
6ee000088d use existing helper to remove inconvenient additional reference added by gtk_tree_model_get()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 16:56:42 +00:00
Paul Cornett
e59127de8b remove unused function GTKSetItem()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 16:35:43 +00:00
Paul Cornett
185ac7cbbb preserve checkbox status in SetString()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-02 16:29:49 +00:00
Vadim Zeitlin
27a92e3a7e Don't append extension if it contains wildcards in wxGTK wxFileDialog.
Restore the test for wildcards erroneously removed in r74307.

Closes #15285.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-01 14:58:27 +00:00
Vadim Zeitlin
1b7f2c727d Optimize wxImage::Scale() by pre-calculating the values used.
Precompute the values used by various resampling algorithms once instead of
doing it for each pixel. This dramatically speeds them up: more than 3 times
faster in wxImage benchmark with the small images and up to 5 times faster
with larger images.

Closes #15281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74321 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-01 14:48:24 +00:00
Paul Cornett
8e125ff114 Use gtk_list_store_insert_with_values() to set entry at same time item is inserted.
This should ensure that the entry is always valid, removing the need for r74315.
Also simplify DoInsertItems() by using DoInsertItemsInLoop().


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-01 05:10:22 +00:00
Paul Cornett
2abf710786 fix assertion failure when string transform is requested before entry is set
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 17:16:49 +00:00
Vadim Zeitlin
6f65a5e1aa Forward events to active child in wxMDIParentFrameBase, not only wxMSW.
Menu, toolbar and update UI events should be forwarded to the active child
under all platforms in MDI applications and not only MSW, so move TryBefore()
overload from wxMSW wxMDIParentFrame to wxMDIParentFrameBase.

This should make things more consistent in general and notably fixes the lack
of toolbar events in wxDocChildFrame since the changes of r73928.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:53:44 +00:00
Vadim Zeitlin
5d98e603bc Fix VC6 compilation of wxRichTextTable code.
In addition to breaking VC6 build, the code also rather strangely declared
"row" inside a for loop first and then declared it in the function scope.

Leave just the second declaration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:53:21 +00:00
Vadim Zeitlin
1d84348c5a Add support for horizontal mouse wheel scrolling in wxSTC.
Handle horizontal mouse wheel scrolling events in a similar (but simpler, as
they always scroll and never change the font size) way to the vertical ones in
wxStyledTextCtrl.

Closes #15266.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:52:58 +00:00
Vadim Zeitlin
0280c08726 Use wxListColumnFormat for wxListCtrl::AppendColumn() format argument.
This is safer than using just an untyped int.

Closes #15265.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:52:11 +00:00
Vadim Zeitlin
b712cc040f Fix wxIMAGE_QUALITY_HIGH definition.
Embarrassingly, wxIMAGE_QUALITY_HIGH was never used as it had the same value
as wxIMAGE_QUALITY_BILINEAR due to the changes to these constants in r67203.

After fixing its value in the enum, also change the switch on this enum
elements to avoid g++ warnings about unhandled enum values.

See #12845, #15281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:51:47 +00:00
Vadim Zeitlin
9e8125a1a8 Fix dnd events in generic wxDataViewCtrl when moving out of the window.
The wxEVT_DATAVIEW_ITEM_BEGIN_DRAG event wasn't triggered if the mouse moved
below the last item or beyond the last column of a control or left the window
completely.

Fix this by checking for the beginning of the drag before checking for the
mouse being out of items area and also force the drag to start if the mouse is
leaving the window as we would never do it otherwise.

Closes #15258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:51:24 +00:00
Vadim Zeitlin
42ed9de292 Don't append just a dot in wxGTK wxFileDialog if no default extension.
We always appended the default extension (for the currently selected pattern)
to the file name but this was the wrong thing to do if there was no extension
at all as this resulted in appending just a dot to the filename. So only do it
if there is an extension to append.

Closes #15285.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:51:01 +00:00
Vadim Zeitlin
88343ddae9 Allow resetting background colour of wxHtmlContainerCell.
Don't use m_UseBkColour flag which remained always set once
SetBackgroundColour() had been called, but just rely on m_BkColour itself
being valid to determine whether we should use it. This allows to reset the
background colour after setting it.

Closes #15287.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:50:37 +00:00
Stefan Csomor
bc7a3ceeba support getting device resolution on all osx ports
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-28 13:24:27 +00:00
Stefan Csomor
e788ceb8fa new method for contentScaleFactor on main screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-28 10:41:20 +00:00
Stefan Csomor
9c4672b0f8 new method for contentScaleFactor on main screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-27 12:48:46 +00:00
Stefan Csomor
c944835aaa native bitmap scaling codes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-27 07:24:15 +00:00
Stefan Csomor
ec2df34e27 use correct scale when drawing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-27 05:54:51 +00:00
Stefan Csomor
cfcab929d4 virtual method hiding in GTK, so add direct implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 15:41:23 +00:00
Julian Smart
8e77fd8bca Applied rowspan patch #15276 (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 15:38:46 +00:00
Julian Smart
8a28cd66a6 Applied colspan corrections, #15274 and #15275 (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 15:30:55 +00:00
Stefan Csomor
a4f6fe43c3 support retina display
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 15:11:18 +00:00
Stefan Csomor
ead8d60c3d using dc Create for bitmap, for retina support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 14:57:14 +00:00
Julian Smart
659d10cafe Allow for older GTK+ versions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 14:55:48 +00:00
Stefan Csomor
7e0fda87a9 support for scaled bitmaps in wxMemoryDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 14:19:41 +00:00
Stefan Csomor
f8bfebfcb8 native scaling support for bitmap
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 14:02:11 +00:00
Stefan Csomor
a85ccd79fd fixing naming to GetScaleFactor, adding default Create with a dc parameter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 13:54:15 +00:00
Stefan Csomor
a6808851eb supporting native content scaling on OSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 12:43:44 +00:00
Stefan Csomor
d2bb4c8653 formatting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 12:26:11 +00:00
Stefan Csomor
538a2cfaf2 adding ContentScaleFactor support to dc - defaulting to 1.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 12:24:34 +00:00
Julian Smart
c901a24c2a Removed 3D style for splitter on Mac since it looks bad
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-25 07:23:48 +00:00
Vadim Zeitlin
4f9ccec517 Add wxBookCtrlBase::DoSetSelectionAfterRemoval() and use it in wxSimplebook.
This fixes the wrong handling of the selection in wxSimplebook when the
currently selected page was deleted.

Also extend the unit tests to check for this bug.

Closes #15188.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 16:39:39 +00:00
Vadim Zeitlin
015a04705d Also propagate wxEVT_UPDATE_UI to the child MDI frame.
It seems to make sense to handle wxEVT_UPDATE_UI in the same way as wxEVT_MENU
as they are often used together. This allows to handle e.g. toolbar buttons
entirely in the child MDI frame, without any involvement from the parent.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 13:08:41 +00:00
Vadim Zeitlin
57b708aebd Use child MDI frame menu items in preference to the parent frame ones.
Look for the item with the given ID in the child frame menu bar first, before
looking in the parent frame menu bar. This ensures that if an item is disabled
by the parent frame but then reenabled by the child one, it still generates
commands as expected instead of being completely ignored.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 13:08:18 +00:00
Vadim Zeitlin
dcb16c298b Undo "Forward events to active child at MSW, not wx, level in wxMDIParentFrame."
Unfortunately, forwarding MSW messages only takes care of the menu events but
not the toolbar ones -- which should be handled in the same way but were not.

So restore the old behaviour, the problem with menu items disabled in the
parent frame but enabled in the child one will be fixed differently.

This reverts r73927.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 13:07:55 +00:00
Vadim Zeitlin
cb50bdc075 Fix Unix build with libSDL 2 in debug mode.
SDL_AudioDriverName() was replaced with SDL_GetCurrentAudioDriver() in SDL v2.

Closes #15271.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-21 09:21:58 +00:00
Stefan Csomor
ea07540202 fixing iPhone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-19 20:30:54 +00:00
Stefan Csomor
1829d71c40 using common GetContentScaleFactor throughout part 2/2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-19 20:29:56 +00:00
Václav Slavík
d3def4c633 Fix GetMsgCatalogSubdirs() to do as documentation says.
Due to a typo, the prefix/lang path wasn't considered when opening a
domain catalog.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-19 16:02:54 +00:00
Václav Slavík
e0c22690f1 Be case insensitive when looking for language catalogs on Windows.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-19 16:02:30 +00:00
Steve Lamerton
8fdbcf4de8 Ensure that the default wxWebView backends are registered.
Fixes #15261

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-18 19:54:25 +00:00
Julian Smart
d5bfe58482 Fixed loading of whole file:... specification of a page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-17 20:21:54 +00:00
Stefan Csomor
35f95708e3 fixing sdk compilo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-17 19:43:46 +00:00
Stefan Csomor
f86190702b adding magnification API into the wxWindow classes for best retina support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-17 17:41:34 +00:00
Václav Slavík
5fbd55b946 Remove superfluous call in wxTranslations::LoadCatalog().
This call to GetAvailableTranslations() did nothing, it's value was
ignored, and it was done before m_loader was checked for != NULL.
Probably some leftover debugging code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-16 11:51:38 +00:00
Vadim Zeitlin
0ec98fd6c9 Improve wxGrid cell wrapping in wxGridCellAutoWrapStringRenderer.
Wrap the words too long to be shown on one line on several lines.

Also take the line breaks and TABs into account.

Closes #15249.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-16 10:50:54 +00:00
Vadim Zeitlin
512b03dbe1 Restore case-insensitivity for file name matching under Windows.
This was broken by the changes of r73790, see #3432. Fix this by converting
both the file name and the wildcard mask to the upper case before checking
whether the former matches the latter.

Closes #15243.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-15 21:49:29 +00:00
Vadim Zeitlin
33e6d385a5 Fix formatting of the local time zone when DST is in effect.
We must add DST offset manually as wxGetTimeZone() doesn't take DST into
account.

This fixes the handling of "%z" in format strings.

Closes #15250.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-15 21:49:05 +00:00
Stefan Csomor
68d5ce9099 adding new constructor for best dc-compatibility of bitmaps
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-15 16:29:04 +00:00
Stefan Csomor
5c475284a2 use common bottleneck
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-15 14:45:17 +00:00