Commit Graph

34089 Commits

Author SHA1 Message Date
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
Vadim Zeitlin
fa1c3ecfa6 Factor out wxMaxWidthCalculatorBase from wxDataViewCtrl code.
This will allow reusing it elsewhere, notably in the generic wxListCtrl.

See #10326.
2015-03-11 22:03:14 +01:00
Jouk
1682000241 Add addremovectrl.cpp to OpenVMS makefile 2015-03-11 15:47:54 +01:00
Vadim Zeitlin
fe33cfc83f Add wxProcess::Activate() and implement it for MSW.
When launching child processes it can be convenient to be able to switch to
them later, provide a method in wxProcess to do it.

Currently this is only implemented in wxMSW but could almost certainly be done
for wxOSX too (it can be done using Apple Script, so presumably there is a way
to do it programmatically as well) and could be also made to work at least
under some Unix systems by emulating what wmctrl does (or just launching it?).
2015-03-10 20:31:24 +01:00
Vadim Zeitlin
bcacb4467e Make wxLogGui::Flush() exception safe.
Don't suspend the logs forever if showing the log dialog throws an exception
(this is unlikely but may happen when running unattended GUI tests or using
the dialog hooks throwing exceptions for any other purpose).
2015-03-09 19:41:50 +01:00
Václav Slavík
6b8b3ee379 Only use NSCriticalAlertStyle for serious questions
Don't use NSCriticalAlertStyle for wxICON_WARNING unconditionally, this
was a violation of the OS X guidelines. According to the hig HIG,
NSCriticalAlertStyle (aka caution icon) is only appropriate in rare
cases and only if the user is performing a task that might result in the
inadvertent and unexpected destruction of data.

It therefore doesn't make sense to use it for information warnings, but
only for _questions_, and so NSCriticalAlertStyle is only used if a
combination of wxICON_WARNING with either wxYES_NO or wxCANCEL is used.
2015-03-07 16:15:51 +01:00
Vadim Zeitlin
1b61975fba Avoid refreshing not currently visible items in generic wxListCtrl.
This is useless at best and resulted in GTK+ warnings because we ended up
(somehow -- is there another bug lurking here?) with negative items height in
this case.

Closes #16862.
2015-03-02 14:36:13 +01:00
Vadim Zeitlin
3bec79d71c Fix harmless warning about implicit double to char conversion.
Round the double value before passing it to wxColour::Set() instead of relying
on the implicit conversion which is dangerous and correctly flagged as such by
g++.
2015-03-01 02:05:28 +01:00