Commit Graph

158 Commits

Author SHA1 Message Date
Vadim Zeitlin
8fcf46f65c Forbid creation of wxPaintEvent objects from user code
This doesn't work anyhow, so it's better to prevent the code doing this
from compiling instead of getting run-time asserts or worse.

Also simplify construction of these events inside wxWidgets by passing
the window itself to the ctor instead of passing just its ID and calling
SetEventObject() separately later.

For consistency, do the same thing for wxNcPaintEvent too.
2020-02-10 23:03:01 +01:00
Vadim Zeitlin
23f7614626 Don't set 0 client size in wxX11 neither
This also results in BadValue X11 error, so ensure that the size is
valid here too, just as we do in DoSetSize().
2019-11-06 15:05:47 +01:00
Vadim Zeitlin
8df84db842 Add EnsureValidXWindowSize() helper to wxX11 code
Instead of repeating the same checks in several places, do it in a
single one.

Also use the smallest possible valid size (1, 1) instead of the totally
arbitrary (20, 20).
2019-11-06 15:04:35 +01:00
Vadim Zeitlin
acf2f9ef1f Fix assert in wxWindowX11::SetBackgroundColour(wxColour())
Setting invalid colour is supposed to work and reset the background to
the default one, but asserted and then crashed due to triggering another
assert while trying to repaint the window while the assert dialog was
shown, in wxX11.

Fix this in the most expedient way by just resetting the background
colour to its initial value.

A better fix would be to leave it invalid but provide an accessor
returning the default value if the background colour is not defined.
2019-10-30 14:18:13 +01:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
e146b6330d Fix a couple of typos in comments in wxX11 code.
Closes #16835.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-04 13:19:13 +00:00
Vadim Zeitlin
96d7b1d397 Don't declare unnecessary variable in wxUSE_NANOX wxX11 build.
Closes #16833.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-04 13:19:04 +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
f7beec1025 we must store the to be focused window before we kill focus on a window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:43:30 +00:00
Vadim Zeitlin
d9b73c6365 refine the implementation of SetFocus, clean up unused static variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:43:01 +00:00
Vadim Zeitlin
f6fdfe8ebc about focused window, replace static variables implementation by DoFindFocus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:42:58 +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
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
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
5833988cb7 Add wxMouseEvent::GetColumnsPerAction().
This is similar to the existing GetLinesPerAction() but is for, surprise,
columns.

Also change the documentation to say that the value returned by both of these
methods is 3 under "most platforms" as some wxOSX currently uses 1 and not 3.

Closes #15239.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-10 15:53:29 +00:00
Vadim Zeitlin
1b47b78407 Compilation fix for wxUniv/X11 with wxUSE_STL==1.
Don't rely on implicit conversion from wxString to wchar_t*.

Closes #13790.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:50 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Vadim Zeitlin
f18b415ee3 Don't crash on startup of console programs in monolithic wxX11 build.
When using monolithic build, GUI-specific wxWinModule is still linked in but
its initialization crashes because there is no global display. Simply don't do
anything in this module OnInit() in this case to avoid the problem (which
affected e.g. wxrc in this build configuration).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 10:40:31 +00:00
Vadim Zeitlin
31b81622d3 Remove X11-specific wxWindowIsVisible() from common Unix file.
XGetWindowAttributes() used in this function resulted in link problems under
Fedora 14 because we don't explicitly link with libX11. Instead of doing this,
simply get rid of this function as it seems to be used in exactly one place in
wxX11 code only anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-14 12:30:43 +00:00
Paul Cornett
6a50a2c4d3 move default OnInternalIdle processing to wxWindowBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 18:15:21 +00:00
Vadim Zeitlin
80f4c79642 Fix wxX11 compilation when using PCH.
wx/unix/utilsx11.h is not included by wx/wxprec.h so we need to include it
when using PCH too.

Closes #12517.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-27 12:48:07 +00:00
Jouk Jansen
be82fa6989 correcting wxX11 for wxkeysym as was done for wxMOTIF
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65422 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-26 06:53:51 +00:00
Vadim Zeitlin
679918f93d Rename wxWindow::GetMainWindow() to X11GetMainWindow() in wxX11.
This avoids conflicts with GetMainWindow() defined in other wxWindow-derived
classes (such as wxDataViewCtrl and potentially user-defined classes as well).

Closes #11818.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-20 13:03:05 +00:00
Vadim Zeitlin
2344c32b7e Implement wxGetActiveWindow() for wxX11.
Now that wxGetActiveWindow() is used when showing modal dialogs, it became
critical to implement it as otherwise an assert happens every time a dialog is
shown and because creating the assert dialog itself results in another (same)
assert, this immediately results in a crash.

So implement it even if in a very trivial (but hopefully not too incorrect)
way.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-22 00:22:57 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
43b2d5e7c3 Put braces around all calls to wxLogFunctions() inside an if statement.
This suppresses all the remaining g++ -Wparentheses warnings and uses consistent style everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-20 16:47:54 +00:00
Vadim Zeitlin
6de7047076 add virtual DoGetTextExtent() to allow calling the overloaded wxWindowBase::GetTextExtent() on wxWindow objects without any ugly casts/scope resolution operators
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-10 16:41:41 +00:00
Vadim Zeitlin
c6212a0cb7 set m_isBeingDeleted to true (only) in SendDestroyEvent(); call it as early as possible during the window destruction to ensure that destroy event handlers can still access the full window object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 18:33:33 +00:00
Vadim Zeitlin
f84fb4ad9e use wxDC::SetDeviceClippingRegion() instead of deprecated SetClippingRegion()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 11:41:44 +00:00
Julian Smart
df707c27b3 Cut down on unnecessary update events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-14 11:08:49 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Julian Smart
cce69fec84 wxBORDER_THEME processing for Motif and X11
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 14:44:21 +00:00
Vadim Zeitlin
899544330f fix a few hundreds of harmless unused parameters warnings and a couple of real bugs discovered thanks to them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-05 22:29:16 +00:00
Julian Smart
24bd6cb9df Optimized update events by only sending them to visible windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 10:51:31 +00:00
Vadim Zeitlin
ca86035f16 fix off by one (or rather "off by border width") bug in ScrollWindow() (part of patch 1716763)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-15 23:43:03 +00:00
Vadim Zeitlin
43c05cf8e1 adjust the window coordinates for parent client area origin when in Create() too and not only in DoSetSize()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-15 00:28:05 +00:00
Vadim Zeitlin
2cdb6fdb13 added mouse wheel support (patch 1696082)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-08 22:28:42 +00:00
Václav Slavík
3ad2d97259 compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 15:38:36 +00:00
Vadim Zeitlin
9d529fa05c compilation fix after last change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-01 13:22:58 +00:00
Vadim Zeitlin
c5c0121402 don't dereferencep ossibly NULL pointers in DoScreenToClient/ClientToScreen()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 13:34:41 +00:00
Vadim Zeitlin
3aba082d50 don't crash in dtor if the X11 window hadn't been created (patch 1640153)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-20 14:32:18 +00:00
Vadim Zeitlin
b886fae648 Main change is that we now close X11 display on program exit: as this couldn't
be done in wxApp dtor (too early), a special module had to be created for it
and module dependencies added for the other modules which have to be cleaned
up while the display is still open.

Also a few minor formatting changes and removed a couple of unused variables
from wxApp.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-19 14:39:53 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00
Włodzimierz Skiba
25466131ac Include wx/menuitem.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-19 07:12:50 +00:00
Michael Wetherell
af1a6227cc Make wxMouseState's alt and meta match those in events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-15 20:33:38 +00:00
Michael Wetherell
0cbc5287be Implement wxGetMouseState
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-15 13:57:45 +00:00
Włodzimierz Skiba
ed2fbeb835 Include wx/sizer.h and wx/layout.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 06:57:39 +00:00
Włodzimierz Skiba
1ab440bc20 Include wx/scrolwin.h and wx/dirdlg.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-07 11:44:19 +00:00
Włodzimierz Skiba
2a673eb1c9 Include wx/listbox.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-01 08:23:42 +00:00
Włodzimierz Skiba
851dee09b5 Include wx/scrolbar.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-30 13:43:18 +00:00