Commit Graph

34089 Commits

Author SHA1 Message Date
Artur Wieczorek
8e2f1b47aa Use wxS macro with string literals.
To make string literals notation consistent.
2015-06-12 23:39:00 +02:00
Artur Wieczorek
4d4ece53f1 Use wxEmptyString instead of wxString().
To keep uniform notation of empty strings.
2015-06-12 23:35:17 +02:00
Vaclav Slavik
09e1fbef70 Fix MinGW and VC8 compilation error
3a8ad952 introduced compilation failures with (some versions of) MinGW
and VC8 because their winnls.h apparently doesn't declare
SetThreadUILanguage(). Just declare the function ourselves to fix it.
2015-06-12 19:47:36 +02:00
Vadim Zeitlin
1c78ede551 Fix use of SetContainingSizer() in wxWrapSizer code.
Calling SetContainingSizer() on a window which had been contained in another
sizer previously asserts since efce9b2306, so
change wxWrapSizer to set the containing sizer to NULL before resetting it.
2015-06-12 14:34:26 +02:00
Catalin
6e72126894 Correctly map MAC_CHARSET to wxFONTENCODING_MACROMAN in wxMSW.
Recognize MAC_CHARSET when mapping MSW charsets to wx font encodings.
2015-06-12 13:41:33 +02:00
Vaclav Slavik
3a8ad95230 Call SetThreadUILanguage() on Windows
Starting with Vista, SetThreadLocale() does basically nothing and does
not affect UI language. We need to call SetThreadUILanguage() as well
from wxLocale::Init() to have the locale reflected in e.g. standard
dialogs.
2015-06-11 19:35:04 +02:00
Artur Wieczorek
6cc7811394 Fixed minor typos in comments.
Yet another iteration.
2015-06-09 20:04:27 +02:00
Artur Wieczorek
c9417c41f5 Fix PCH-less build after cb6efbd.
Add missing wx/settings.h inclusion.
2015-06-09 18:03:56 +02:00
Artur Wieczorek
aeed3322f2 Fixed minor typos in comments. 2015-06-08 21:49:38 +02:00
Artur Wieczorek
c8088e479a Fixed minor typos in the name of variables. 2015-06-08 21:48:08 +02:00
Artur Wieczorek
cb6efbd3c3 Lay out various wxPG dialogs based on the current system screen design.
Currently, customizing some dialogs for small screen environment is done statically on the build stage by setting wxPG_SMALL_SCREEN to 1 (what is done for WXWINCE only).
Instead, we can do this for all platforms in a dynamic manner, based on the classification provided by wxSystemSettings::GetScreenType() function.
In order to do so there is introduced a static helper function wxPropertyGrid::IsSmallScreen() which is used to select right parameters (size, position) for several dialogs in order to display them correctly on the small screen.
2015-06-08 21:46:03 +02:00
Artur Wieczorek
1d9c1b35fd Use pre-increment operator to increment iterator in the loop.
When the return value is ignored, the ++it is never less efficient than the it++.
2015-06-07 23:05:42 +02:00
Artur Wieczorek
06013ea36f Reduce the scope of variables using to index single loop only.
And adjust their types if necessary.
2015-06-06 17:55:39 +02:00
Artur Wieczorek
213df7dd88 Use conditional operator instead of conditional statement in wxBoolProperty::ValueToString. 2015-06-06 17:48:59 +02:00
Roberto Perpuly
aa5dbad410 Use FSEvents in wxFileSystemWatcher on OS X
The FSEvents API allows for creating watches in entire trees of
directories in an efficient manner.

Closes #16969.
2015-06-06 02:37:35 +04:00
Artur Wieczorek
ccd98c6ad9 Refactor: use <<= bit shift assignment operator in wxPGProperty::GetFlagsAsString.
Use it instead of << operator which is used to just shift bits in one variable.
2015-06-05 22:49:49 +02:00
Artur Wieczorek
3e3aaa33db Refactor string manipulations in wxPropertyGrid::ExpandEscapeSequence and CreateEscapeSequences.
Share wxString::clear() method to initialize empty destination string.
2015-06-05 22:47:28 +02:00
Vadim Zeitlin
efce9b2306 Improve detection of attaching windows to more than one sizer.
It's not only an error to insert a window twice into the same sizer, it's
already an error, and even a more insidious one, to insert it twice into
different sizers, so guard against this as well as debugging it (much) later,
when the window and the sizer is destroyed is much less fun.
2015-06-05 01:36:42 +02:00
Dimitri Schoolwerth
31145b8e3a Fix some typos, no code changes (besides strings) 2015-06-05 02:54:46 +04:00
Artur Wieczorek
f7322af25e Replace wxChar with wxStringCharType in wxPropertyGrid code. 2015-06-04 22:51:34 +02:00
Ilya Bizyaev
5973ad196e Delete dummy.txt 2015-06-04 19:26:46 +02:00
Jan van Dijk
72a4c3a4d0 Don't test if a reference is null, this cannot happen.
Testing for null references is unnecessary and just results in clang warnings.

Closes #17016.
2015-06-03 17:08:30 +02:00
Catalin
d31cfba540 Fixed wxAppConsole spelling in the comments. 2015-06-03 17:14:09 +03:00
Artur Wieczorek
85a76d2d61 Fix calculating width of columns in the wxPG header.
When calculating widths of columns in the header there is necessary to take into account also width of the vertical scrollbar in the grid, if it exists. When scrollbar is ignored in calculations then we get wrong width of internal border and in result the columns of the header don't match the columns of the grid (this issue can be observed in the propgrid sample).
2015-06-01 20:19:11 +02:00
Artur Wieczorek
2d5beca260 Refactor: share duplicated code in the internal class wxPGHeaderCtrl.
Because code responsible for determining widths of all columns is duplicated in OnPageUpdated() and OnColumWidthsChanged() methods it can be moved to the new shared method DetermineAllColumnWidths().
Method DetermineColumnWidth() used now to determine width of the one column only is no longer necessary and can be removed.
2015-06-01 20:06:58 +02:00
Vadim Zeitlin
39b9a6bbeb Don't generate bogus root item selection events in wxMSW wxTreeCtrl.
Setting focus to the control when receiving a selection event can result in
another selection event being generated by the control itself if it hadn't had
any selection before, which is completely artificial, i.e. doesn't correspond
to any user action, and so has to be suppressed.

Closes #16999.
2015-06-01 00:40:26 +02:00
Vadim Zeitlin
e78b57308f Get rid of wxListCtrl::m_count in wxMSW.
This simplifies the code and fixes the bug with GetItemCount() returning wrong
(old) value in wxEVT_LIST_INSERT_ITEM event handler as m_count wasn't updated
by then yet.

Closes #3793.
2015-06-01 00:32:09 +02:00
Vadim Zeitlin
5cdace59e8 Remove redundant call to wxGenericDirCtrl::Init() from Create().
Only ctors call Init(), by convention, and doing it again from Create() is
unnecessary.
2015-06-01 00:22:52 +02:00
Artur Wieczorek
7d6f71bc5e Replaces references to wxS("") with wxEmptyString in wxPG. 2015-05-31 19:20:14 +02:00
Artur Wieczorek
67bfb78ace Replace wxT() with wxS() in wxPropertyGrid code. 2015-05-31 19:20:11 +02:00
Vadim Zeitlin
f6d5f9728c Don't use arrays indexed by font weight/styles in wxSVGFileDC.
This is not natural for the non-consecutive values of the font styles and
doesn't properly check for the array indices being valid, resulting in static
analysis tools warnings about a possibly out of bound array access.
2015-05-31 18:14:17 +02:00
Vadim Zeitlin
c485f44ba0 Use GetMenuItemInfo() instead of GetMenuString() in wxMSW MDI code.
This allows to detect errors with retrieving the item label more reliably as
GetMenuItemInfo() sets the last error correctly while GetMenuString() doesn't
seem to always do it and some users report apparently bogus debug messages
about its failure.
2015-05-31 18:00:44 +02:00
Artur Wieczorek
65dee275f2 Fix minor typos in comments. 2015-05-30 20:12:02 +02:00
Artur Wieczorek
ff685a7a4c Use wxID_ANY symbol for internal wxPG controls. 2015-05-30 20:10:09 +02:00
Artur Wieczorek
6dfd6f4930 Use wxSizerFlags instead of multiple argument Add() overload when constructing sizers in wxPG.
Set sizer flags in wxLongStringProperty::DisplayEditorDialog and wxPGArrayEditorDialog::Create in this more convenient way.
2015-05-29 21:05:30 +02:00
Artur Wieczorek
a210cb0bbf Don't use wxALIGN_CENTRE_VERTICAL flags when adding item to the vertical sizer in wxPG.
This flag shouldn't be used in vertical sizers (in wxLongStringProperty and wxPGArrayEditorDialog) because vertical alignment flags are ignored in such sizers and the assertion message is thrown in wxBoxSizer::DoInsert. This can be observed e.g. in propgrid sample when there is launched wxLongStringProperty or ArrayDoubleProperty editor.
2015-05-29 20:56:42 +02:00
Vadim Zeitlin
ee0536f964 wxOSX: don't call strlen() on possibly null pointer.
Use wxCharBuffer::length() instead, this is more efficient and safer as it
correctly returns 0 in case the conversion fails.

Closes #9967.
2015-05-29 16:35:44 +02:00
Vadim Zeitlin
fda09f917a Fix wxFileName::MakeRelativeTo() for directory relatively to itself.
The expected result in this case is ".", but the filename became empty instead
when wxPATH_NATIVE was used.

Fix this by examining GetFormat(format), which takes care of mapping
wxPATH_NATIVE to its real value, instead of wxPATH_NATIVE itself.

Also add a unit test verifying that this works as expected.

Closes #17010.
2015-05-29 16:23:17 +02:00
Artur Wieczorek
0508087ce2 Reduce the scope of variables using to indexing single loop only.
And adjust their types if necessary (to have uniform types in the test expression).
2015-05-28 19:39:14 +02:00
Artur Wieczorek
6908275ed2 Use wxDynamicCast() instead of IsKindOf() checks. 2015-05-28 19:20:12 +02:00
Artur Wieczorek
01cf62684c Use wxPGProperty::GetDepth() getter.
Use it instead of getting direct access to the corresponding member variable.
2015-05-27 21:15:28 +02:00
Artur Wieczorek
f740e5f784 Optimize wxNumericPropertyValidator::Validate method.
Remove second unnecessary casting from wxWindow to wxTextCtrl and use wxTextCtr::IsEmpty() function to check directly if the text control contains any text instead of examining retrieved string value.
2015-05-27 21:13:09 +02:00
Dimitri Schoolwerth
3f94084e29 Add DND move support on OS X
The drag mask passed by Cocoa is conservative and doesn't include
NSDragOperationMove which was added later. Override
draggingSourceOperationMaskForLocal to include that flag if it's wanted.

This also moving of text the default behaviour.

Closes #13819.
Closes #14726.
2015-05-27 20:20:17 +04:00
Dimitri Schoolwerth
143a8203bd Fix dragging always resulting in wxDragLink on OS X
Commit f40e8bf uncovered a problem with dragging where when the
NSDragOperationLink bit is set in the drag mask (which by default always
is the case) the result is a wxDragLink operation instead of wxDragCopy
or wxDragMove. To fix this give priority to move and copy instead when
converting the drag mask to a wxDrag result.

This fixes copying through DND in wxRichTextCtrl.

See #13819.
2015-05-27 20:20:12 +04:00
Dimitri Schoolwerth
f40e8bff69 Fix mouse cursor not changing on OS X during DND
The cursor almost always looks like the one used for copying. Add
missing breaks in a switch statement to fix this.

See #14726.
2015-05-27 20:10:39 +04:00
Dimitri Schoolwerth
ddbfe5720e Refactor some DND code in wxOSX/Cocoa
To reduce duplication of the same changes, merge the nearly identical
wxWidgetCocoaImpl::draggingEntered and draggingUpdated into private
function wxOnDraggingEnteredOrUpdated.
2015-05-27 19:08:22 +04:00
Artur Wieczorek
bb27596219 Use wxPropertyGridPage::GetToolId() getter to get tool ID.
Use it instead of getting direct access to the corresponding member variable.
2015-05-26 21:15:19 +02:00
Artur Wieczorek
a6bdfa7fd0 Use variable of type wxEventType to store the value returned by GetEventType function.
Since wxEvent::GetEventType() returns wxEventType value the variable used to hold returned value should be also of the same type.
2015-05-26 21:13:13 +02:00
Artur Wieczorek
7e14b6e61f Fixed setting validation flags in the editor validation function (wxPropertyGrid::DoEditorValidate).
Currently, validation flags are initialized when post-process validation is invoked (in wxPropertyGrid::PerformValidation) and when first editing operation fails earlier on the pre-process validation (in wxPropertyGrid::DoEditorValidate) then these flags are not initialized and no validation error message is displayed.
Hence validation flags should be initialized in both validation functions.
2015-05-26 21:09:30 +02:00
JulianSmart
5251766edc Merge branch 'master' of https://github.com/wxWidgets/wxWidgets 2015-05-26 12:17:38 +01:00