Commit Graph

297 Commits

Author SHA1 Message Date
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
3185abc278 Support delayed destruction in console applications too.\n\nThis only works if there is a running event loop but if there is one, we can have the same kind of problems with non-GUI objects such as sockets in console applications as we have with windows in GUI ones, so we must support this (see #10989).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-21 14:16:44 +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
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
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
Vadim Zeitlin
f27683e7da don't use access declarations with Watcom which doesn't support them correctly (closes #10749)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-02 15:31:14 +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
5079735ca0 build fixes for wxUSE_THREADS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-18 04:06:46 +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
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
Robert Roebling
a20a357d92 Make GetEffectiveMinSize virtual as not being able to override the method, which the sizer system depends on, is inflexible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-30 09:37:14 +00:00
Vadim Zeitlin
3b7fa2069b fix remaining cases of wxWindow::ProcessEvent() calls; add convenient ProcessWindowEvent() wrapper and document it; also document this (incompatible) change itself
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 13:41:43 +00:00
Vadim Zeitlin
d571cf149e fix MSVC warning C4516 about using deprecated access declarations; use using declarations instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 13:10:51 +00:00
Francesco Montorsi
004867dbc5 Change in wxWindow the access specifier of the wxEvtHandler event processing and queuing functions
from public to protected. Adapt wxWidgets code and wxWidgets samples to always use wxWindow::GetEventHandler()
when calling such functions on a wxWindow rather than directly using wxWindow::ProcessEvent, etc.
This enables correct event dispatching to the event handlers which have been pushed (with PushEventHandler) on the 
windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 11:58:39 +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
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
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
Vadim Zeitlin
410201d988 added UnsetToolTip() which is also provided (as empty function) in wxUSE_TOOLTIPS==0 case unlike SetToolTip(NULL)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-25 23:19:04 +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
Stefan Csomor
ef0e92205a fixing file paths after renaming
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 19:17:41 +00:00
Václav Slavík
eed04c9999 changed ShowWithEffects() to use directional wxSHOW_EFFECT_XXX flags instead of additional wxDirection argument that doesn't always make sense; this also means the direction is never implicit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-08 21:56:26 +00:00
Francesco Montorsi
53a2db124c substitute WXDLLEXPORT with WXDLLIMPEXP_CORE and WXDLLEXPORT_DATA with WXDLLIMPEXP_DATA_CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-26 15:06: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
Václav Slavík
3b96ea1ac5 added wxWindow::Set/GetMin/MaxClientSize convenience functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-14 13:40:47 +00:00
Václav Slavík
f029f1d15b added wxWindow::HandleAsNavigationKey() helper for handling (not only) TAB key in custom controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-12 20:13:22 +00:00
Václav Slavík
301d7a0da6 added wxWindow::ClientToWindowSize and WindowToClientSize helpers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-12 15:49:22 +00:00
Václav Slavík
3358af0f87 added wxWindow::HasFocus() for more convenient way of determining if a (possibly composite) window has focus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-21 13:30:24 +00:00
Vadim Zeitlin
cf2810aa39 use wxWindowIDRef to transparently implement auto-generated ids ref-counting (slightly modified patch 1835458)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-06 14:38:44 +00:00
Vadim Zeitlin
17808a7596 move Freeze() and Thaw() to wxWindowBase to ensure that they behave consistently (i.e. recursively, as described in the docs) in all ports; removed different duplications of freeze count from derived classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-05 00:21:31 +00:00
Vadim Zeitlin
eeb0bee1d3 unset the window as invoking window of wxCurrentPopupMenu (which now exists in all ports and not just wxMSW-based ones) if it being destroyed before the menu itself (modified patch 1837214)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-22 16:29:38 +00:00
Václav Slavík
7d616e99ed fixed wxScrolledWindow best size calculation: compute something (this was broken after 2.8) and don't use current size in computation; also removed now-unused ScrollGetWindowSizeForVirtualSize() method to simplify the code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-21 22:47:55 +00:00
Václav Slavík
f944aec0cf removed SetVirtualSizeHints() and related code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 12:07:32 +00:00
Vadim Zeitlin
8257d7cd47 corrected/removed forward declarations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-12 14:32:49 +00:00
Robert Roebling
15f7c30516 Added wxWrapSizer (modified patch: [1826950] Wrapping Sizer) from Arne Steinarson
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-08 11:37:17 +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
Vadim Zeitlin
376d7d9764 added Show/HideWithEffect() and implemented them using AnimateWindow() for Win32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-24 16:15:08 +00:00
Paul Cornett
b2e10daccc make DoSetSizeHints protected, remove parameter defaults
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-22 06:12:56 +00:00
Vadim Zeitlin
c944775f72 added wxWindow::GetPrev/NextSibling()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-20 15:57:51 +00:00
Vadim Zeitlin
f35fdf7e4a added logic to manage automatically allocated ids in-use status to avoid clashes for long-running programs (modified patch 1800016, incidentally fixes bug 1832620)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-16 23:25:18 +00:00
Julian Smart
dc797d8e1b More border rationalisation. GetDefaultBorder is now mostly defined in base class files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 12:10:34 +00:00
Vadim Zeitlin
c114200348 added wxWindow::AlwaysShowScrollbars() and its wxMac implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-03 22:14:29 +00:00
Vadim Zeitlin
00a77b7c5d added wxWindow::GetPopupMenuSelectionFromUser() (modified patch 1793823)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-23 23:42:31 +00:00
Julian Smart
78cd9c69eb wxBORDER_THEME now means 'use an appropriate themed border' on all plaforms
as opposed to wxBORDER_NONE which may or may not show a border, depending on control.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-18 10:48:05 +00:00