In long running programs the wxEvent time stamp could wrap around resulting in
all mouse wheel events being ignored in wxStyledTextCtrl as the comparison of
the (positive) time until which all the subsequent events were supposed to be
blocked and the (now negative) current event time stamp would be always false.
Fix this by using wxStopWatch::TimeInMicro() to avoid wraparound instead of
wxEvent::GetTimestamp().
Also rename the variable to have a more clear name as the original code wasn't
easy to understand.
Closes#9057.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We only updated the button positions when the radio box was moved or resized
after being created but didn't do it initially, so a radio box created with
fixed position and size didn't lay out its buttons correctly. Do lay them out
immediately after creating the radio box to fix this.
Closes#13912.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxFontDialog should have ctor and Create() overload taking just wxWindow
parent in addition to the one taking parent and wxFontData used to initialize
the dialog but it didn't have them in wxOSX, do add them now.
Closes#13908.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The second parameter of this method should be optional, so make it so in wxOSX.
Also document what this method does exactly and the platforms under which it's
implemented.
Closes#13914.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Check that m_lastSavedCommand is valid before comparing it with
m_currentCommand as comparing invalid iterators results in an assert in STL
build (and probably should also result in an assert in non-STL build too for
consistency).
Also move IsDirty() implementation out of line to make it easier to modify it
further in the future and because there is no real reason to keep it inline.
Closes#13465.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Set the closest (and larger, if possible) icon if the icon of exactly the
system icon size is not available. This fixes setting the icons when using
custom DPI settings under MSW as the standard icon size may be different from
the standard 32*32 in this case.
This also improves wxIconBundle::GetIcon() to make its behaviour when the icon
with exactly the given size is not found more flexible as a side effect.
Closes#13891.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxPG_FILE_DIALOG_STYLE allowing to pass wxFileDialog style that should be
used by the given wxFileProperty. This notably allows to have file properties
accepting not yet existing files, as is needed when using them for the file
names to be saved, not opened.
Closes#13894.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Currently this ctor just does the same thing as the existing ctors in a
different way but it will be extended to support wxFONTFLAG_STRIKETHROUGH in
the next commits.
See #9907.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Enable wxDateTime if it's disabled but wxFileCtrl is enabled as the latter
needs the former, at least in the generic version.
Closes#12821.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is shorter and arguably more clear than doing it in two steps as we did
before and also works in wxUniv, unlike creating wxStaticText with empty label
and setting it later.
Closes#13858.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The existing Reparent() implementation was wrong as it reparented spin control
subwindows under the new parent but left the main window itself under the old
one. Fix this by just not overriding Reparent() at all, the inherited version
works just fine for this control.
Closes#13849.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As wxCharTypeBuffer ctor taking the length NUL-terminates the buffer, it may
be expected that extend() does the same but it did not. Do add the NUL at the
end for consistency, even though it's not really needed for the existing code
using extend() in wxWidgets itself.
Closes#13885.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't leave the wxGenericAboutDialog object alive when non-modal about dialog
(as can be used under GTK and OS X) is closed. This is wasteful and, worse,
resulted in the program not exiting after such a dialog was shown because it
counted as a remaining open top level window.
This also fixes the same bug in wxGTK when using GTK+ 2.4.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to post binary data or text data in e.g. UTF-8 encoding (which is
by far the most common case) easily.
Deprecate the existing SetPostBuffer(wxString) as it didn't explicitly specify
the encoding to use for the data to be posted.
Closes#13870.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is more consistent with other wxDVC methods (taking column pointer
as its argument) and other DVC-like classes where the name EditLabel()
is used for similar purposes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The company behind MGL toolkit (SciTech) doesn't exist since several years and
this port is not used by anybody, so remove it to ease maintenance burden.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This method was only available in wxUniv before and just always returned true
in the other ports. Implement it for wxMSW and wxGTK too now and document it.
Also add a unit test.
Closes#795.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This method was only defined when wxUSE_DIALOG_SIZEGRIP==1 so avoid declaring
it when wxUSE_DIALOG_SIZEGRIP==0 to fix compilation in this case (i.e. under
Windows CE).
Closes#13852.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
_T() is deprecated and doesn't work with Solaris compiler, use wxT() instead.
Also change one occurrence of _T() inside a comment in wx/debug.h.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxAuiNotebook-specific InsertPage() and the version inherited from
wxBookCtrlBase were ambiguous if used with default values for their 2 last
arguments. Resolve this by removing defaults from the inherited version.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow inserting and deleting tools and not only appending them.
Add possibility to enable/disable and toggle tools.
Send wxUpdateUIEvent for the tools.
Add various properties accessors.
Closes#13835.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This currently is only implemented under OS X and sets the proxy icon there
but could be implemented to do something useful under the other platforms too
in the future.
Closes#13797.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Take the width of the header itself into account when setting width to
wxLIST_AUTOSIZE.
Also refactor the code to reuse the code used in wxLIST_AUTOSIZE_USEHEADER
case in SetColumnWidth() when inserting or updating the column width to this
value.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the fixed default width in InsertColumn() by default for compatibility but
allow more useful behaviour in it by supporting wxLIST_AUTOSIZE_USEHEADER as
well.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In the vast majority of cases, columns are just appended to the end and not
inserted at arbitrary positions in wxListCtrl so provide a convenient wrapper
to do this, especially as it's really trivial to do it now when it can be done
only once at wxListCtrlBase level.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the column labels to determine the minimal width required by the control
to show them all in full.
Also declare all image list and column-related wxListCtrl methods in
wxListCtrlBase now as we need some of them in DoGetBestClientSize()
implementation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Currently we have two redundant pieces of data in wxListEvent: m_itemIndex and
m_item.m_itemId. The former is initialized to -1 by default which makes sense
as it means "no item". But the latter was 0 by default which not only didn't
make sense but also made it inconsistent with m_itemIndex for the events which
really didn't have any associated item.
Fix this by initializing m_itemId to -1 as well.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Generate wxUpdateUIEvent for the ribbon buttons to allow updating their state
using wxEVT_UPDATE_UI. Also update the same to show this.
Closes#12003.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
To really ensure that the window containing the components of wxSpinCtrlGeneric
is never enabled under MSW (as we want to avoid this to ensure that any input
always goes to its children and not the window itself, see #12045), override
DoEnable() and not Enable(). This takes care of the case when the control gets
implicitly disabled because its parent is.
Closes#13142.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Even though most compilers just ignore this, it's just wrong and if you
do get warnings about header files, they can become quite overwhelming.
Forward port of r70163.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
WM_UNINITMENUPOPUP is "only" available since Windows 98/2000 so restore the
old code using WM_EXITMENULOOP as fall back, just to avoid any regressions for
people who might still be using these systems.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Set the wxMenu correctly for wxEVT_MENU_CLOSE events in wxMSW.
Set the menu id correctly to allow wxMenuEvent::IsPopup() to work for both
wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE in wxOSX.
Closes#11313.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The implementation is far from perfect as it relies on hard-coded margins but
is better than nothing as it allows wxNotebook best size determination and
SetPageSize() method to work correctly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxWebKitNewWindowEventHandler to perform a proper static_cast<>, which
detects incorrect casts during compilation, instead of
wxWebKitNewWindowEventFunction which was just doing an unsafe C-style cast.
Cloes #13805.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just complete the changes of r58039 by removing the
references to non-existent (any more) event types from the comments too.
Closes#13801.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Delegate the log string creation to wxLogFormatter. This allows defining a
custom object of a class derived from it to customize the log output instead
of having to override DoLogRecord() in wxLog itself.
Closes#13792.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use NSDatePicker to implement both of these controls. Almost all of
wxDatePickerCtrl styles are not supported in the native version but the basic
functionality does work and looks much better than the generic version (which
is still available as wxDatePickerCtrlGeneric if needed) under Mac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These functions will be used in the upcoming native implementations of
wxDatePickerCtrl and wxTimePickerCtrl but could also be reused elsewhere in
wxOSX/Cocoa, notably in wxDataViewCtrl where strange ad hoc code is currently
used.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Apparently we need this bogus "inline" for g++ < 3.4 but there is no reason to
use it for the other compilers and this results in linking errors with e.g.
MSVC, so remove it.
Closes#13775.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This method allows to configure the initial directory to be shown when
browsing for files in an initially empty wxFileDirPickerCtrl.
It is also available for wxDirPickerCtrl but is less useful there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The input data is never modified so should be const (it is also documented as
being const and actually is const in the other ports).
Closes#13776.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit fixes the following bug: when an in-place editor control containing
an embedded button was used in wxDataViewCtrl, pressing Enter on the button
would close the editor, accepting changes, instead as (generic) wxDataViewCtrl
intercepts WXK_RETURN in its EVT_CHAR_HOOK handler. To prevent this from
happening, wxButton now handles EVT_CHAR_HOOK itself and never lets the parent
window intercept it if it's for WXK_RETURN. To ensure that normal
wxEVT_KEY_DOWN and wxEVT_CHAR are still generated in this case, wxButton
handler calls the new wxKeyEvent::DoAllowNextEvent() method that was added to
allow suppressing EVT_CHAR_HOOK only, without affecting the subsequent events.
DoAllowNextEvent() is currently only used in wxMSW but support for it was also
added to wxGTK and (both) wxOSX ports.
See #9102.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Partially revert the changes of r69350 to restore EVT_IDLE handling of
wxPopupTransientWindow under MSW. It turns out that we must release the mouse
for the embedded controls to work.
It would be better to solve the problem differently, e.g. perhaps maybe only
releasing mouse capture when mouse is clicked as the current code is fragile
but for now at least restore the functionality that used to work.
Closes#13740.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also renamed wxEXEC_NOHIDE to wxEXEC_SHOW_CONSOLE for symmetry (keeping the
old name for compatibility, of course).
Extend exec sample to allow easily testing the different flags and adding more
of them later.
See #13676.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxOSX/Carbon doesn't use the core implementation file so declaring these
methods for the Carbon version resulted in linking errors. Just don't do this,
they're not implemented for Carbon anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Unlike in the other ports, these methods currently don't generate any events
under OS X because these events are never generated at all there.
Closes#12642.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Because wxTextCtrl used to wrongly report its best size in wxNO_BORDER case
under MSW, wxComboCtrl manually adjusted its position to work around this.
However since r69066 wxTextCtrl::GetBestSize() was fixed and now these
adjustments resulted in wrong vertical position for the control.
Just remove all manual adjustments completely now to fix this.
Closes#13722.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Suppress g++ warnings about a class with virtual methods but non-virtual dtor
by making the dtor virtual even if we don't need it to be virtual in this
class.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define EVT_CHAR_HOOK handlers to ensure that pressing Escape/Return while an
in-place edit control is active affects only it and is not used for the
keyboard navigation.
Closes#9102.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Send wxEVT_CHAR_HOOK events to the focused window itself but make them
propagatable to ensure that the parent windows (including the top level
parent) still get it. This still allows the TLW parent to intercept keyboard
handling in its child but allows the child (or an intermediate parent window)
to have some say in the matter.
See #9102.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is useful for implementation code in a couple of ports so provide a
higher level ctor doing this instead of having to use a copy ctor and then
manually changing the event type.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid duplication between copy ctor and assignment operator.
Also extract the assignment of everything not including the event type in a
reusable function as this can be useful for key event generation code in wxGTK
and possibly other ports.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
All wx headers start by including wx/defs.h so do it in wx/webview.h as well
even if wx/setup.h was sufficient in this particular case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that the entire banner window uses the same background colour as the
bitmap, even when the bitmap is too small for the window size. This allows to
avoid using huge bitmaps if extending the bitmap with solid colour looks good
enough.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow %e and %g formats (as well as their upper-letter equivalents) in
addition to the default %f format for number display in wxGrid.
Closes#13583.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These functions are used by wxGetTimeZone() defined in time.cpp and so need to
be available from wx/time.h. This is also the most logical place for them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is the "<>|" key on German keyboard and is also used in many other
layouts so failing to handle it resulted in not receiving EVT_KEY_XXX events
for these keys in wxWidgets programs.
Closes#13558.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Using wxSTAY_ON_TOP with wxMessageDialog resulted in "Help" button appearing
since r68537 because these two constants had the same numeric value.
Avoid this by changing wxHELP value to be the same as wxCLOSE_BOX instead: the
latter can't be used with wxMessageDialog so this should solve the problem,
even if there are still conflicts. Also adjust the other button constants
values to account for wxHELP change.
Closes#13433.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The function was badly named as it returned UTC time and not local time and
can be simply replaced with the just added public wxGetUTCTimeUSec().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Preserve compatibility by including wx/time.h from wx/stopwatch.h but put all
the time-related functions in a more logical place.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fixed wxGetLocalTimeMillis() to really return the local time and provide
wxGetUTCTimeMillis() doing what this function used to do before. Closes#13610.
Also add wxGetUTCTimeUSec() for even higher resolution time stamps as it is
basically the same as wxGetUTCTimeMillis() anyhow, at least for MSW and
non-ancient Unix systems providing gettimeofday().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also simplify/streamline wxStopWatch implementation and replace confusingly
named m_pause with more clear m_elapsedBeforePause.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxTLS_PTR should have type of "T*" instead of being simply usable as "T*"
because of its overloaded operator->(), otherwise the code relying on it being
"T*" and compiling without problems in wxHAS_COMPILER_TLS case could fail to
compile without compiler TLS support.
Closes#13644.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The new functions simply call Add{Option,Switch}() with an empty first
argument but using them makes the code more readable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxEventFilter to remove the splash screen as soon as any user input is
detected anywhere in the application, not necessarily over the splash screen
itself.
This ensures that the splash screen disappears as soon as the user starts
working with the application instead of sticking around and covering the main
window.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow defining event filters to globally pre-process all application events
without having to override wxApp::FilterEvent().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add an Update() call to ensure that text controls in the initially selected
notebook page are shown correctly. It's almost certainly not the right fix for
the real bug that results in text controls not being shown when the notebook
comes up but it doesn't cost much and at least allows us to get correct
appearance for the themed notebooks.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that all the GUIDs are defined by including initguid.h to fix linking
error with most versions of MinGW.
Use "wx" prefix to avoid clashes with the standard GUIDs if they do happen to
be defined.
Closes#13645.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The optimal way of creating a literal strings consisting of only ASCII
characters is to use wxS() as this avoids the need for run-time conversion in
all builds while wxT() requires a conversion from wchar_t to UTF-8 in UTF-8
builds. So replace wxT() with wxS() in wxImage options definitions.
Also remove wxT() from the options documentation, it's just useless there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In some rare but reproducible cases GetCursorPos() can fail and return without
filling in the provided point. Fall back to GetMessagePos() if this happens:
this is not ideal but clearly better than using uninitialized position or hard
coding something like (0, 0).
Closes#13664.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix warnings given when wx headers are compiled with g++ -Wswitch-enum option.
Also make the assert messages more precise and less verbose as there is no
need to include the function name in them, all relatively recent compilers
provide it via __FUNCTION__ and wxFAIL_MSG() already uses it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code using GDK_META_MASK was moved to wx/gtk/private/event.h from
gtk/window.cpp but the fallback definition of GDK_META_MASK for GTK+ < 2.10
remained in window.cpp.
Move it to the header as well now so that it can be compiled with GTK+ < 2.10
again.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This function incorrectly returned index from the end of the array when
searching from the end. Fixed to work as the non-STL version.
Fixes#13626.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is unfortunately required by wxEvent::Clone() support unit test so
provide the default ctor in this class even though it doesn't make any sense
in normal use.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This variable seemed to be redundant with m_requestedSashPosition being set to
INT_MAX so harmonise the code to always check for the latter and get rid of
the former.
There should be no observable changes in behaviour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GetNeedUpdating() was never used at all while SetNeedUpdating() was used only
once while m_needUpdating variable was being changed directly in other places
making the code difficult to follow.
Just use the member variable directly and remove the accessors.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just optimize the idle updates by doing it from (less often
called) UpdateWindowUI() instead of EVT_IDLE handler.
Closes#10075.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This dtor doesn't seem to do anything useful as the base class dtor already
destroys all window children anyhow and removing it is reported to fix some
crashes in wxAUI (which is surprising and probably hides some other bug...).
Closes#13547.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make it possible to set a non-default wxPersistenceManager to use and allow
overriding of GetConfig() and GetKey() methods by making them virtual and
documenting them.
This can be notably used to allow porting of the existing code to use
wxPersistenceManager while keeping compatibility with the old settings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It used to always return false which didn't allow the code using to decide
whether the default splitter position should be used or not.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Macros from WX_DECLARE_HASH_SET family could declare an operator->() which
could never be called because it returned a pointer to a non-object (e.g. a
pointer or a primitive type).
Fix this in the same way as for WX_DECLARE_ARRAY macros by adding (badly but
consistently) named _PTR variants of the macros to allow defining the versions
without operator->().
This fixes tons of warnings when building wx with Sun CC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Arrays of pointers must not overload operator->() as it is not used with them
and is, in fact, unusable, provoking a warning from Sun CC every time such
array is declared. Use the special _PTR-suffixed versions to avoid this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It doesn't make sense to require passing C functions to wxQsort() that we
define in a C++ library. We also don't need any special calling convention
here.
Notice that the only existing uses of wxQsort() inside wxWidgets itself were
not actually extern "C" and one of them didn't even use the correct calling
convention.
Also avoid using non-wx-prefixed CMPFUNCDATA identifier in a public header,
rename it to wxSortCallback instead.
Finally make wxQsort() documentation slightly more useful.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These commas are not allowed by standard C++ and Sun CC warns about them (and
some other compilers, e.g. HP aCC, even give errors for them).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't make wxDateTimePickerCtrl methods pure virtual in its MSW-specific
version as the generic wx{Date,Time}PickerCtrl implementations not using these
methods also inherit from it currently. This is wrong and would need to be
fixed properly later but for now this hack at least allows the generic classes
to compile and, apparently, work under MSW again.
Remove the equally dirty hack used in the generic wxTimePickerCtrl to allow it
to compile which is not needed any more because this one replaces it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Include the headers normally included from wx/wxprec.h.
Also define the stuff missing from the headers of some compilers (notably
MinGW but probably also VC6) ourselves.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need to include the full wxColour declaration instead of just forward
declaring it as we use its ctor for a default value of a parameter.
Also include wx/defs.h to ensure that wxUSE_RICHTOOLTIP is defined before
testing it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix confusion of what cell activation is and inconsistence with native
handling in GTK+. Document the distinction between activating (~
editing) a cell and activating (double-clicking) the whole item.
Deprecate wxDataViewCustomRenderer::LeftClick() and Activate() methods,
replace them with single ActivateCell() that is called for both kinds of
activation.
Fix implementations so that ActivateCell() is not called on
double-click, when it shouldn't, and vice versa: don't send
wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED for cell activation.
Partially reverts r67099 -- restores old 2.9 signatures of compatibility
LeftClick() and Activate() methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Inline editor is more in line with the behavior of other editors,
requiring double click to edit values was unexpected.
Also merge the two almost-but-not-quite identical implementations in
generic and GTK+ versions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxDVC inline editing code attaches some event handlers to the editor
control; most importantly, it watches for Enter key and for focus
changes. If the editor control is a composite window, these events occur
in a sub control and never reach wxDVC code.
Fix this by forwarding events to the main window of the composite
control. Only events required by wxDVC are implemented for now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).
Extra features include:
- The balloon-like tooltip form.
- Possibility to show an icon.
- Title display in a different form.
More customization could be added later. It should be also possible to fully
implement this class natively under MSW.
Update the dialogs sample to show the rich tooltips in action.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775