Commit Graph

53357 Commits

Author SHA1 Message Date
Vadim Zeitlin
f23b8c0d85 No changes, just remove gratuitous inefficiency from generic wxDVC.
Don't return wxDataViewMainWindow::m_selection array by value, returning a
const reference to it is enough and avoids completely unnecessary memory
allocations and copying of potentially large amounts of data.

Also make wxDataViewMainWindow::GetSelections() const.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-12 14:09:41 +00:00
Vadim Zeitlin
3823a15e2c Fix compilation of generic wxDVC code when not using STL containers.
wx sorted containers don't implement iterators so use indices to iterate over
wxDataViewMainWindow::m_selection, just as r68613 already did in another place.

Closes #13388.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-12 14:09:37 +00:00
Paul Cornett
f795e58659 remove unneeded gdk_window_get_pointer() call
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-12 05:45:59 +00:00
Paul Cornett
803a1b9454 pass proper window to gdk_window_get_pointer(), NULL does not work with GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-12 05:33:59 +00:00
Vadim Zeitlin
f8a1c5715f Use separate strings for stock labels with and without mnemonics.
Obtaining the string without mnemonics by simply removing "&" characters from
the string containing mnemonics doesn't work for some languages, notably
Chinese where the convention is to use "Chinese Text (&M)" for the labels with
"M" being the ASCII mnemonic and just "Chinese Text" and not "Chinese Text (M)"
should be used if wxSTOCK_WITH_MNEMONIC flag is not specified.

Fix the fundamental problem by using separate strings for the two cases.
Translations still need to be updated to really correct the labels appearance.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-11 10:56:05 +00:00
Dimitri Schoolwerth
f5f302d721 Fixed wxOSX build.
Since r68621 dataview.cpp didn't compile anymore (at least with wxOSX-Carbon). Fixed by explicitly using wxDataViewItem's void * constructor in a few cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-11 00:39:18 +00:00
Vadim Zeitlin
3059334387 Basque translations update from Xabier Aramendi.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-10 21:57:05 +00:00
Václav Slavík
cbef7338c1 Add some basic tests for wxDataViewCtrl selection handling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-10 15:24:25 +00:00
Václav Slavík
57ab45460d Fix selection handling wxDataViewMainWindow::ItemDeleted().
The code to update m_selection was too aggressive in the virtual list
case, when it simply cleared it, and broken for single-item selection in
the general case.
Fixed to recompute selection properly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-10 15:24:19 +00:00
Václav Slavík
d5c4a81f2e Make the wxDataViewItem(void*) constructor explicit.
Not having this as an implicit one made it possible to create
wxDataViewItem from any pointer without realizing it, leading to hard to
debug crashes later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-10 15:21:22 +00:00
Julian Smart
3c6cc33082 Added the ability to deselect attributes in the font dialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-10 14:06:28 +00:00
Dimitri Schoolwerth
ee7553e935 Added NSApplicationDelegate's openFiles for wxOSX-Cocoa.
openFiles (available since OS X 10.3) replaces using the openFile method. It allows for more convenient handling of multiple drops and knowing in advance how much files/folders are dropped instead of openFile with which you only get to respond to a single file/folder drop at a time. By default openFiles calls the newly added MacOpenFiles which calls MacOpenFile multiple times, so ordinarily the behaviour is backwards compatible (both on wxOSX Cocoa and Carbon).

The openFile instance method has been removed because it doesn't seem to be called anymore: neither when dropping a single file on the application in the dock or Finder nor when passed as a command-line argument.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-09 22:17:12 +00:00
Vadim Zeitlin
af9c02ce20 Don't reset wxTLW::m_iconized when hiding the window in wxMSW.
Calling Hide() on an iconized window wrongly reset its m_iconized flag but
hiding the window shouldn't affect it.

Closes #13373.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-09 15:46:28 +00:00
Václav Slavík
eceb6af158 Don't use iterators with wxDataViewSelection.
They aren't implemented when using wx's homegrown sorted containers
and adding support is probably more trouble than it's worth.

Fixes #13388.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-09 11:35:32 +00:00
Vadim Zeitlin
b86ac1efaa No changes, just correct the helpview sample name in comment.
"printing.cpp" was used for whatever reason.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-09 11:25:09 +00:00
Vadim Zeitlin
5d8d4b669a Don't manually centre dialogs created with default position in wxMSW.
We always centered the dialogs on the main display which was wrong if the
parent window was on another one. Instead of fixing it, simply don't centre
them at all and let Windows position them, there is no reason to change the
default behaviour.

Closes #13387.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 15:15:50 +00:00
Václav Slavík
373a4816d4 Check for invalid items in generic wxDataViewCtrl::GetSelections().
This shouldn't normally happen, but if some bug causes it, detect it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 10:23:19 +00:00
Václav Slavík
04675edfb1 Remove selection methods taking int from generic wxDataViewCtrl.
Current public API uses wxDataViewItem, this code dated back to 2.8.
They were now protected instead of public, the code wasn't used
anywhere and wasn't portable, it existed only in the generic version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 10:11:04 +00:00
Vadim Zeitlin
ddae52629c Added wxTopLevelWindow::MSWGetSystemMenu() method.
Also generate events corresponding to WM_SYSCOMMAND messages for the custom
items of the system menu.

Add a small snippet to test the new functionality to the dialogs sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 09:32:42 +00:00
Vadim Zeitlin
960493053b Added private wxMenu::MSWNewFromHMENU() method.
Add a method allowing creation of a wxMenu object from a native menu handle.
This will be used to implement access to the system menu in an upcoming commit
but could also be useful for other purposes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 09:32:39 +00:00
Vadim Zeitlin
8a625e0bb9 Fix compilation with g++ 4.7 (prerelease).
The workaround for a bug in g++ 3.5 breaks compilation with 4.7 which
implements two-phase lookup correctly, so disable this workaround for 4.7 and
later. We could probably even only enable it for 3.x but this doesn't really
matter as previous 4.x releases don't have problems with this anyhow.

Closes #13385.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 08:33:19 +00:00
Vadim Zeitlin
5d0152c2b9 Use 0 instead of NULL to avoid g++ warning.
g++ (usefully) warns when assigning NULL to a non-pointer in wxGDIPlusRenderer.

Just use 0 instead of NULL to avoid the warning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-07 19:31:52 +00:00
Václav Slavík
8c7b871156 Use ChangeCurrentRow() in wxDataViewMainWindow::ItemDeleted().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-07 17:29:50 +00:00
Václav Slavík
b625294905 Clean up wxDataViewMainWindow::ItemDeleted() a bit.
Reuse shared code instead of duplicating it. No real changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-07 17:29:47 +00:00
Václav Slavík
c3b0247de1 wxDataViewSelection private type doesn't need to be exported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-07 17:29:44 +00:00
Václav Slavík
43d2d359ce Remove unused ItemList type from datavgen.cpp.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-07 17:29:41 +00:00
Vadim Zeitlin
59f495db65 Implement wxFileType::GetOpenCommand() in wxOSX.
This method used to work in 2.8 but was unimplemented in 2.9.

Restore more or less the old implementation using the data that we already
have in wxMimeTypesManager anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-05 19:02:26 +00:00
Vadim Zeitlin
7112cdd1f3 Add support for wxHELP button to wxMessageDialog.
Implement support for wxHELP for wxMSW, wxGTK and wxOSX/Cocoa (at least when
showing the message box from the main thread, there doesn't seem to be any way
to show more than three buttons with CFUserNotificationDisplayAlert() so
"Help" button is not supported when using it).

This is useful not only on its own, i.e. to allow the user to ask for help,
but also because it brings the total number of buttons supported by the
message dialog to 4, meaning that more choices can be offered to the user
(which is rarely, but not quite never, useful).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 22:53:42 +00:00
Vadim Zeitlin
3fb39fd56c Add missing header for minimalistic builds not using PCH.
wxWindow might not be fully declared in dcbase.cpp but we need its full
declaration for wxDCImpl::InheritAttributes() so explicitly include
wx/window.h -- while this is usually already included from somewhere else it
might not be in minimal builds with a lot of features disabled.

Closes #13380.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 16:12:41 +00:00
Vadim Zeitlin
eb2087c5e6 Compilation fixes for wxUSE_GEOMETRY==0 build.
Add missing wxUSE_GEOMETRY checks to wxAffineMatrix2D-related code.

Closes #13379.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 16:12:36 +00:00
Vadim Zeitlin
1df57a24e5 Use wxWindowMSW instead of wxWindow to fix wxUniv/MSW compilation.
wxFindWindowAtPoint() only returns wxWindowMSW, not the derived wxWindow, in
wxUniv build so assign its return value to wxWindowMSW to avoid compilation
problems in it.

Closes #12534.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 16:12:31 +00:00
Vadim Zeitlin
47e2f88166 Avoid unwanted line break in wxDataViewListModel::GetCount() docs.
Using "i.e." in the brief Doxygen comment makes it end it after the second
period and results in truncated brief description and an unwanted line break
in the full description.

Just avoid using periods for now inside the brief description. Maybe a better
solution could be found in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 13:19:57 +00:00
Julian Smart
4c7d9d88b7 Added Page Break control to spacing page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 12:31:44 +00:00
Julian Smart
5755acd77f Return sensible major and minor version numbers for Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 15:46:43 +00:00
Julian Smart
41d9dcbc60 Outline and line spacing can now be reset via the UI; format dialog layout improvements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 11:41:17 +00:00
Vadim Zeitlin
6e92c2991b Fix bug with TAB being able to switch focus between MDI frames.
The keyboard navigation code correctly checked that TAB was not propagated
above the TLW containing the window in which the key was pressed to avoid
switching focus between different TLWs by pressing TAB.

However wxMDIChildFrame is not a TLW and so it was possible to switch focus
between two different MDI child frames by pressing TAB. This was unexpected
and counterintuitive, especially because the frame receiving focus was not
even activated (which might be another bug).

Fix this by adding a new wxWindow::IsTopNavigationDomain() virtual method that
can be overridden to indicate that a window is a self-contained "keyboard
navigation domain" and that keyboard events shouldn't propagate outside of it
and override it in both wxTopLevelWindow and wxMDIChildFrame to ensure that it
behaves correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 00:45:42 +00:00
Vadim Zeitlin
2a0777a8f0 No real changes, just rename a variable.
"focussed" spelling is unusual and inconsistent with "focused" used in many
other places in the same file, so renamed "focussed_child_of_parent" and also
use standard camelCase naming convention for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 00:45:38 +00:00
Robin Dunn
ec3f5752a0 If -1 is passed to InsertItem for the imageIndex then don't set wxLIST_MASK_IMAGE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 20:23:42 +00:00
Robin Dunn
6c797d8fd1 Initialize the native printer info for ConvertFromNative if it hasn't been done already.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:49:02 +00:00
Vadim Zeitlin
57429bfda5 Don't un-maximize the window when Iconize(false) is called in wxMSW.
Calling Iconize(false) on a maximized window restored it to its normal state
instead of doing nothing as expected.

Return immediately from Iconize() if the requested state is already the
current one to avoid it.

Closes #13373.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:46:44 +00:00
Vadim Zeitlin
9be02147f0 Fix wxSocket::WaitForAccept() in blocking mode.
When wxSocket::WaitForAccept() was called from another thread or on a socket
with wxSOCKET_BLOCK flag it didn't work because it called
wxSocketImpl::Select() with wxSOCKET_CONNECTION_FLAG which was only handled
for the client sockets in this function.

Handle it now for the server ones too, this should allow blocking server
sockets to work again.

Closes #12836.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:46:40 +00:00
Vadim Zeitlin
d6f2b04c72 Remove documentation of non-existent wxTextAttr::CreateFont().
This method doesn't exist (only GetFont() does), so don't document it.

Closes #13372.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:46:35 +00:00
Václav Slavík
1969499c6f Silence Clang warning about numeric_limits<> specialization.
libstdc++ (which is used by Clang) defines numeric_limits<> as a struct
and Clang issues a warning about our specialization that uses 'class'.
As libstdc++ developers have no intention of fixing this, silence the
Clang warning by using 'struct' for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 13:25:33 +00:00
Václav Slavík
7198c33680 Disable symbols visibility support for the Clang compiler.
Even Clang++ shipped with Xcode 4.1 still can't handle visibility
of non-inline methods in exported template classes if the default
visibility is 'hidden'.

Disable visibility support for Clang for now, we'll revisit it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 13:25:30 +00:00
Vadim Zeitlin
bd5754f253 Correct typo in wxArray::insert() fix of r68468.
A wrong variable was mistakenly used.

Closes #13371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 12:19:51 +00:00
Vadim Zeitlin
9c5c5c9cfd Fix crash in wxArray::insert() overload taking iterator range.
The iterator passed as argument could be invalidated by the function itself,
update it before using it.

Closes #13371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 23:38:43 +00:00
Vadim Zeitlin
e999b903ca Generate events with WXK_NONE Unicode keys for non-characters in wxOSX.
The keyboard keys not corresponding to real characters, such as cursor arrows
or function keys, must generate wxKeyEvents with WXK_NONE as Unicode key code
to make it possible to distinguish them from the printable characters but
wxOSX generated events with valid Unicode key codes for them instead.

Avoid this by excluding Unicode key codes corresponding to code points in the
Unicode private use area: while this doesn't seem to be documented anywhere,
all non-printable characters seem to have their Unicode representation inside
it.

This change brings wxOSX keyboard event generation in line with the other
ports and, as a side effect, also closes #12423.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:21 +00:00
Vadim Zeitlin
66fc8b0e64 Avoid bogus focus loss event when wxTextCtrl is modified in wxOSX.
A wxEVT_KILL_FOCUS event was generated when wxTextCtrl::WriteText() was called
in wxOSX, even though the control didn't lose focus at all in this case. This
was completely unexpected and thoroughly confused wxGrid code which closed the
in place editor immediately after showing it because of this (this was perhaps
only the case since r68319 but the changes there were correct so they only
masked the real bug).

Avoid this bogus event by remembering the NSView currently being
programmatically modified and not doing anything in textDidEndEditing
notification if it is generated for this view.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:18 +00:00
Vadim Zeitlin
567e5e47ee Improve wxTextCtrl::GetNumberOfLines() unit test and documentation.
First, enable execution of the Lines() wxTextCtrl unit test case under wxOSX
as it passes since the fix in the previous commit.

Do add a test for GetNumberOfLines() that currently doesn't work in the same
way under all platforms -- but with this test we at least can be sure how does
it work exactly where.

Also mention the current discrepancy in this function behaviour in the
documentation.

See #12366.

Fix Lines() wxTextCtrl unit test to pass under wxGTK too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:15 +00:00
Vadim Zeitlin
2d5c15163a Fix off by one error in wxTextCtrl::GetLineLength() in wxOSX.
The trailing new line shouldn't be counted in the line length.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:08 +00:00