Commit Graph

424 Commits

Author SHA1 Message Date
Vadim Zeitlin
cbab155657 No real changes, just fix a typo in comments and documentation.
Use "surprising" instead of (common) "surprizing" misspelling.

Closes #11627.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-14 18:02:26 +00:00
Vadim Zeitlin
4b621e4ce4 Add assert checking that window has no event handlers when destroyed.
Forgetting to pop custom event handlers pushed onto the window before it is
destroyed will result in a crash later on, so try to detect this immediately
with an assert.

We might want to forcefully pop them off too, this could result in memory
leaks but would be still better than crashing.

Closes #11533.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-04 12:51:48 +00:00
Vadim Zeitlin
653351d1cc Don't call SetMinSize() when creating the window if no initial size was given.
Calling SetMinSize() is unnecessary in this case. It also results in GTK+
errors when creating wxFileDialog as it is not created yet when this is called
(but it does take care to pass wxDefaultSize to this function as its size
can't be set yet).

See r62814 and r62817.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-27 19:40:28 +00:00
Vadim Zeitlin
54a3120e95 STL build compilation fix.
Explicitly cast wxWindowBase pointer to wxWindow before passing it to
wxWindowList::Find().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-09 13:27:53 +00:00
Vadim Zeitlin
d7d943a71c Implement wxWindow::DoGetBorderSize() in the trivial case of wxBORDER_NONE.
This fixes an assert in wxGenericStaticText which overrode
DoGetBestClientSize() but not DoGetBorderSize().

It would still be useful to implement DoGetBorderSize() in wxGTK (and other
ports) in general too as using wxGenericStaticText with non-default border
still doesn't work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-08 15:56:14 +00:00
Vadim Zeitlin
efc8837250 Fix unused parameter warning after last commit (r62818).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-08 15:56:08 +00:00
Vadim Zeitlin
6f34fcb34e Fix event object in wxSysColourChangedEvent.
The handler for this event in the base class incorrectly changed the event
object of the original event instead of setting it for the event being sent to
the window children as it was supposed to.

Closes #11458.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-08 15:36:51 +00:00
Vadim Zeitlin
62354609e6 Don't set the initial size as minimal size for top level windows.
Correct the change of r62814: only call SetMinSize() for non-top-level windows
as the user should be able to resize the top-level ones to be smaller than
their initial size.

This also fixes the GTK+ warning resulting from calling wxTLW::SetMinSize()
from the ctor, before the window is realized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-08 15:24:59 +00:00
Vadim Zeitlin
032e024c1c Set initial window size as its minimal size.
The change of r62306 broke the code which relied on the window created with a
given initial size to never become smaller than this size. This was to be
expected because the best size of such window is now (1, 1) and not its
initial size but we still need to preserve the old behaviour for compatibility
and also because it usually does make sense to avoid shrinking the window with
an explicitly specified initial size beneath this value.

So call SetMinSize() with the initial size explicitly now in wxWindowBase
ctor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 23:37:36 +00:00
Vadim Zeitlin
2973301f6f Refactor initialization code in wxTopLevelWindowMSW::Create().
No real changes as the old code was, in fact, correct (although Create()
didn't initialize m_parent explicitly, it was still done in AddChild() if the
parent was not NUL) but just make it more explicit and clear.

Add a new helper wxWindowBase::CreateBase() overload for top level windows,
not taking the validator parameter which doesn't apply to them.

Also make CreateBase() protected as it is only meant to be called from derived
classes Create().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:58:15 +00:00
Vadim Zeitlin
7ccc497b9c Don't use the current size in DoGetBestSize() by default.
Doing this means that a window which was made initially large because no other
windows were present or shown will refuse to shrink to make space for them
later even if it doesn't need to be that large. The issue was masked under MSW
and GTK because the first size event under these ports is sent so early that
the top level parent window is not realized yet and has default size of 20*20
pixels meaning that its children will cache their initial (very small) size as
their best size, but it was very visible under OS X where the initial layout
is done using the real top level window size and broke wxInfoBar showing in
the dialogs sample, for example.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:58:10 +00:00
Vadim Zeitlin
32be10a45d Use wxDEBUG_LEVEL instead of __WXDEBUG__ in wxInfoMessageBox().
Also disable sizer-drawing code unless wxDEBUG_LEVEL>=2 as we don't want it to
be available in production versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-12 11:29:23 +00:00
Vadim Zeitlin
c5cc7fbd27 Made wxWindow::HasScrollbar() do what it says.
Added wxWindow::CanScroll() with the old HasScrollbar() meaning but changed
HasScrollbar() to check for the scrollbar existence instead of just checking
if it might exist.

Closes #10897.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-10 11:18:09 +00:00
Vadim Zeitlin
a16a233822 Implement wxWindow::GetToolTipText().
This was declared in wx/window.h but somehow never implemented.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-25 23:13:58 +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
Stefan Csomor
9504069ea6 guarding for scrollbar use
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-10 17:38:36 +00:00
Vadim Zeitlin
743b426605 Added DoGetClientBestSize() and use it for a couple of controls in wxMSW.
DoGetClientBestSize() returns the best size of the client area, without
accounting for the border which is done by GetBestSize() itself and
DoGetBorderSize() called from it.

Use DoGetClientBestSize() in wxStaticText (where it was done
insideDoGetBestSize() before) and in wxListBox, to fix its height calculation.

Also use correct height of listbox items as returned by the control itself
instead of trying to guess it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-22 20:36:13 +00:00
Vadim Zeitlin
9c61c5b04b introduce wxBG_STYLE_{ERASE,PAINT} and implement their documented semantics in wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 23:04:42 +00:00
Vadim Zeitlin
6528a7f145 make wxWindow::SetAutoLayout() now works for all windows, not just panels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-23 11:26:58 +00:00
Francesco Montorsi
39cdc95fb3 allow windows which are placed inside wxStaticBoxes to be built as children of the wxStaticBox itself rather than forcing users to build them as siblings of the static box (closes #9859)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 10:49:36 +00:00
Stefan Csomor
d792823395 special casing mac code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:51:40 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Vadim Zeitlin
8cc208e39f deprecate the old TryValidator/Parent() and replace them with the new and documented TryBefore/After()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 16:16:31 +00:00
Paul Cornett
817d2e9b9b remove unused gtk includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-19 07:37:12 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
79cb759dc8 remove incorrect cast of wxString to char* (unnecessary and breaks wxUSE_STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-06 21:55:09 +00:00
Francesco Montorsi
1b942d5f70 add code for debugging sizers/window sizes; it may be very useful for other purposes as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-05 17:54:17 +00:00
Francesco Montorsi
a721fd82b7 in debug mode when clicking with the middle mouse button draw borders around all windows, not only those with a sizer; use different pen colours to distinguish among sizers, spacers and windows.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 16:55:28 +00:00
Robert Roebling
8a150a2430 Remove debug code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-30 23:03:01 +00:00
Robert Roebling
26f7724c4b Don't use a cached best size if the window has a sizer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-30 20:08:14 +00:00
Robert Roebling
e81c715586 Move body of SetMinSize and SetMaxSize from header to cpp file for easier debugging. The methods are virtual anyway.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-30 09:49:29 +00:00
Francesco Montorsi
7f853dd046 fix wxWindow::PushEventHandler and related wxWindow functions for the stack management; currently they don't work well when passing event handlers which are part of an event handler chain (see wx-dev thread 'wxWindow event handler stack'); implement wxEvtHandler Unlink() and IsUnlinked() functions and document them; revise docs of all involved functions of both wxEvtHandler and wxWindow, adding images for better explanations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-22 11:53:09 +00:00
Vadim Zeitlin
a79a6671e4 send destroy events for children before they're fully destroyed; document SendDestroyEvent() and explain when to call it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 00:14:30 +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
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Vadim Zeitlin
565382de29 disable UI updating during GetPopupMenuSelectionFromUser() execution to avoid unexpected clashes between the ids used in it and the update UI handlers elsewhere in the program
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 11:02:49 +00:00
Václav Slavík
4f24cbbd3d implement wxWindow::DragAcceptFiles() on all platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-13 22:30:40 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Paul Cornett
d45a01e049 pass window parameter to wxSystemSettings::GetMetric() so wxGTK can get the value right more often
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-17 04:36:25 +00:00
Vadim Zeitlin
92089d00a1 use ProcessEventHere() instead of ProcessEvent() in TryValidator() to avoid passing the unhandled event to wxApp before it can be processed by this window itself
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-22 00:34:14 +00:00
Vadim Zeitlin
a3ac93e3ac return true from IsBeingDeleted() if any of the parent windows is marked for destruction too (see #9867)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-12 14:09:30 +00:00
Václav Slavík
31b9d29fd7 add assert checking that GetCapture() and ms_winCaptureCurrentare in sync
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-13 09:00:36 +00:00
Vadim Zeitlin
76be36e401 fix an assert failure when a child TLW was created and destroyed while the parent window was frozen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-05 22:47:11 +00:00
Vadim Zeitlin
ecdc118383 add PostSizeEvent() and use it in wxMSW status bar code (#9795)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 23:07:24 +00:00
Vadim Zeitlin
0dba08dd39 move SendSizeEvent() down to wxWindow from wxFrame; added SendSizeEventToParent() helper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 12:32:47 +00:00
Vadim Zeitlin
a50c5fccdc use HandleWindowEvent() in Close() as it can be called from a GTK+ callback (#9565)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-13 00:09:19 +00:00
Francesco Montorsi
cb129171c2 further wxPenStyle/wxBrushStyle fixes for builds with compat off (partially by Marcin Wojdyr)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-19 18:28:04 +00:00
Paul Cornett
04ee05f92a fix a huge number of build errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-17 18:26:00 +00:00
Václav Slavík
520746acb5 deprecated wxWindow::SetHelpTextForId()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-06 19:28:51 +00:00
Václav Slavík
1c8e5c51f8 made Freeze/Thaw recursively (un)freeze child windows too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-03 11:30:07 +00:00