Commit Graph

158 Commits

Author SHA1 Message Date
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Paul Cornett
f3ddefc1ad Remove SashHitTest() "tolerance" parameter
Mouse events (LeftDown in particular) will only occur if the mouse is over the
sash, so it does not make sense to have a fudge factor


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-03 18:14:55 +00:00
Paul Cornett
bea20f8d7a Avoid setting sash resize cursor when mouse is still over border of second pane with wxGTK
This made it possible to have the resize cursor, but not be able to drag the
sash, and happened because wxGTK sends a leave event when mouse leaves client
area instead of outer border of window. Setting the useless SashHitTest()
"tolerance" parameter to zero avoids the problem.
Fixes #1397


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73110 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-03 18:04:46 +00:00
Paul Cornett
59ee332f1e Fix SashHitTest() returning true one pixel past the sash
If the sash is n pixels wide, the last position over the sash is start + n - 1, not start + n


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-03 17:37:54 +00:00
Vadim Zeitlin
c0430d964d Added wxSplitterWindow::SetSashInvisible() and IsSashInvisible().
Also fix handling of wxSP_NOSASH.

Closes #14074.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-08 13:23:39 +00:00
Vadim Zeitlin
6460ce5afe Avoid too many sash position changed events when splitter is resized.
We could call SetSashPositionAndNotify() twice in a row which was probably
unexpected and possibly wasteful, if the user code did anything non trivial in
response to this event.

Just call it once after we're certain which sash position do we want to set.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:50 +00:00
Vadim Zeitlin
1b5dfa53aa Fix the check for second window becoming too small in wxSplitterWindow.
There was a strange check for the second pane size in OnSize() which hardcoded
5 pixels as minimal pane size in the check and 40 pixels as the minimal size
to set. This resulted in strange behaviour when the second pane size would
decrease to 6 pixels smoothly and then jump back to 40 pixels when the
splitter window was resized and also was ugly at the code level.

Get rid of this code and simply call AdjustSashPosition() to ensure that the
sash position remains valid as the splitter is resized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:48 +00:00
Vadim Zeitlin
853f4764c0 Make the initial sash position work in splitter sample.
The initial splitter size must be set correctly when using gravity with
wxSplitterWindow as otherwise the sash would jump on first resize -- which was
exactly what happened in the splitter sample.

Add a SetSize() call to the sample with the comment explaining why is it
needed and also actually make it stick as the cached last size was not updated
before the splitter was split before.

Closes #9821.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:44 +00:00
Vadim Zeitlin
c79d40fe1e Don't apply gravity before requested sash position was set in wxSplitterWindow.
Gravity should take effect only after the originally requested sash position
is set as otherwise it's not really taken into account.

Closes #13508.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:40 +00:00
Vadim Zeitlin
31174267f8 Remove wxSplitterWindow::m_checkRequestedSashPosition.
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
2011-10-30 19:48:38 +00:00
Vadim Zeitlin
8219f7f982 No changes, just remove wxSplitterWindow::{Set,Get}NeedUpdating().
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
2011-10-30 19:48:34 +00:00
Vadim Zeitlin
e657c460a3 Still resize wxSplitterWindow children even when sash position doesn't change.
Since the changes if r68876, the splitter windows were not resized correctly
if the splitter size in the direction orthogonal to its own didn't change.
This was an unintended side effect of the changes in that commit as it only
wanted to avoid calling SetSashPositionAndNotify() in this case, but
SizeWindows() should still be called.

Ensure that we do call it always from wxSplitterWindow::OnSize() to fix this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-11 11:27:17 +00:00
Vadim Zeitlin
aaa801d1dd Try harder to set the requester splitter position in wxSplitterWindow.
The code in wxSplitterWindow tried to remember the requested position and set
the real sash position to it later, even if the initial window size was too
small to allow for it, but it didn't work because the requested position was
forgotten after the first size event, even though it was quite possible that
this event didn't really change the window size from the initial, small, one.

Try to make this more robust by ignoring the size events which don't really
change the window size. Also set m_lastSize correctly initially.

Now setting the sash position does work even if the splitter itself is inside
nested sizers (which results in many size events).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 11:48:18 +00:00
Vadim Zeitlin
9023040798 Replace wxControlContainer-related macros with wxNavigationEnabled<>.
Simply inherit classes which need to provide TAB navigation among their
children from wxNavigationEnabled<> and remove the now unnecessary
WX_DECLARE_CONTROL_CONTAINER() macros.

Also remove WX_INIT_CONTROL_CONTAINER(), WX_DELEGATE_TO_CONTROL_CONTAINER()
and WX_EVENT_TABLE_CONTROL_CONTAINER() which are not needed neither any more.

And remove the event tables which became empty after removing the last macro.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:33 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Vadim Zeitlin
26696222ff Deprecate not working wxSplitterWindow::SetSashSize().
Setting sash size to non default value didn't work correctly and didn't make
much sense anyhow as the sash appearance is platform-dependent and current
code for drawing it doesn't work for arbitrary sizes.

Simply remove the possibility to set the sash size.

Closes #12412.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-22 01:23:16 +00:00
Vadim Zeitlin
245f96e890 Don't forbid creating wxSplitterWindow with border style.
Any border specified for wxSplitterWindow was explicitly discarded when
creating it but there doesn't seem to be any reason to forbid it, the original
code probably predated the addition of wxWindow::GetDefaultBorder() which
allowed to have different borders by default for different classes.

In any case, simply remove this code now to allow creating splitters with
borders if so desired.

Closes #12413.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-22 01:23:02 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Stefan Csomor
4766d85b11 if we have wxBG_STYLE_PAINT, we must clear the background ourselves, since on OSX there might be transparent subpanels, fixes #11958
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-20 05:01:39 +00:00
Vadim Zeitlin
b5a9b87e16 wxSplitterWindow mouse capture improvements and cleanup.
- Handle mouse-capture-lost event to abort dragging mode.
- Remember mouse and sash position on buttondown event and use them as
  absolute reference during dragging. Avoid delta values from one mousemove to
  the next as this may introduce a skew during dragging and especially when
  coordinate clipping occurs.
- Clear the requested sash position when dragging in live mode.
- Draw the tracker at correct coordinates - taking into account the width of
  the pen used to draw the tracker.
- The old code did not clearly distinguish between live vs. tracking mode in
  some places.

Closes #11076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-05 17:25:27 +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
24dd7bc824 don't add the sash size to the best size if the window is not actually split (see #10533)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 15:16:48 +00:00
Julian Smart
cdfd5e0166 Prevent splitter sash being set below minimum size when moved
(using the same minimum size for both windows is probably a bad design choice)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-05 15:44:01 +00:00
Vadim Zeitlin
9b11752c4f require semicolon after wxDECLARE/DEFINE_EVENT() (closes #10456)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 18:59:25 +00:00
Vadim Zeitlin
25102676bc skip mouse events we're not interested in (e.g. mouse wheel ones) (closes #10062)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 14:45:52 +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
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Julian Smart
b315b9c405 Always use live sash update on Mac since it can't paint the splitter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 15:58:24 +00:00
Paul Cornett
b7bc9d806b cleanup: unreachable code, unused variables, indentation, etc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-16 18:20:46 +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
Stefan Csomor
9553702e46 mac cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-20 16:21:04 +00:00
Vadim Zeitlin
de160b0647 don't use wxControlContainer if wxHAS_NATIVE_TAB_TRAVERSAL is defined (currently it never is)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 22:41:11 +00:00
Robin Dunn
170acdc90e GetBestFittingSize --> GetEffectiveMinSize
SetBestFittingSize --> SetInitialSize
SetBestSize  --> SetInitialSize
SetInitialBestSize --> SetInitialSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 08:50:17 +00:00
Robert Roebling
cbc82a22cc Removed GetAdjustedBestSize().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 18:20:33 +00:00
Paul Cornett
6934602337 don't set negative window size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-09 02:42:48 +00:00
Vadim Zeitlin
6c20e8f816 move default button handling code from wxControlContainer to wxTLW (patch 1524441)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 01:31:13 +00:00
Vadim Zeitlin
9ffab13f6d gcc -Wundef warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-06 23:01:29 +00:00
Paul Cornett
6a423d6544 remove unneeded include of mac/private.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-20 05:43:06 +00:00
Vadim Zeitlin
da6205f7fb compilation fix after latest dc.h changes for !WX_PRECOMP case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-27 22:16:05 +00:00
Vadim Zeitlin
4e115ed2c7 fixed variable shadowing icc warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-26 00:29:42 +00:00
Vadim Zeitlin
259c43f679 more extra semicolons removed (patch 1303724)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 11:16:57 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Vadim Zeitlin
7a64baad69 don't allow negative splitter position
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-05 22:34:24 +00:00
Julian Smart
aa69b468d8 Applied [ 1223134 ] [wxMSW] Proper repainting when resizing - take 2, part 2
Jamie Gadd
Applied [ 1223491 ] splitter sizes not initialized on wx2.6.1
Aron Pongo


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-21 16:08:22 +00:00
Julian Smart
5755c2b2a5 Allow Initialize(NULL)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-29 12:22:43 +00:00
Vadim Zeitlin
9ec0e7da98 send wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED only once after end of dragging and not after each CHANGING event (modified patch 1076226)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-27 15:50:17 +00:00
Julian Smart
844adaa47a Provided GetBestVirtualSize and DoGetBestSize implementations for
generic and GTK+ wxScrolledWindow.

wxWindowBase::DoGetBestSize was returning a virtual size if there were child
controls, which was then used to set the scrolled window actual size.
Similarly, wxWindowBase::GetBestVirtualSize was returning
the actual window size; now we return the virtual size
for dimensions that have scrolling (e.g. vertical scrolling
direction), or the minimum/actual size for those that don't
(e.g. the maximum control width if there is no horizontal
scrolling).

This allows the scrolled window to be properly sized, whereas
before it would start off at the virtual size (giving
enormous layouts).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-17 21:21:45 +00:00
Julian Smart
1c96869800 Must use GetAdjustedBestSize for getting child window sizes, since
DoGetBestSize returns standard control size e.g. 100x100 on Windows,
and not an explicit size passed to it. This may be because the splitter
window isn't a true sizer and m_bestSizeCache isn't updated properly
(see window.h, GetBestSize: IsFullySpecified fails.)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-02 10:44:17 +00:00
Włodzimierz Skiba
c47addef10 wxPoint/Size/Rect() causes the same code with (0,0) initialization and is incomparably more readable and clear.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-16 20:34:34 +00:00
Włodzimierz Skiba
2997ca30d6 Use default constructors for wxSize/Point/Rect.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-10 21:33:56 +00:00