Commit Graph

16717 Commits

Author SHA1 Message Date
Artur Wieczorek
0bc20fee71 Non-PCH wxPG build fix after cc575a.
Include time.h to get wxMilliClock_t used now instead of wxLongLong for the timestamp.
2015-04-06 23:40:54 +02:00
Artur Wieczorek
830458af2b Non-PCH build fix after d892274.
Include time.h to get wxMilliClock_t used now instead of wxLongLong for the
timestamp.

Closes #16939.
2015-04-06 22:23:43 +02:00
Vadim Zeitlin
8577366bae Add check for wxUSE_ADDREMOVECTRL dependency on wxUSE_BMPBUTTON.
This should, in particular, fix the currently broken wxiOS build as
wxBitmapButton is not available in that port.
2015-04-06 22:15:26 +02:00
Artur Wieczorek
a679d0440c Check for wxUSE_RICHTEXT dependencies in wx/chkconf.h.
wxRichTextCtrl requires wxHTML and wxLongLong, check for the options
consistency.

See #16939.
2015-04-05 20:02:19 +02:00
Artur Wieczorek
93b9126fe5 Check for wxUSE_STC dependency on wxUSE_STOPWATCH.
wxStyledTextCtrl requires wxStopWatch, so check that wxUSE_STOPWATCH is set if
wxUSE_MEDIACTRL is.

See #16939.
2015-04-05 19:59:36 +02:00
Artur Wieczorek
2e26d30bcc Check for wxUSE_MEDIACTRL dependency on wxUSE_LONLONG.
wxMediaCtrl requires wxLongLong, so check that wxUSE_LONLONG is set if
wxUSE_MEDIACTRL is.

See #16939.
2015-04-05 19:59:33 +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
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
ffd2857571 Fix vertical alpha adjustment in wxPixelData<wxImage>::Offset().
Handle "y" parameter correctly when offsetting m_pAlpha, it was just ignored
before, i.e. Offset(x, y) and OffsetY(y) always behaved as if y were 1.
2015-04-01 14:15:11 +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
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
Vadim Zeitlin
94c4d37c82 Disable wxUSE_ACTIVITYINDICATOR for non-MSVC compilers under MSW.
Don't give errors in the default configuration for MinGW makefile builds in
which wxUSE_GRAPHICS_CONTEXT is disabled, but wxUSE_ACTIVITYINDICATOR is
enabled.

Instead, disable wxUSE_ACTIVITYINDICATOR implicitly for them, this is not
ideal but better than broken build.
2015-03-24 13:18:47 +01:00
Artur Wieczorek
ecbfa2c122 Disable wxUSE_ACTIVITYINDICATOR if wxUSE_GRAPHICS_CONTEXT==0.
wxActivityIndicatorImpl requires wxGraphicsContext to compile successfully (it
is used to implement anti-aliased drawing of the control).

Add a check to enforce this.

Closes #16921
2015-03-22 00:56:53 +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
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
Vadim Zeitlin
4f846f72de Don't attempt using <type_traits> with g++ 4.9.2 in C++98 mode.
g++ 4.9.2 added support of __has_include() but, unlike clang, refuses to
compile the <type_traits> header that is detected as existing now in C++98
mode, so the build was broken with it when not using configure (i.e. under
MSW).

Fix this by, first, testing for C++11 compilers separately (which seems like a
good idea anyhow as it will allow using these headers with other compilers)
and, second, not trusting g++ __has_include() for C++11 headers in C++98 mode.
2015-03-17 23:55:46 +01:00
Vadim Zeitlin
6b84e6e1b9 Slightly improve out of memory handling in wxMemoryBuffer.
Reset not only m_data but also m_size and m_len to 0 if we run out of memory.

Closes #4500.
2015-03-13 16:58:37 +01:00
Vadim Zeitlin
b8f6cb417c Fix PCH-less build after the last commit.
Add missing wx/log.h inclusion.
2015-03-11 23:53:59 +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
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
Václav Slavík
94fc40b7ea Make semantic wxICON_XXX styles the canonical ones
Make wxICON_WARNING and wxICON_ERROR the primary constants for their
purpose and define their visual Windows-based synonyms wxICON_HAND and
wxICON_EXCLAMATION in terms of the semantic ones, instead of the other
way around.
2015-03-07 16:15:51 +01:00
Vadim Zeitlin
b7388f36f2 Change wxFD_MULTIPLE value to avoid conflict with wxDIALOG_NO_PARENT.
This avoids GTK+ warnings about creating a dialog without parent when a
wxFileDialog with wxFD_MULTIPLE style is created.

Closes #16863.
2015-03-02 14:32:53 +01:00
Bryan Petty
3fb1827c93 Merge pull request #19 from lanurmi/spelling-fix-occurrrrrrrr
Fix spelling of occur* in random files.
2015-02-27 12:06:28 -07:00
Artur Wieczorek
5068dddb17 Remove obsolete comments regarding wxPGEditor::CreateControls.
Constants which are mentioned in the comment are not used since r76882.
2015-02-26 19:29:05 +01:00
Lauri Nurmi
8a2ccd9cf7 Fix spelling of occur* in random files. 2015-02-21 20:01:23 +02:00
Bryan Petty
29eb2a71c0 Update SVN references to git, mostly in docs. 2015-02-20 20:07:15 -07:00
Julian Smart
0df45db7f6 Now uses the correct font and text effect when drawing bullet text.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-18 17:37:12 +00:00
Julian Smart
8cf3e90650 Now allows space for a bullet even if no left subindent was specified; added a MeasureBullet function to support this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-18 12:18:27 +00:00
Dimitri Schoolwerth
f9876c519e Fix exception when creating a wxGauge.
Platforms that don't make use of wxGaugeBase::Create when creating a
wxGauge (such as GTK and MSW) access the uninitialised
m_appProgressIndicator. Fix by initialising m_appProgressIndicator to NULL
in the wxGaugeBase constructor. Regression since r78499.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-17 06:19:22 +00:00
Dimitri Schoolwerth
11a5b83e2c Add OS X implementation of wxAppProgressIndicator.
Closes #16638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-15 20:09:10 +00:00
Dimitri Schoolwerth
0e6af4ac39 No code changes, fix some typos.
Change several occurrences of "it's" where "its" is meant, as well as a few other minor typos.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-15 17:11:44 +00:00
Artur Wieczorek
b37d50db1d Initialize wxPGChoices object properly in its copy ctor if source object has no data.
Internal data must be always initialized whether the source object contains choices data or not.

Closes #16855

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-13 19:42:07 +00:00
Vadim Zeitlin
a82152f7e3 Use non-static reentrancy guard in wxScrollHelper::AdjustScrollbars().
This prevented calls to AdjustScrollbars() of another window from doing
anything if they were called due to a size change from AdjustScrollbars() of
an outer window.

Closes #16852.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-13 19:36:06 +00:00
Vadim Zeitlin
67f2950cb1 Add convenient wxST_ELLIPSIZE_MASK constant.
This is simply a combination of all 3 different wxST_ELLIPSIZE_XXX styles and
makes it simpler to test if any of them is specified.

No real changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 21:16:08 +00:00
Mariano Reingart
c3543d4f39 Re-introduce private mbstowcs/wcstombs for wxQt-Android
These functions are needed due Android NDK lacking wide character support, 
as wchar_t == char according to Android NDK bionic libc/include/wchar.h

WARNING: They are minimally functional (provided provisorily until proper 
         workaround is found, specially maybe using Qt built-in functionality).

         "Basically they produce complete garbage with non-ASCII characters"

For more info see discussion in wx-dev list:

https://groups.google.com/d/msg/wx-dev/71qtIFcujgM/Q-lbwl59vOIJ

Thanks @seandepagnier (modified a bit the comments, added #warning and 
restructured #if blocks to be only specific for __ANDROID__)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 06:12:33 +00:00
Mariano Reingart
744ea8a618 For Android (wxQT), add private wcstol, wcstoul and wcstod
These functions are needed by wxString::ToLong wxString::ToDouble etc..
They do exist in the android library, but do not work corretly.

This change implements them using strtol strtoul and strtod

For more info see discussion in wx-dev list:

https://groups.google.com/d/msg/wx-dev/71qtIFcujgM/TRCfCjGHUhEJ

Thanks @seandepagnier (modified a bit the comments)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 04:36:24 +00:00
Vadim Zeitlin
6ad2d4f264 Fix handling of disabled cells in wxGTK wxDataViewCtrl.
The original code (see r66404 and r66416) didn't work because it used
wxDataViewRenderer::SetMode() to make the renderer inactive but then used its
GetMode() to restore the previous state -- which was lost. The result of this
was that if the overridden IsEnabled() in the model ever returned false for
any row, all the cells in this column, in all the rows, became insensitive, as
could be seen by the inability to edit any rating in the first page of the
dataview sample (even though it was disabled for a single row only) and any
checkboxes on its third page (even though only the last two of them were
supposed to be disabled).

Fix this simply by making the renderer insensitive at GTK level only, but do
not change the mode at wx level.

See #12686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-10 23:14:48 +00:00
Vadim Zeitlin
48c6d036f9 Add check for wxUSE_ADDREMOVECTRL being defined.
This should have been part of r78462.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-10 23:14:44 +00:00
Vadim Zeitlin
453897149f Add wxAddRemoveCtrl class.
This is a simple high level helper combining an arbitrary control showing
multiple items with the buttons allowing to add items to and remove items from
this control, but using the buttons and the layout appropriate for the current
platform.

Add the implementation itself, an example of using it to the dialogs sample
and the documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-09 00:26:11 +00:00
Vadim Zeitlin
adb339078e Add an accessor for GtkToolbar widget of wxToolBar.
This can be used to customize the toolbar beyond the capabilities of wx API.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-09 00:25:51 +00:00
Artur Wieczorek
35b53a8c30 Replace WX_PG_IMPLEMENT_PROPERTY_CLASS macro with simplified wxPG_IMPLEMENT_PROPERTY_CLASS macro.
New macro have no obsolete parameters and its name conforms to the naming standard (prefixed with wx).

Closes #15541

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-04 16:46:34 +00:00
Artur Wieczorek
1127820164 Encapsulate wxPGProperty::m_children member variable.
Implement RemoveChild and SortChildren methods to perform operations on m_children member variable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-31 21:49:01 +00:00
Artur Wieczorek
9698181b45 Use getter/setter methods to get access to wxPGProperty::m_flags.
Use dedicated wxPGProperty::HasFlags, wxPGProperty::SetFlag methods to check or modify wxPGProperty::m_flags member variable.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-31 21:42:17 +00:00
Vadim Zeitlin
ad72c3429f Improve wxThread::SetPriority() comment and documentation.
Don't claim that SetPriority() can only be called before the thread is
created, this is just wrong.

Do document that it must be done after creating the thread in wxMSW (this is a
limitation of this port as POSIX implementation allows calling it at any
moment and could be lifted in the future).

Closes #16809.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-27 11:03:08 +00:00
Vadim Zeitlin
0eca25d395 Clarify wxExpectModal<> use and implementation.
The only change in this commit is the omission of the primary wxExpectModal<>
template as it's not needed and it's enough to just forward declare it,
otherwise the changes are to the comments only and try to better explain how
this class should be used, i.e. that it's not required, although it may be
convenient, to specialize it, and also how it is implemented, notably the need
for the CRTP in wxExpectModalBase<>.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:09:04 +00:00
Vadim Zeitlin
9ae625518d Use C++ RTTI in dialog testing code if wxRTTI is not available.
This allows to get the best possible description of the dialog: if its class
uses wxRTTI macros, its user-readable name will be used, but otherwise we now
fall back on possibly unreadable but still informative mangled C++ class name
rather than showing just "wxDialog" which is not useful at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:09:00 +00:00
Vadim Zeitlin
826320ca7b Cosmetic change to wxTestingModalHook error message.
Don't include the word "dialog" in it, by default the description is just the
class name and so typically already includes "dialog" in it, e.g. we could
have "Expected wxFileDialog dialog" which was redundant.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:57 +00:00
Vadim Zeitlin
677eb37619 Provide better description of the expected message boxes.
While the example in the previous commit message, with two identical
expectations, still requires a custom description to be have unambiguous
failure messages, in other cases it's enough to show the expected message box
buttons in the error to make it possible to immediately see which expectation
failed, so include the information deduced from the expected button into the
description.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:54 +00:00
Vadim Zeitlin
9099ae2ded Allow providing descriptions for dialog tests expectations.
This makes test failure errors much more intelligible, e.g. in the following
case

	... some code ...
	wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK));
	... some more code ...
	wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK));

it was previously impossible to distinguish the first test failure from the
second one from just the failure description (it could be done by looking at
the line numbers since the recent change however), but with

	...
	wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK).
		Describe("first warning message box"));
	...
	wxTEST_DIALOG(wxYield, wxExpectModal<wxMessageDialog>(wxID_OK).
		Describe("successful completion message box"));

the failure becomes immediately clear.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:51 +00:00
Vadim Zeitlin
95177f3876 Allow predefining wxTEST_DIALOG_HOOK_CLASS before wx/testing.h inclusion.
Although it already was (and remains) possible to #undef and re-#define
wxTEST_DIALOG_HOOK_CLASS after including wx/testing.h, it should also be
possible to just define it globally in the testing code before including
anything else and not have to bother with the #undef part.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:48 +00:00
Vadim Zeitlin
7231f2fdf5 Improve error reporting from wxTEST_DIALOG() macro.
Give the location (i.e. file name, line number and the name of the function)
at which this macro itself appears instead of the location of ReportFailure()
method inside wxTestingModalHook which was quite useless as it was the same
for all the tests.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:44 +00:00
Vadim Zeitlin
3dff63b563 Add wxASSERT_MSG_AT() and wxFAIL_MSG_AT() macros.
These macros are useful for functions called from other macros to allow
pretending that an assert inside such function actually happens at the point
in the sources where the macro itself appears.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:41 +00:00
Vadim Zeitlin
54d2b38643 Define wxTrap() as a macro for gcc on Intel platforms too.
It is more convenient to break into the debugger at the exact location of the
assert instead of inside a nested wxTrap() function.

This does the same thing for gcc/x86 as was done for MSVC in r73124.

See #11184.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:36 +00:00
Vadim Zeitlin
0499b8375f Fix typo in a comment for NewCloseButton().
s/common/current/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 22:08:32 +00:00
Artur Wieczorek
cafff4405a Use constant variables to store cached constants in wxPGGlobalVarsClass.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-22 17:32:48 +00:00
Artur Wieczorek
5788b4b3d9 Use polymorphism to differentiate behaviour of wxEnumProperty and wxEditEnumProperty.
Override OnSetValue(), StringToValue(), ValidateValue() methods instead of using RTTI in conditional statements to check if wxEditEnumProperty object is actually handled.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-21 17:28:43 +00:00
Artur Wieczorek
1bac5cfbe0 Refactor property attribute names in wxPGProperty::GetAttribute calls.
Use attribute constants instead of strings in wxPGProperty and wxPGDefaultRenderer classes and in NumericValidation() function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-21 17:06:16 +00:00
Artur Wieczorek
3100258aa1 Refactor wxPGSpinCtrlEditor.
Declare and use attribute constant instead of explicit string "MotionSpin".


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-21 16:59:46 +00:00
Artur Wieczorek
5675ba1e84 Function wxPGProperty::HasFlag should return Boolean value.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-19 20:19:26 +00:00
Artur Wieczorek
42a1064ea8 Implement deprecated wxPGProperty::GetValueString function only in wxPG 1.4 compatibility mode.
This function was marked as deprecated in 2008.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-19 19:58:32 +00:00
Artur Wieczorek
752938cecd Fix a hack implemented in wxEnumProperty::ValueFromString_ and wxEnumProperty::ValueFromInt_ functions.
wxEnumProperty code is refactored in order to fix a hack which purpose was (apparently) to bypass constness of these functions by caching determined indices in wxEnumProperty::ms_nextIndex static member variable for further processing. (Unclear concept of using this static member was referred in http://trac.wxwidgets.org/ticket/12779#comment:9)
Now, determined index is returned to the caller and processed there if necessary and hence caching of this index is not necessary.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-19 17:22:29 +00:00
Mariano Reingart
e67fbf1579 wxQT: move destroyed debug log into class method
(remove global function to handle destroyed signal)
This is needed for applications because the global function is not exported, yet it
is used by the opengl library.  An alternative is to add utils.cpp to the opengl library

Thanks @seandepagnier


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-19 02:57:06 +00:00
Vadim Zeitlin
a9549f1066 Fix checks for WXWIN_COMPATIBILITY_3_0: use #if, not #ifdef.
The deprecated methods were always available as WXWIN_COMPATIBILITY_3_0 is
always defined, we need to check its value and not its definedness.

Closes #16782.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-16 02:39:14 +00:00
Artur Wieczorek
7a9ae4aecf Fix using WXWIN_COMPATIBILITY_3_0 in conditional blocks in wxPG code.
Check the value of WXWIN_COMPATIBILITY_3_0 instead of checking whether it is defined.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-13 16:41:33 +00:00
Stefan Csomor
606838b515 removing overridden ProcessIdle, reverting that part of r75289
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-10 09:13:50 +00:00
Mariano Reingart
6022671ee5 Added new ctor for wxBitmap using wxCursor for wxQT (similar to wxGTK)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-04 03:51:57 +00:00
Mariano Reingart
2e21cc2607 Added missing ctor for wxBitmap using wxIcon for wxQT (taken from wxOSX)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-04 02:49:44 +00:00
Artur Wieczorek
d04c8569ca Optimize wxPGChoices::Set method.
There is no need to check if referenced array with values is 
valid since "reference cannot be bound to dereferenced null pointer in well-defined C++ code".
Moreover, conditional call of Add() methods(one with explicit parameter and one with default one) is not necessary.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-03 15:10:02 +00:00
Vadim Zeitlin
f3833aa067 Don't change MDI children order after showing a file dialog in wxMSW.
Don't use the generic focus saving/restoring code for wxMDIParentFrame in
wxMSW as it already saves and restores the active MDI child on its own and we
should let it do it, as our code could change the active child when restoring
focus if it hadn't been saved correctly previously.

The fact that it is isn't saved is another bug, but even if it is fixed, we
should let MSW MDI implementation handle activation as we can't do it any
better -- but can do worse, as the bug described in #16635 shows.

Closes #16635.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-03 01:07:53 +00:00
Vadim Zeitlin
7dd75c8844 Revert "Add support for reading multi string values to wxRegKey."
Reverts r78136 (see #15727) because the multi-string values in Windows
registry are actually not "name=value" pairs at all but just NUL-separated
strings and the API provided for reading them was inappropriate.

Also see #16719.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-27 14:24:52 +00:00
Vadim Zeitlin
e8374a47fe Allow setting hints for multi-line wxTextCtrl when supported.
Don't prevent people from using hints in wxMSW and wxGTK2, where they work
with multiline text controls too, even though they do not work with wxGTK3 nor
wxOSX.

Closes #14456.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-25 01:32:00 +00:00
Mariano Reingart
e2a0a4de4c Match the wxQT wxColour with public interface
Now the type of the value returned by Red, Green, Blue and Alpha methods are consistent with wxGTK and wxMSW.
This could fix ticket #16713 (symbols exported)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-24 20:02:57 +00:00
Mariano Reingart
9f009d128f Fix SIGSEGV due bad pointer in wxMessageDialog (wxQT)
m_qtWindow should be used instead of m_qtMessageBox (removed). If not, PostCreation() cannot call wxMessageDialog::GetHandle() as it is virtual (and it is called from the ctor), so it fails to set the base window pointer, raising a SIGSEGV in wxWindow::DoSetSize (for more info, see architecture in docs)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-24 19:19:27 +00:00
Vadim Zeitlin
f74be16b9c Remove unnecessary methods of wxCocoaOutlineDataSource.
{append,remove}Child() were never used, remove them to make it easier to
remove the use of "children" array itself later (see #16740).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-22 01:31:13 +00:00
Vadim Zeitlin
615b49692c Add GetDefaultType() to all standard wxDataViewRenderer-derived classes.
This makes it possible to refer to the associated wxVariant types without hard
coding the string constants, i.e. instead of writing "string" (error prone as
typos are not detected) it is now possible to write wxDataViewTextRenderer::
GetDefaultType().

This will also make it simpler to write generic (in C++ templates sense) code
using renderers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-20 21:51:54 +00:00
Tim Kosse
1966dfb17d Add Windows 10 support to wxGetWinVersion() and wxGetOsDescription().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-20 10:13:21 +00:00
Julian Smart
08f8f5311f Added shadows to box attributes, and relevant controls in the Background page.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-17 16:04:03 +00:00
Vadim Zeitlin
a580f0b994 Remove unnecessary wxUSE_MFC option.
This didn't do (almost) anything, so just remove it, using MFC and wxWidgets
together works just fine without it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-16 20:16:16 +00:00
Vadim Zeitlin
ea47af08cb Add wxEVT_MAGNIFY mouse event.
Currently this is implemented for wxOSX only.

Closes #14322.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-16 13:59:26 +00:00
Vadim Zeitlin
0795416871 Fix building with -std=gnu++11 -stdlib=libstdc++ under OS X.
Take into account the possibility of using C++11 compiler with non-C++11
standard library as this may happen when targeting OS X < 10.7, in which case
C++11 libc++ can't be used.

Closes #16730.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-16 13:49:59 +00:00
Stefan Neis
99d08bcc4b No real changes, just fixed a couple of typos in comments, fixes #16726.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-14 11:12:31 +00:00
Artur Wieczorek
6ba0f3016b Use wxBufferedPaintDC to implement double buffering in wxPG.
This also fixes drawing the PG when buffer is not available and there is necessary do draw directly on window DC.
wxPropertyGrid::DrawItems method is simplified and wxPropertyGrid::DoDrawItems method is reimplemented since its 3-rd argument (isBuffered) is unneeded anymore.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-12 22:36:28 +00:00
Vadim Zeitlin
0918246efa Restore Kolya Kosenko copyrights on parts of wxQt code.
The original code was originally submitted of #12042.

Closes #16721.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-10 01:04:11 +00:00
Artur Wieczorek
c193b83b6b Refactor: mark wxPropertyGridManager::SetId() as overridden virtual method.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-09 17:11:59 +00:00
Artur Wieczorek
de2f5898c4 Reconnect wxPropertyGridManager event handlers when wxPG id is changing.
Because some event handlers are bound to the particular id's they need to be reconnected when wxPG id is the subject of change.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-09 17:07:59 +00:00
Václav Slavík
26d6b58889 Use int& type for argc in wxInitialize and wxInitializer
Other functions that take (argc,argv) arguments (wxEntry, wxEntryStart)
take argc by reference, because they may manipulate the arguments list.
wxInitialize() used passing by value, so any modifications would be
silently lost. Make all the functions consistent in their handling of
argc by using int& everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-07 16:40:24 +00:00
Vadim Zeitlin
494b66b5fb Fix appearance of wxMSW wxToggleButtons with bitmaps in pressed state.
Correct the "pushed" state determination in our own drawn code, it didn't work
for wxToggleButton which doesn't return BST_PUSHED from BM_GETSTATE. But it
does have BM_GETCHECK returning its state directly, so add a new virtual
MSWIsPushed() method and implement it differently for it.

Closes #13755.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-07 01:52:42 +00:00
Vadim Zeitlin
8ae9dae3b4 Build fix for wxOSX after the changes of r78230.
Fix wrong signature of DoHandleMenuEvent() by getting rid of this function
entirely, it's not just a trivial wrapper for ProcessMenuEvent() anyhow, so
just use the latter directly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 23:09:04 +00:00
Vadim Zeitlin
bf08ea2666 Don't generate wxEVT_MENU_{OPEN,CLOSE} for disabled top menus in wxMSW.
Windows still sends these messages even if a top level menu is disabled, for
some reason, so filter them out manually.

Closes #2168.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:19:19 +00:00
Vadim Zeitlin
79f93d5535 No real changes, just make wxMenuBar::MSWGetMenu() const.
There is no reason not to.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:19:16 +00:00
Vadim Zeitlin
a2b0b8dbaa Handle updating tooltip text in wxCompositeWindow correctly.
While calling SetToolTip(wxToolTip*) overload already worked correctly for
wxCompositeWindow, using SetToolTip(wxString) did not if a tooltip already
existed, as it didn't use the virtual DoSetToolTip() in this case, resulting
in e.g. impossibility to update wxSpinCtrlDouble tooltip using this method.

Fix this by introducing DoSetToolTipText() virtual which is used by that
overload now and overriding it in wxCompositeWindow.

Also don't override DoSetToolTip() in wxSpinCtrlGenericBase any more, it is
not necessary as it's already done by its base class wxCompositeWindow.

Closes #16595.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:19:10 +00:00
Vadim Zeitlin
08fedc69ef No changes, just fixes for typos in comments in wxMSW headers.
Closes #16706.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:18:38 +00:00
Vadim Zeitlin
f1fd45892f Fall back to default process layout direction in wxMSW.
Add helper wxApp::MSWGetDefaultLayout() static method and use it instead of
wxTheApp->GetLayoutDirection() in wxMSW code.

This serves two purposes: first, wxMessageDialog doesn't crash when it's shown
before wxTheApp is created (or after it's destroyed) any more. And second, we
use the correct layout direction if the main application has enabled it by
calling SetProcessDefaultLayout() or using two U+200E characters in the
beginning of its "FileDescription" resource field by default now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:18:25 +00:00
Vadim Zeitlin
c6cd1a305e Don't put wxMenu::MSWGetMenu() inside wxUSE_OWNER_DRAWN check.
This doesn't make any sense, this function is not related to the owner drawing
code at all and should always be available.

This corrects the changes of r70316, see #13851.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:18:07 +00:00
Vadim Zeitlin
2d20e3fc51 Harmonize wxMenuEvent handling between all major ports.
Send these events to the menu itself first, then to the menu bar containing
it or the window invoking it if it's a popup menu and, finally, to the top
level window in all of wxGTK, wxMSW and wxOSX.

In particular, this ensures that help strings are now shown in the parent MDI
frame status bar by default, even when the menus are attached to the client
MDI frame or shown as popup menus.

At the implementation level, this logic is now encapsulated in a new static
wxMenu::ProcessMenuEvent() method which can be easily modified and reused in
other ports.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:17:58 +00:00
Vadim Zeitlin
62763ad541 Fix fields initialization in wxCommandEvent copy ctor.
Neither m_isCommandEvent nor, worse, m_propagationLevel was set correctly for
wxCommandEvent objects constructed using copy ctor -- and hence Clone(). This
means that such events were not propagated upwards the window hierarchy, quite
possibly resulting in mysterious bugs.

Fix this now by initializing these fields in both the normal and copy ctors.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:17:52 +00:00
Vadim Zeitlin
693abd284f Refactor: extract menu event handling logic from wxMenu::SendEvent().
Make this logic available for reuse with the events of different kind, e.g.
wxMenuEvent in the upcoming commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:17:48 +00:00
Vadim Zeitlin
d7653d9c0c Remove "isPopup" parameter from DoSendMenuOpenCloseEvent() in wxMSW.
This parameter is redundant, we can find out whether a menu is a popup one or
not from the menu itself, assuming that we always have a valid wxMenu pointer
for popup menus events, which really should be the case (we may not have one
for the events from system menus).

This allows to handle popup menu events case in the base class version of
MSWFindMenuFromHMENU() which will allow to reuse it from places other than
DoSendMenuOpenCloseEvent() without code duplication now.

There should be no changes to the behaviour, this is just a simplification.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:17:43 +00:00
Vadim Zeitlin
9fc78c8167 Add wxLocale::GetOSInfo() and use it in MSW wxDateTimePickerCtrl.
This fixes the size of wxDateTimePickerCtrl in programs that don't set any
specific locale: previously, the standard "%m/%d/%y" format was used for
computing the best size of the control in this case, but this could have been
significantly shorter than the format actually used (compare with the default
"%d %b, %Y"), resulting in the control contents being truncated by default.

GetOSInfo() is currently different from GetInfo() only under MSW, but we might
need to make the same distinction under OS X too, so do make this function
public instead of keeping it MSW-specific.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-05 22:17:13 +00:00
Artur Wieczorek
07371fcd56 Define wxPG toolbar event handler only if library is compiled with toolbar classes.
Include wxPropertyGridManager::OnToolbarClick() code only if wxUSE_TOOLBAR is set to 1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-03 17:01:35 +00:00
Artur Wieczorek
8a25a6fb49 Add member function to retrieve wxBoolProperty attribute.
Added wxBoolProperty::DoGetAttribute virtual function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-29 20:18:47 +00:00
Artur Wieczorek
ffbee3a059 Remove unused wxPG member variable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-24 16:11:19 +00:00
Artur Wieczorek
161e8dcff2 Use Boolean variable to store Boolean values in wxPG.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-24 16:09:46 +00:00
Artur Wieczorek
a1f83adcec Fix using compatibility flag in propgridpagestate.h header file.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-24 16:06:42 +00:00
Artur Wieczorek
1fd049988d Use a hash set instead of vector to hold dedicated keys in wxPG.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-24 16:04:53 +00:00
Paul Cornett
9bee2091d4 clarify comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-19 19:00:00 +00:00
Vadim Zeitlin
45e972943f Provide trivial GDK_IS_X11_DISPLAY() definition for GTK+2.
This will be useful for upcoming patches using it to fix problems with GTK+ 3
without breaking GTK+ 2 compilation.

See #16688.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-19 13:29:07 +00:00
Paul Cornett
dc555a92e3 notify all windows in capture stack about capture lost, and empty the stack
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-15 17:02:21 +00:00
Paul Cornett
7913d200c8 fix creating wxFont with non-ascii name, closes #16671
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78141 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-12 07:43:06 +00:00
Paul Cornett
ff4af7693e non-pch build fix after r78134
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 07:50:33 +00:00
Vadim Zeitlin
89738ef01f Add support for reading multi string values to wxRegKey.
Add a wxRegKey::QueryValue() overload working with REG_MULTI_SZ values.

Closes #16653.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:03:00 +00:00
Vadim Zeitlin
dec924cdf1 Add wxCursor::GetHotSpot() and implement it for wxMSW and wxGTK.
Allow retrieving the coordinates of the cursor hot spot, at least for the
ports for which we know how to do it.

Closes #16539.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:02:50 +00:00
Vadim Zeitlin
e737363e6b Introduce wxCursorBase class defining common wxCursor API.
This is done in preparation for adding a new wxCursor method and will allow us
to define it in a single place by default instead of having to provide stubs
for all ports.

See #16539.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:02:45 +00:00
Vadim Zeitlin
261e7eac73 Add RAII AutoIconInfo class wrapping ICONINFO Windows struct.
This ensures that we never forget to delete the handles returned by
GetIconInfo() and also centralizes the error message given if it fails in a
single place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78132 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:02:40 +00:00
Vadim Zeitlin
e8a5baf061 Do use wxUSE_STD_CONTAINERS_COMPATIBLY around code using std::vector.
This was supposed to be done in r78066, but after introducing this new
wxUSE_XXX symbol I forgot to actually use it in the place it was intended to
be used.

Fixes compilation with wxUSE_STD_DEFAULT==0 and closes #16673.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:02:34 +00:00
Vadim Zeitlin
8de1128c07 Return correct menu pointer for wxEVT_MENU_{OPEN,CLOSE} in MDI frames.
These events are supposed to carry a pointer to the menu which was opened or
closed, but wxMenuEvent::GetMenu() always returned NULL for the menus opened
when a child MDI frame was active, as its menu bar, containing the menu, was
not searched for it.

Fix this by overriding MSWFindMenuFromHMENU() at wxMDIParentFrame level, just
as we already do for FindItemInMenuBar().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-11 01:02:31 +00:00
Artur Wieczorek
cbb28b1f4d Reset current category marker if deleted wxPG property is a category property.
If deleted category or its sub-category is a current category then reset current category marker.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-10 16:46:16 +00:00
Artur Wieczorek
54c7eb3c56 Invalidate wxPG property and its sub-properties names prior deferred deletion.
If deleted property is a category property then all its sub-properties have to be renamed prior deleting.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-10 16:41:07 +00:00
Artur Wieczorek
b2588d907e Remove unused wxPG member variable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-08 18:17:24 +00:00
Vadim Zeitlin
44bb92ecd5 Use wxTB_DEFAULT_STYLE as default value for wxToolBar style.
No real changes, but this is more consistent with the other controls.

It also highlights the ports which use non-default style, e.g. wxQt where
wxNO_BORDER should probably not be used as part of default toolbar style but
rather added in the ctor implementation.

Closes #16667.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-07 14:59:33 +00:00
Vadim Zeitlin
50354a2540 Remove wxTB_FLAT from wxTB_DEFAULT_STYLE.
The actual default styles for the toolbars don't include wxTB_FLAT anywhere,
so don't include it in the (currently almost unused) wxTB_DEFAULT_STYLE
neither.

See #16667.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-07 14:59:27 +00:00
Vadim Zeitlin
03e64f3c20 No changes, just move wxComboBox::Clear() out of line in wxGTK.
Make this function non-inline to facilitate further modifications.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-01 13:56:26 +00:00
Artur Wieczorek
8a971c12ad Fix deleting wxPG properties with sub-properties.
If property contains sub-properties they should be deselected prior deleting the property.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-31 16:04:44 +00:00
Vadim Zeitlin
b1989ee7fe Make Clear() virtual in wxItemContainer base class.
This ensures that overridden wxComboBox::Clear() is called even when it's
invoked via a pointer or a reference to wxItemContainer (and not just one
to wxComboBox itself or its other base wxTextEntry).

Closes #16654.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-31 13:19:46 +00:00
Paul Cornett
2b4b8e044b use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-25 18:06:36 +00:00
Vadim Zeitlin
743aa6d74f More fixes for PCH-less build after r78063.
Add missing headers/forward declarations now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-24 23:23:10 +00:00
Vadim Zeitlin
722057b3a0 Add a new wxUSE_STD_CONTAINERS_COMPATIBLY option.
This option, which is on by default unless the use of STL is disabled,
provides better interoperability with the standard library when it can be done
without breaking backwards compatibility.

The first example of its use is to allow passing std::vector<> of any string
compatible type to wxItemContainer::Append(), Insert() and Set(), allowing to
directly initialize various wxControls deriving from it such as wxChoice,
wxComboBox, wxListBox from a std::vector<> of strings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-24 21:54:51 +00:00
Vadim Zeitlin
434c95e1a1 Allow customizing wxBusyInfo appearance.
Allow customizing wxBusyInfo window by passing wxBusyInfoFlags containing
information about the icon, title, colours and frame transparency to use.

Update the sample to show such "rich" busy info.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-24 21:54:38 +00:00
Vadim Zeitlin
f0aea4098c Refactor: extra wxStaticText auto-resizing code from wxMSW to common.
This will allow its reuse in wxGenericStaticText and maybe other ports that
need it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-24 21:54:31 +00:00
Vadim Zeitlin
069415c2a6 Fix wxStringTokenizer copy ctor and assignment operator.
Implement copying of wxStringTokenizer correctly: compiler-generated versions
didn't work as the position of the tokenizer didn't point into the correct
string after making the copy.

Fix this by adjusting the position iterator to use the copy of the string.

Closes #16339.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-20 15:08:09 +00:00
Vadim Zeitlin
a786c5094a Don't leave wxSubwindows::m_ids uninitialized.
Normally it's initialized by calling Create(), but don't crash deleting an
invalid pointer in the dtor if Create() hadn't been called.

See #16630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:31 +00:00
Vadim Zeitlin
a3cf902002 Update the bundled Scintilla version to 3.4.1.
There are relatively few changes, see Scintilla changelog at
http://www.scintilla.org/ScintillaHistory.html

Closes #16182.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:22 +00:00
Vadim Zeitlin
6c40531fb7 Make main thread wake up code more efficient and less error-prone in wxMSW.
Use a kernel event object to signal the thread wake up instead of sending
WM_NULL to one of its windows. This is simpler as we don't need to look for
any windows and doesn't suffer from the problem of overflowing the Windows
message queue if we do it too many times as signalling an already signalled
event simply doesn't do anything.

Closes #9053.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:08 +00:00
Vadim Zeitlin
870051c765 Handle taskbar button recreation better in wxMSW.
Store the various parameters in wxTaskBarButton itself and reapply them when
the button is (re)created. This fixes problems with getting the "taskbar
button created" message twice, e.g. because Explorer was restarted, or getting
it too late, as now wxTaskBarButton can be configured both before and after
receiving this message.

Closes #16566.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:56:47 +00:00
Vadim Zeitlin
3b1de0dc8b Use TLW parent for wxMessageDialog in all ports.
This avoids problems with deleting child windows which are parents of
wxMessageDialog before the dialog itself is destroyed and was already done in
wxGTK, but not in wxMSW nor wxOSX. Do it in all ports now by calling
GetParentForModalDialog() from wxMessageDialogBase ctor itself instead of
depending on the port-specific wxMessageDialog to do it.

Closes #16631.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:56:37 +00:00
Paul Cornett
a776eb65d0 Fix ClientToScreen()/ScreenToClient() when used immediately after window creation.
And whenever window does not have an up-to-date GTK size allocation.
Closes #16061


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 00:59:20 +00:00
Artur Wieczorek
c234f5078f Fix deleting editor controls associated with wxPG properties from within event handler.
Editor controls (and their event handlers) deleted from within wxPG event handler shouldn't by deleted in global idle event handler but only in local wxPG event handler because global idle events can be generated also by calling e.g. wxYield when wxPG is not in the real idle state.

Closes #16617

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-16 22:49:01 +00:00
Václav Slavík
de0c7f725d Add support for template NSImages to wxBitmap
wxBitmap uses CGImage instead of NSImage internally and the conversion
looses NSImage metadata.  In particular, it looses the "template"
attribute, which is set for files ending with "Template" and loaded
trough wxArtProvider.

This change makes it easy to use template images with native controls
such as the toolbar.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-14 08:53:11 +00:00
Vadim Zeitlin
1f6fae0f3f Define unambiguous Is{List,Text}Empty() in wxOwnerDrawnComboBox.
Like in wxComboBox itself, it's useful to provide these methods to avoid
problems with ambiguous IsEmpty(), inherited from both wxTextEntry and
wxItemContainer.

Closes #16618.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-13 12:08:10 +00:00
Vadim Zeitlin
96c301bb71 Fix calling wxFileHistory::Load() more than once.
Don't add all the items in the history to the menu again, remove the old ones
if we had already added them.

Closes #16588.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-12 20:48:56 +00:00
Vadim Zeitlin
793187de9d Add wxART_FULL_SCREEN icon.
Use stock GTK+ icon in wxGTK and Tango icon elsewhere.

See #2662.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-11 16:30:06 +00:00
Mariano Reingart
3b12797953 Improve specific listctrl wxQT, thanks @seandpagnier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 04:21:26 +00:00
Mariano Reingart
0435721b3e Implement readonly dcscreen for wxQT, thanks @seandpagnier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 04:16:57 +00:00
Mariano Reingart
7940e70f51 Remove unused event table in wxQT, thanks @seandepagnier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 03:49:29 +00:00
Mariano Reingart
6a3bdf5f66 Support native font info in wxQT, thanks @seandepagnier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 03:43:31 +00:00
Mariano Reingart
09f176eed0 Fix frame client size in wxQT, thanks @seandepagnier
Compute frame size subtracting statusbar, and handle NULL status bar

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 03:01:42 +00:00
Mariano Reingart
b56a3f5235 Improve wxQT cursor implementation, thanks @seandepagnier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-29 02:55:33 +00:00
Vadim Zeitlin
908bf66242 Don't define wxSelectionStore::NO_SELECTION inline.
This results in link errors under Unix for some reason.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 23:29:32 +00:00
Vadim Zeitlin
adf8f9d0cd Handle multiple item insertion and deletion in wxSelectionStore.
Rename the existing but not implemented and never used OnItemAdd() method to
OnItemsInserted() and add OnItemsDeleted(), which is more efficient than
OnItemDelete() when many items are being removed from the control at once.

This is not used yet, but will be used in wxDataViewCtrl soon and maybe in the
other controls later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 20:46:21 +00:00
Vadim Zeitlin
06ab4da3f3 Add wxSelectionStore::IsEmpty() helper.
Just a simple and potentially (although not right now) more efficient
equivalent to GetSelectedCount() == 0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 20:46:18 +00:00
Vadim Zeitlin
d058c09e9f Add possibility to iterate over all selected items in wxSelectionStore.
This is necessary for retrieving all the selected items at once: while doing
this is not recommended for a control with a potentially very large number of
items, it must be possible to allow using wxSelectionStore for wxDataViewCtrl
implementation as wxDataViewCtrl must implement its GetSelections() method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 20:46:15 +00:00
Vadim Zeitlin
0465215157 Avoid calling SetSize() from wxCompositeWindow::Create() under wxGTK.
This was unexpected and resulted in a crash in the case of wxDatePickerCtrl.
And while this particular crash could be fixed just by checking for the
pointers validity in the overridden wxDatePickerCtrl::SetSize(), it seems
better to avoid such unexpected calls to SetSize(), especially as they only
happen under wxGTK, which calls SetLayoutDirection(wxLayout_Default) from its
wxWindow::Create(), and so wouldn't be found by any amount of testing under
other platforms.

Closes #16589.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 16:12:29 +00:00
Artur Wieczorek
89364e95b9 In wxPropertyGridPageState use Boolean member variables to store Boolean values.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-25 17:29:50 +00:00
Vadim Zeitlin
51309ad50a make x11 dc could get cairo context, so the graphic module could use in x11. This use cairo xlib backend.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:44:06 +00:00
Vadim Zeitlin
b045f9506b Rewrite the wxX11 cliboard
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:43:44 +00:00
Vadim Zeitlin
ad84d9f97d make wxKeyEvent could get unicode key under x11, add a x11 keysym--unicode char map tab
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:43:37 +00:00
Vadim Zeitlin
d956d87f2e enable wxNEEDS_UTF8_FOR_TEXT_DATAOBJ flag for x11 TextDataObject, and add implementation of GetAllFormat function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:43:24 +00:00
Vadim Zeitlin
d6ae3804dd input handler should coreesponding the widget instance, wxListBox and wxCheckListBox has its own input handler, so create it differenctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:43:15 +00:00
Vadim Zeitlin
9ea0ff1374 wxComboCtrl::Clear() will call wxComboCtrl::SetValue(), but wxItemContainer::Clear() will call it too. So no need to call wxComboCtrl::Clear() here
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:42:39 +00:00
Vadim Zeitlin
cc3acf904b add GetLabel/SetLabel implementation to wxWindowX11, the function just store the label string, but do nothing with it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:42:33 +00:00
Vadim Zeitlin
fa2fa3dd9f adjust the implementation about max length limitation according review comments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:42:18 +00:00
Vadim Zeitlin
fe733e34c2 add maxline restriction in single line mode textCtrl. let textctrl will fire wxEVT_TEXT_MAXLEN and not recive the chars when the text length beyond the maxlength
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:42:12 +00:00
Vadim Zeitlin
d2573ed255 Add get/set strikeline support to wxFont/x11.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:41:48 +00:00
Vadim Zeitlin
ae1bc4fa82 make wxPalette under x11 could store/get uchar RGB value in palette and also could get the color number in palette.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:41:45 +00:00
Vadim Zeitlin
66ed21d69b Fix the position calculating of insert a radio menu item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:40:46 +00:00
Vadim Zeitlin
02526cc9d2 use DoGetValue() in parent class will be enough, and add readonly support to SetValue()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:40:39 +00:00
Vadim Zeitlin
26ce3d6361 wxListBox in wxUniv need to overwrite DoListHistTest function, otherwise Listbox::HitTest will call DoListHitTest in wx/listbox.h, which will always return wxNOT_FOUND
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:40:36 +00:00
Vadim Zeitlin
a4e72041fb Add GetBitmap support to wxButton in wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:40:22 +00:00
Vadim Zeitlin
58730bc356 Add wxEVT_SET_FOCUS and wxEVT_KILL_FOCUS event to wxX11
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:39:44 +00:00
Vadim Zeitlin
b413eeedea GetLabel should return the original label that with mnemonics, the original label stored in wxControlBase m_labelOrig, get it by wxControlBase::GetLabel()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:39:38 +00:00
Vadim Zeitlin
d1d874dd15 wxUniv focus on wx11 port, so modified unv/theme.h, make GTK theme as the default theme
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:39:06 +00:00
Vadim Zeitlin
8e238e367e wxX11 wxFont miss the wxFont (const wxString &nativeInfoString) ctor, it will cause build tests failed. Added and fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:38:51 +00:00
Vadim Zeitlin
43c99ef613 Refactor: create src/univ/anybutton.cpp.
Extract and pull the common functions from wxButton and wxToggleButton to
wxAnyButton in wxUniv too.

Also make wxToggleButton inherit from wxToggleButtonBase correctly

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:38:47 +00:00
Vadim Zeitlin
7172fdc01b Fix wxCompositeWindow compilation after the latest change.
SetSize() doesn't have any dependent parameters so call it via an explicit
"this->" to make it work with standard conforming compilers (and not MSVC).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-21 11:51:10 +00:00
Vadim Zeitlin
f24d204984 Update layout of wxCompositeWindow on layout direction change.
The children layout will almost always depend on the layout direction, so redo
it when the latter changes.

In particular, this fixes changing the layout of wxSpinCtrlDouble under MSW.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-21 01:41:27 +00:00
Vadim Zeitlin
81ec161949 Fix setting layout direction for wxSpinCtrl in wxMSW.
Position the spin control components (the button and the text) correctly for
the current layout.

Also update the layout of the text explicitly.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-21 01:41:22 +00:00
Vadim Zeitlin
e5755015e7 Fix setting layout direction for wxComboBox in wxMSW.
The EDIT control used by the native combobox is different from normal EDIT
controls and has to be handled specially.

We also need to explicitly forward WS_EX_LAYOUTRTL to the dropdown window as
it doesn't inherit it from the combobox itself automatically.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-21 01:41:17 +00:00
Vadim Zeitlin
c5ee5b8ea7 Don't use wxMSW wxAppProgressIndicator if wxUSE_TASKBARBUTTON==0.
This class requires wxTaskBarButton to be really implemented, so there is no
need to even define the MSW-specific version of it if wxUSE_TASKBARBUTTON is 0
anyhow.

This fixes a compilation problem with wxUSE_TASKBARBUTTON==0 but, more
importantly, just makes more sense.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-20 22:07:37 +00:00
Vadim Zeitlin
4944c44676 Show the message of unexpected message boxes in wxTestingModalHook.
This is more informative than showing just the title and we can do it for the
message boxes and it's worth handling them specially just because they are so
common.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-20 22:07:34 +00:00
Vadim Zeitlin
66640e67d6 Allow customizing unexpected dialogs description in wxTestingModalHook.
Extract creation of the message describing an unexpected dialog in a separate
virtual method in order to allow customizing it, notably in order to add more
useful description of custom application dialogs.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-20 22:07:31 +00:00
Vadim Zeitlin
6cf30c433c Mention the title of the unexpected dialog in wxTestingModalHook.
It's not very helpful to just say that an unexpected dialog was shown, using
its title provides at least some hint as to what dialog it was.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-20 22:07:29 +00:00
Vadim Zeitlin
c39f3db6a6 Return the caption from wxMessageDialog::GetTitle().
It was unexpected that wxMessageDialog::GetTitle() returned empty string even
when non-empty caption, which is just another word for title, was specified.

Implement GetTitle() as synonym for GetCaption() and also provide SetTitle()
for consistency.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-20 22:07:26 +00:00
Peter Most
12e989bdf3 Re-added wxQtPointer smart pointer for easier memory management.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-16 12:50:57 +00:00
Vadim Zeitlin
cde3018236 Don't define wxUSE_GRAPHICS_GDIPLUS as 1 by default.
Define it and wxUSE_GRAPHICS_DIRECT2D, when it's supposed to be enabled, as
wxUSE_GRAPHICS_CONTEXT instead. This ensures they are set to 0 if the use of
wxGraphicsContext is entirely disabled, as is the case when using MinGW under
MSW by default for example.

Closes #16558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-15 17:27:50 +00:00
Vadim Zeitlin
28516f5643 Make wxAppProgressIndicator actually usable.
First of all, do define it under non-MSW platforms.

Second, don't crash in it when running under XP where wxTaskBarButton is not
available.

Also add IsAvailable() method to check for its availability explicitly and add
a demonstration of this class to the dialogs sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 23:58:26 +00:00
Vadim Zeitlin
03e245091f Use factory function for wxTaskBarButton creation.
This allows to encapsulate checking for errors, which should be handled when
using this class as task bar buttons API is not available under Windows XP.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 23:58:22 +00:00
Vadim Zeitlin
79fb4e2250 Fixes to wxFont strike-through support in wxOSX.
Don't create strike-through fonts by default.

Also add support for strike-through in wxCarbon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 11:17:54 +00:00
Vadim Zeitlin
c2e18d75e5 Fix wxCALL_FOR_EACH() to work with more than 2 arguments with MSVC.
Due to a bug in MSVC handling of __VA_ARGS__ (see
https://connect.microsoft.com/VisualStudio/feedback/details/380090/variadic-macro-replacement)
wxCALL_FOR_EACH() didn't work correctly as long as more than two arguments
were used with it.

Work around the bug by protecting __VA_ARGS__ from being incorrectly passed as
a single token to the macro being called on every step: this was already done
for wxCALL_FOR_EACH itself with wxCALL_FOR_EACH_, but we need to do it for all
the helper macros too.

Also add a test checking that this does, actually, work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-14 00:59:53 +00:00
Vadim Zeitlin
9ecf317092 Implement strike-through support in wxFont in wxOSX.
Implement support for this attribute in wxOSX too.

Closes #16547.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-11 17:05:33 +00:00
Vadim Zeitlin
56d51c311a Fix wxUSE_GRAPHICS_DIRECT2D definition in setup.h files.
Define it in wx/msw/setup_inc.h and not in wx/msw/setup0.h itself to ensure
that it survives the regeneration of this file using build/update-setup-h.

Also only set wxUSE_GRAPHICS_DIRECT2D to 1 for VC10+ and not VC9 as the latter
lacks Direct2D header in its default SDK version.

Finally also update comments to explain the various settings more clearly and
remove outdated information (wxGraphicsContext is not experimental any more).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:28 +00:00
Vadim Zeitlin
91b7aab4c2 Fix build with g++ 3.4 with -pedantic[-errors] option.
The use of variadic macros results in a warning/error if -pedantic[-errors]
is used when compiling C++98 code as they are only formally part of C99 (or
C++11). With g++ 4 and later, this can be avoided by using -Wno-variadic-macros
option, but it doesn't exist in g++ 3, so a nasty workaround in the header
itself is required: mark it as system header in order to fix compilation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:08 +00:00
Vadim Zeitlin
1addaeaa75 Add wxUIActionSimulator::Select().
Add a helper to select an item in a wxChoice, wxComboBox, wxListBox or similar.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:52:01 +00:00
Vadim Zeitlin
0e722a20e7 Set layout direction for all wxCompositeWindow parts.
Forward SetLayoutDirection() to both the base class and all the children, just
as we already do for the other setters.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:51 +00:00
Vadim Zeitlin
dfb9976cc3 Simplify and make more flexible wxCompositeWindow::SetForAllParts().
Allow calling any function compatible with the argument type instead of
requiring "bool" return type and the exact match of the parameter type, which
forced us to define a separate DoSetForAllParts() helper.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:46 +00:00
Vadim Zeitlin
060cf2666d Fix setting RTL direction for wxTextCtrl without wxTE_RICH in wxMSW.
Plain EDIT text controls don't support WS_EX_LAYOUTRTL, use WS_EX_RTLREADING
for them instead.

See #11583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:42 +00:00
Vadim Zeitlin
c5f557cd3a Add a generic wxExpectAny helper class for GUI testing.
This is similar to the existing wxExpectModal<wxMessageDialog>, but can be
used to dismiss any dialog for which it's just enough to press some button,
not just wxMessageDialog.

It's convenient to use it as

	wxTEST_DIALOG(wxYield(), wxExpectAny(wxID_OK));

if some custom dialog which can be safely dismissed is expected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:30 +00:00
Vadim Zeitlin
9a377ec117 Implement wxListBox::EnsureVisible() for wxMSW.
Manually check whether the item is currently visible and scroll the listbox
just enough if it isn't.

Closes #3224.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:17 +00:00
Vadim Zeitlin
dc65fa8d5a Allow recursive calls to wxEventLoop::Yield().
There doesn't seem to be any reason to forbid them and this change allows
wxExecute() without wxEXEC_NOEVENTS to work without assertion failures when
called from inside wxYield().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 16:51:06 +00:00
Bryan Petty
e63b4ccca0 Add wxUSE_TASKBARBUTTON under MSW port.
Taskbar button features are only available under MSW port.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 15:59:26 +00:00
Bryan Petty
124129a45f Rename appprog.{h,cpp} to appprogress.{h.cpp}.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:58:55 +00:00
Bryan Petty
eb6ed7e74c wxUSE_TASKBARBUTTON should be disabled on wince.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:58:39 +00:00
Bryan Petty
db13dbc1f6 Move wxAppProgressIndicator into its own header.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:58:12 +00:00
Bryan Petty
49ed30caae Use the usual WXHWND instead of wxWidget.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:50 +00:00
Bryan Petty
163a78c76c Fix too many friends of wxTaskBarButtonImpl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:38 +00:00
Bryan Petty
3caf0f6889 Fix mingw warning of using anonymous type in wxTaskBarButtonImpl fields.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:30 +00:00
Bryan Petty
0c6b03c392 Fix coding nits.
- enums shouldn't be DLL-exported,
- Placement of "{"
- Always have dtor of wxGuage and wxFrame.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:20 +00:00
Bryan Petty
cf5b3021c6 Don't link shlwapi directly.
For MSVC use #pragma comment to link shlwapi, and for MinGW use dynamic
loading of this library.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:57:06 +00:00
Bryan Petty
eb4cdf4a3d Fix Wreorder of m_maxValue in the wxAppProgressIndicator.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:54 +00:00
Bryan Petty
95e8cf9dfb Intergrate wxAppProgressIndicator into wxGuage.
Update the progress bar of taskbar button if wxGuage has wxGA_PROGRESS style.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:29 +00:00
Bryan Petty
04039e01ad Suppress warning: type uses the anonymous namespace.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:15 +00:00
Bryan Petty
6609b57dd7 Fix mingw warning: passing NULL to non-pointer argument.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:56:05 +00:00
Bryan Petty
6b527d5eca Add parent pointer of the classes: item -> category -> jump list.
The parent of wxTaskBarJumpListItem is wxTaskBarJumpListCategory, the
parent of wxTaskBarJumpListCategory is wxTaskBarJumpList. After this change,
users do not need to call the update method of jump list manually.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:55:21 +00:00
Bryan Petty
1ef98f2533 Support setting AppUserModelID of wxTaskBarJumpList.
Specifies a unique Application User Model ID (AppUserModelID) for the
application whose taskbar button will hold the custom Jump List built
through the methods of this class. This parameter is optional.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:55:01 +00:00
Bryan Petty
e464ed176f Rename access method of custom categories.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:51 +00:00
Bryan Petty
2b8c76daff Rename wxJumpList to wxTaskBarJumpList etc.
Class name wxJumpList is overly generic.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:40 +00:00
Bryan Petty
de7b819cdc Move implementation of jump list to class wxJumpListImpl.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:30 +00:00
Bryan Petty
6795b5c1af Fix rebase error.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:20 +00:00
Bryan Petty
30015f9cfe Implement jump list feature: adding custom categories.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:54:08 +00:00
Bryan Petty
dc51580b1a Implement getting recent and frequent category.
- New class wxJumpListCategory to represent a category in the jump list.
- Api for accessing recent and frequent category.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:57 +00:00
Bryan Petty
e903ebda55 Reset progress state to no progress when destructing.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:47 +00:00
Bryan Petty
4f4b6b8c3c Fix mingw build error.
1. Load "ChangeWindowMessageFilter" dynamically when wxUSE_DYNLIB_CLASS is true.
2. Redefine interface: IObjectArray, IObjectCollection, IPropertyStrore etc.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:37 +00:00
Bryan Petty
d73285aeb3 Support adding a separator in the task list when setting jump list.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:28 +00:00
Bryan Petty
b8815e8ac3 Implement wxAppProgressIndicator.
An helper class used for updating the progress of taskbar button.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:17 +00:00
Bryan Petty
615773842c Redeclare the interfaces and support setting tasks of jump list roughly.
- Interfaces including: ITaskbarList3, IShellLink, ICustomDestinationList.
- New API for setting tasks of jump list: wxJumpList::SetTasks.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:53:05 +00:00
Bryan Petty
dd06fa3aa8 Add new api for appending a separator to the thumbnail toolbar.
Actually, when calling AppendSeparator we are appending a disable
ThumbBarButton without background, which can simulate the behavior
of appending a separator.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:55 +00:00
Bryan Petty
4c08974648 Add docs for several interfaces of wxThumbBarButton.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:43 +00:00
Bryan Petty
1f849ebcdd Expose APIs that can update the behavior of wxThumbBarButton.
- void Enable(bool enable = true);
  void Disable();
- void EnableDismissOnClick(bool enable = true);
  void DisableDimissOnClick();
- void SetHasBackground(bool has = true);
- void Show(bool shown = true);
  void Hide();
- void EnableInteractive(bool interactive = true);
  void DisableInteractive();

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:33 +00:00
Bryan Petty
183b0f4664 Allow 2-phase creation of wxThumbBarButton.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:23 +00:00
Bryan Petty
3e1130bf57 Add doxygen docs of wxTaskBarButton.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77606 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:52:11 +00:00
Bryan Petty
c13a06abb0 Move wxTaskBarButton into core library.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:51:51 +00:00
Bryan Petty
1439cc95c5 Fix mingw build error of ITaskbarList3.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:51:38 +00:00
Bryan Petty
1580848eeb Work around the limitation of windows API when setting thumbnail toolbar buttons.
- New API: InsertThumbBarButton, AppendThumbBarButton, RemoveThumbBarButton.
- Though MSDN said that "Buttons cannot be added or deleted later, so this must
  be the full defined set. Buttons also cannot be reordered.", we can work
  around it by: when first time adding button, initialize all of the possible
  seven buttons and hide them, except the button adding. In the next time adding
  button, just show it, which can make it looks like it is added on the fly.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:51:29 +00:00
Bryan Petty
a7145e561d Nit: fix code style.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:51:18 +00:00
Bryan Petty
ffd2e750cd Revise progress releted API to be more usual.
- Add PulseProgress
- Add SetProgressRange, instead of hard coding 100.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:51:09 +00:00
Bryan Petty
84e1760c4e Revise Show/Hide, for consistency with the other classes.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:50:58 +00:00
Bryan Petty
bb640a38d3 API: SetThumbnailContents, for setting thumbnail contents with child window.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:50:48 +00:00
Bryan Petty
d624c91aff Expose setting description of overlay icon for accessibility.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:50:38 +00:00
Bryan Petty
7a1de0a65f Move taskbar button from wxTopLevelWindowMSW to wxFrame.
Since there are two sub-classes of wxTopLevelWindowMSW: one is wxFrame, the
other is wxDialog. However, wxDialog have no button shown in taskbar on
windows, so the taskbar button feature should be only avaiable in wxFrame.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:50:20 +00:00
Bryan Petty
2fdf84c7e7 APIs for adding a thumbnail toolbar with a specified set of buttons.
- AddThumbBarButton(wxThumbBarButton *button), ShowThumbnailToolbar().
- Add THBN_CLICKED message handler to top level window and generate a
  wxCommandEvent event.
- Sample.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:50:08 +00:00
Bryan Petty
5f54995d63 APIs to support setting overlay icon, tooltip, thumbnail clip, progress state.
Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:49:55 +00:00
Bryan Petty
7ecbd9bc18 API for change the visibility of button in the taskbar.
- ShowInTaskbar and HideInTaskbar
- Sample of usage.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:49:44 +00:00
Bryan Petty
076747aa81 Introduce skeleton of taskbar button feature.
- Add classes: wxTaskBarButton and wxTaskBarButtonImpl.
- New interface in wxTopLevelWindowMSW to get its wxTaskBarButton:
    MSWGetTaskBarButton.
- A simple sample and build files under msvc.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 14:49:33 +00:00
Chaobin, Zhang
23ce61c395 Reverting failed mering of SOC2014_TASKBAR.
Command: git svn dcommit is aborted, and the two branches is diverged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 11:57:58 +00:00