Commit Graph

331 Commits

Author SHA1 Message Date
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
Julian Smart
a047aff270 Added wxBORDER_THEME, wxWindow::GetDefaultBorderForControl(), wxWindow::CanApplyThemeBorder().
wxTextCtrl and wxSearchCtrl now get the correct border on wxMSW, and the wxRichTextCtrl sample
also now demonstrates correct borders.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-07 19:22:43 +00:00
Václav Slavík
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Vadim Zeitlin
edc0987174 CanAcceptFocus() now returns true if either the window itself or one of its children accepts focus; added new IsFocusable() to test whether the window itself accepts focus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 12:04:06 +00:00
Václav Slavík
049908c573 make wxFrame a wxControlContainer too, so that it behaves in the same way as wxDialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 16:29:23 +00:00
Vadim Zeitlin
a2979ead8d added HasExtraStyle()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-22 20:30:39 +00:00
Václav Slavík
47b378bd88 removed extra semicolons (patch #1700459; fixes compilation with gcc's -pedantic flag)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 09:58:37 +00:00
Vadim Zeitlin
80332672ab make wxControlContainer accept focus depending on whether it has any focusable children when using native TAB navigation too but also allow to manually override this automatic detection; added wxWindow::SetCanFocus() to notify GTK+ about changed focus state
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 22:29:14 +00:00
Vadim Zeitlin
617fb24fc9 define wxHAS_NATIVE_TAB_TRAVERSAL in wx/features.h; include wx/defs.h from wx/containr.h to get this definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 02:07:49 +00:00
Vadim Zeitlin
5644933fa6 added wxWindow::NavigateIn(); provide wxGTK implementation of DoNavigateIn() working with native tab traversal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 22:10:04 +00:00
Vadim Zeitlin
ad02525dad don't check whether the window is shown and enabled in AcceptsFocus() itself
as it makes overriding it in derived classes problematic; provide a separate
non virtual CanAcceptFocus() method checking whether the window accepts focus
and if it can accept it now and use it instead of AcceptsFocus(); documented
AcceptsFocus() and AcceptsFocusFromKeyboard()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 22:36:24 +00:00
Vadim Zeitlin
47a8a4d5cc make IsEnabled() return false even if the window parent, and not the window itself, is disabled and added IsThisEnabled() implementing the old IsEnabled() behaviour; also significantly simplify the window state management code in all ports by factoring out the common parts in wxWindowBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 14:01:53 +00:00
Vadim Zeitlin
6b06226335 added GetTextExtent() overload returning wxSize (patch 1631508)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-10 17:25:36 +00:00
Václav Slavík
c04c7a3d0a wxDFB: fix rendering artefacts when scrolling wxScrolledWindow that contains other widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-22 15:10:26 +00:00
Vadim Zeitlin
d63312a977 added a small helper ToggleWindowStyle() function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-04 11:10:59 +00:00
Vadim Zeitlin
333d70525c added wxWindow::GetWindowBorderSize()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-25 14:52:52 +00:00
Robin Dunn
d6f582e704 Add wxOverlay
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-11 04:07:14 +00:00