Commit Graph

33946 Commits

Author SHA1 Message Date
Vadim Zeitlin
cbc3a5bbf2 Export wxTranslateFromUnicodeFormat() from DLL to allow testing it.
This should fix the build after adding the unit tests for this function in
adbc9863b2.

Closes #16118.
2015-04-10 16:15:56 +02:00
Dimitri Schoolwerth
adbc9863b2 Handle quotes in wxTranslateFromUnicodeFormat.
When parsing Unicode date formats text inside single quotes should not be
escaped and instead treated as literal text. In addition two single quotes
(either inside or outside quoted text) should be interpreted as a single
quote.

Fixes #16118.
2015-04-09 04:39:35 +04:00
Vadim Zeitlin
a5988a0389 Fix invalid use of wxSizer flags inside the library itself.
It doesn't make sense to use wxALIGN_CENTRE_VERTICAL with wxGROW, so remove
the alignment style.
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
16c22794b7 Give error messages for invalid sizer flags in XRC wxSizer handler.
This allows to give the exact line number of the error, unlike asserts that
happen in wxSizer code which don't point exactly to the error location when
sizers are created via XRC.

It also has the advantage of allowing to detect wrong use of wxALIGN_LEFT and
wxALIGN_TOP, unlike the asserts which can't do it because the value of both of
these flags is 0.
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
58114f22c3 Detect the use of incompatible flags for wxGridSizer too.
Complain if wxEXPAND is combined with both horizontal and vertical alignment
flags, as this doesn't make sense and, moreover, the behaviour has changed
since the last commit: now wxEXPAND is ignored instead of overriding the
alignment flags if they are combined.
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
9aaa38c7c8 Make it possible to combine wxEXPAND and alignment in wxGridSizer.
Allow overriding wxEXPAND effect in one of the directions by specifying
wxALIGN_{RIGHT,BOTTOM} or wxALIGN_CENTRE_{HORIZONTAL,VERTICAL} together with
it (unfortunately this doesn't work for wxALIGN_{LEFT,TOP} as their value is 0
and so their presence in flags can't be detected).
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
78b98bf00c Validate wxBoxSizer flags instead of silently ignoring invalid combinations.
Detect using flags corresponding to the major sizer direction (which doesn't
make sense as only the proportion governs the behaviour in this direction) and
also combinations of alignment flags with wxEXPAND.
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
636d08323f Assert if incompatible sizer flags are used.
We can't check for all the invalid combinations, but at least check for
wxALIGN_CENTER_HORIZONTAL+wxALIGN_RIGHT and wxALIGN_CENTER_VERTICAL+
wxALIGN_BOTTOM which never make sense and can be detected.
2015-04-08 23:35:18 +02:00
Dimitri Schoolwerth
66cfa40643 Deal with remaining cvs/svn keywords.
A few $Id$ references remained after commit
3f66f6a5b3 or appeared in newly added files.
Remove the lines containing svn keywords except when it concerns
third-party files. In that case keep the line as-is or collapse it to the
keyword if it had been expanded to contain wx commit information (only
occurs with src/zlib/ChangeLog).
2015-04-09 03:32:23 +04:00
Vadim Zeitlin
89a791a938 Fix typo in wxUSE_LONGLONG check.
The recently added check had a typo in the constant name.

Closes #16939.
2015-04-05 20:06:09 +02:00
Artur Wieczorek
119e67d959 Only use wxDateTime in wxRichTextPrintout::SubstituteKeywords() if available.
Don't expand date and time fields if wxUSE_DATETIME==0.

See #16939.
2015-04-05 20:02:37 +02:00
Artur Wieczorek
0091246427 Only use wxDateTime in wxHtmlPrintout::TranslateHeader() if available.
Code using wxDateTime when preparing header should be active only if
wxUSE_DATETIME==1.

See #16939.
2015-04-05 19:57:20 +02:00
Artur Wieczorek
07d43d96aa Only use wxDateTime in wxMSW wxHandleFatalExceptions() if available.
Code using wxDateTime in wxHandleFatalExceptions() should be active only if
wxUSE_DATETIME==1.

See #16939.
2015-04-05 19:56:02 +02:00
Artur Wieczorek
01dde21e68 Handle wxLongLong wxConvertAnyToVariant only if wxUSE_LONGLONG==1.
Code responsible for handling wxLongLong datatype in wxConvertAnyToVariant()
should be active only if wxUSE_LONGLONG is enabled.

See #16939.
2015-04-04 17:52:46 +02:00
Artur Wieczorek
d8922744cf Use wxMilliClock_t to store values returned by wxGetLocalTimeMillis().
This fixes wxComboCtrl compilation with wxUSE_LONGLONG==0 as wxMilliClock_t is
always mapped to the proper base type and hence can be used even if wxLongLong
type is not defined.

See #16939.
2015-04-04 17:51:40 +02:00
Artur Wieczorek
a088915a56 Handle wxDateTime data in wxDataViewModel only if wxUSE_DATETIME==1.
Code using wxDateTime datatype in wxDataViewModel::Compare should be active
only if wxUSE_DATETIME is enabled.

See #16939.
2015-04-04 17:51:22 +02:00
Artur Wieczorek
6d3fd35d0c Check if wxPGProperty is visible when it is attempted to refresh it.
Check if property page state (not its parent state) is the same as selected page state before refreshing.

Closes #16922.
2015-04-04 10:16:53 +02:00
Artur Wieczorek
5158ce4944 Add wxPropertyGridInterface::SetPropertyValue setter for native datatypes wxLongLong_t and wxULongLong_t.
And fix typo in wxUSE_LONGLONG macro name.
2015-04-04 00:33:25 +02:00
Artur Wieczorek
7c6943175b Prepare wxPG to build successfully when wxUSE_LONGLONG or wxUSE_DATETIME is disabled.
Make the code ready to build even when wxLongLong and wxDateTime types are not available.
2015-04-03 21:12:54 +02:00
Artur Wieczorek
cc575a7a89 Use in wxPG classes wxMilliClock_t variables to store values returned by wxGetLocalTimeMillis() function.
wxMilliClock_t is always mapped to the proper base type and hence can be used even if wxLongLong type is not defined (when wxUSE_LONGLONG is disabled).
2015-04-03 21:11:15 +02:00
Artur Wieczorek
6a7b95f419 Use predefined constants to represent common wxPG variant types (cont.).
Instead of using individual string literals use globally defined constants representing wxPG variant types (wxLongLong, wxULongLong, wxArrayInt, etc.).
2015-04-03 21:09:12 +02:00
Vadim Zeitlin
d89d730900 Fix bug with clearing shared alpha channel in wxImage::ClearAlpha().
Allocate our own exclusive copy of the data before modifying it, otherwise
calling ClearAlpha() would clear alpha not only for the image it was called on
but also for all the other images sharing data with it.
2015-04-01 14:36:35 +02:00
kkrev
2349bce2c4 Add wxTreeListCtrl::EnsureVisible().
Just forward this to the wxDataViewCtrl method with the same name.

Closes #16937.
2015-03-31 21:57:16 +02:00
Artur Wieczorek
d00c184ec8 Simplify declaration and definition of some wxPropertyGridInterface::GetPropertyValueAsXXX methods.
For IMPLEMENT_GET_VALUE macro which is used to implement specialized methods (for bool and double types) define additional parameter to provide explicitly corresponding wxPG type name. With this additional parameter it is not necessary to maintain a separate list of constants containing wxPG type names only for the purposes of this macro and globally defined literals can be used instead.
2015-03-30 23:57:51 +02:00
Artur Wieczorek
4e7fbd4e92 Use predefined constants to represent wxPG variant types.
Instead of using individual string literals use globally defined constants representing wxPG variant types.
2015-03-29 21:42:58 +02:00
Artur Wieczorek
5353a00180 Use wxVariant::IsType() function to check the type of variant values in wxPG.
Since there is a dedicated function to check the type of variant then there is not necessary to call wxVariant::GetType() function and perform explicit comparisons of returned strings.
2015-03-29 21:41:52 +02:00
Vaclav Slavik
91b1ee05c0 Use IsThisEnabled() for wxActivityIndicator appearance
Determine the enabled state using IsThisEnabled() instead of
IsEnabled(), because the latter returns false if the entire window is
disabled without its appearance being affected, e.g. if another window
is shown modally.
2015-03-29 11:08:27 +02:00
Vadim Zeitlin
8ef14b52c3 Don't use "ascent" field of Scintilla Font class any more.
This field will be removed in Scintilla 3.5.5.

See #16776.
2015-03-29 03:11:17 +02:00
Vadim Zeitlin
fec1dcbd73 Don't send events for already selected radio popup menu items.
Selecting an already selected radio menu item didn't generate any events in
wxGTK nor in wxMSW with the top level (i.e. attached to a menu bar) menus but
did send them for popup menus under MSW.

Make the last case consistent with the rest of them and don't send any events
in this case neither.

Closes #16891.
2015-03-23 01:11:34 +01:00
Vadim Zeitlin
3cd55d9775 Fix format specifiers used in wxLog::LogLastRepeatIfNeeded().
Use "%u", not "%lu", for an unsigned parameter to fix asserts under 64 bit
platforms.

Closes #16918.
2015-03-22 00:59:57 +01:00
Paul Cornett
a1fe2f920b non-pch build fix 2015-03-19 21:22:49 -07:00
Vadim Zeitlin
5d5d6e84cb Compilation fix for PCH-less build after bc492a9.
Include wx/dcscreen.h explicitly now that it is used in the default
wxWindow::GetContentScaleFactor() implementation.
2015-03-20 01:39:48 +01:00
Artur Wieczorek
7a0123ea8e Fix regression in wxMSW wxDC::SetAxisOrientation().
Don't mix signed/unsigned integers in arithmetic operations when normalizing
wxDC scale factors: variable holding GCD value should be of the same type as
variables holding devExt and logExt to avoid wrong results of /= operation
when dividend is a negative value.

Closes #16908.
2015-03-20 00:20:10 +01:00
Vadim Zeitlin
d2ddb2c7c0 Add XRC handler for wxActivityIndicator control.
The only attribute for this control is a boolean "running" which can be set to
start the indicator on load.

Update the schema, documentation and the XRC sample.
2015-03-20 00:08:38 +01:00
Vadim Zeitlin
3f84cb17ca Add wxActivityIndicator control.
This is a simple animated control indicating some program activity.

Provide native GTK+ (for > 2.20) and OS X implementations as well as a generic
one used under MSW.

Update the sample and the documentation.
2015-03-20 00:08:37 +01:00
Vadim Zeitlin
00748bbaef Add wxWindow::FromDIP() for simpler high DPI support.
This method allows to scale a pixel value by a DPI-dependent factor to the
value used by the underlying toolkit only if necessary, i.e. when not using
GTK+ 3 or OS X which already do this internally.
2015-03-20 00:08:37 +01:00
Vadim Zeitlin
bc492a9e6e Make wxWindow::GetContentScaleFactor() useful for non-OSX platforms.
Return the ration of the current DPI to the standard one to allow using this
function to scale pixel values for the current screen resolution.
2015-03-20 00:08:37 +01:00
Vadim Zeitlin
6ed1d71bd1 Convert a few files from DOS to Unix EOLs.
There is no reason for using CR LF for these files, convert them to LF.
2015-03-19 21:45:38 +01:00
Vadim Zeitlin
4c72988c82 Convert really all CRLF files to use LF in the git repository.
This completes the changes of c3e5751c36.
2015-03-19 21:09:08 +01:00
Vadim Zeitlin
0e2d9e539c Fix wxGenericListCtrl autosizing after deleting all its items.
Set bNeedsUpdate flag for all columns even when the control is already empty,
this ensures that things will work if more items are added to it later.

See #10326.
2015-03-19 16:38:36 +01:00
Vadim Zeitlin
44e3c50839 Compilation fix for wxGTK3 after PangoFontFace fix.
Bracket the changes of 54e653d044 with a glib
version check: g_type_ensure() is only available in 2.34+.

See #16820.
2015-03-19 14:49:00 +01:00
Artur Wieczorek
fad1ec7ce8 Determine whether a new element is added to the list in wxPGArrayEditorDialog when its editing is started.
New element can be added to the list not only by clicking "New item" button but also by clicking under the last element of the list and we need to determine its index in both cases because it is used later on in wxPGArrayEditorDialog::OnEndLabelEdit event handler.

Closes #16905.
2015-03-18 19:04:29 +01:00
Artur Wieczorek
35379a9633 Set layout direction of wxComboBox edit control only if it exists.
Doesn't update layout direction of edit control if wxComboBox is in read-only
mode because editor control doesn't exist in this case.
2015-03-13 19:31:32 +01:00
Vadim Zeitlin
5a44f8ea70 Don't use wxLog from wxWakeUpMainThread() in wxMSW.
This can result in infinite recursion as wxLog calls wxWakeUpIdle() which
calls wxWakeUpMainThread() again if PostThreadMessage() fails.

See #16841.
2015-03-12 16:36:48 +01:00
Scott Talbert
54e653d044 Ensure the PangoFontFace type is loaded.
This works around problems with using wxFontDialog from wxPython.

Closes #16820.
2015-03-12 14:02:48 +01:00
Steve Browne
7f0963dcf7 Implement wxWindow::Disable() for non-native controls in wxOSX.
Previously disabling generic window simply didn't do anything.

Fix this by explicitly refusing to generate mouse/keyboard events for it.

Closes #13155.
2015-03-12 13:37:17 +01:00
Richard Broker
009abf22b7 Also avoid inheriting std{out,err} pipes in wxMSW wxExecute().
Fix possible deadlock in the child which would happen if it continued to
produce output after the parent, that used wxExecute() with IO redirection to
launch it, exits.

Do this by preventing the child from inheriting the read ends of the standard
output and error pipes, just as it was already done for the write end of the
standard input pipe.

Closes #16898.
2015-03-12 13:29:09 +01:00
Richard Broker
a934346614 Use SetHandleInformation() to make handle non-inheritable in wxMSW.
Simplify the code in wxExecute() by using SetHandleInformation() to make the
handle non-inheritable instead of duplicating it to achieve the same goal (the
old code worked under Windows 9x too, unlike the new one, but we don't care
about them any more).

See #16898.
2015-03-12 13:29:01 +01:00
Steve Browne
96a8240e87 Fix toggling of radio tools in wxOSX wxToolBar.
Always call NSButton::setState(), even when using native toolbar.

Closes #16662.
2015-03-12 13:08:39 +01:00
Kinaou Hervé
de7e315557 Correct implement wxLIST_AUTOSIZE_XXX in the generic wxListCtrl.
Use both the contents and the header width when wxLIST_AUTOSIZE_USEHEADER is
given instead of just the latter.

Also make both wxLIST_AUTOSIZE_USEHEADER and the previously implemented
wxLIST_AUTOSIZE work efficiently for the virtual list controls by reusing
wxMaxWidthCalculatorBase already used in the generic wxDataViewCtrl.

Closes #10326.
2015-03-11 22:03:14 +01:00