Commit Graph

72 Commits

Author SHA1 Message Date
Julian Smart
6d595f3d7a Don't crash if no scrollbar
Force wxVSCROLL in wxRTC


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-03 13:12:52 +00:00
Vadim Zeitlin
2805bdda51 fix warning about possibly uninitialized variable in release build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 14:54:04 +00:00
Paul Cornett
8aa40b04f8 do only what is necessary in SetScrollbars(), let the base class do the rest
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 20:51:44 +00:00
Robert Roebling
ff8c74b972 Use gtk_range_set_value() to set scrollbar and do that after SetVirtualSize() since the latter can shrink the legal range and gtk_range_set_value() checks for that. It also sends out a value_changed signal which will scroll the window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 21:28:00 +00:00
Paul Cornett
0295d4483b revert last commit, it re-introduces the first problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 08:01:58 +00:00
Paul Cornett
cdb7bf6671 fix bug introduced in last commit, contents not scrolling when selecting treectrl elements with up/down arrow keys
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 07:15:03 +00:00
Robert Roebling
80e8b5de77 Fix scrolled window bug when reducing the virtual size when being scrolled maximally down corrupted the display due to excess scrolling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-17 21:42:17 +00:00
Vadim Zeitlin
29e1398fa0 further untangle generic and native GTK implementations of wxScrollHelper: use the standard wxScrollHelperBase/wxScrollHelper naming convention and move the stuff unused by GTK in the generic implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 16:43:30 +00:00
Vadim Zeitlin
6362d82b3e add wxScrollHelper::ShowScrollbars() (implemented for GTK only right now, generic implementation coming soon)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 15:58:37 +00:00
Vadim Zeitlin
0b0f6f87d5 add convenient GetViewStart() and Scroll() overloads taking wxPoint instead of 2 int[ pointer]s
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 15:11:00 +00:00
Vadim Zeitlin
3d9ecb8771 eliminate the hysteresis when scrollbars didn't disappear when the window was resized to be less than its virtual size and then resized back to be slightly greater than it in the native GTK version too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-26 17:36:35 +00:00
Paul Cornett
8466fc74fa compute scrollbar widths in a more standard way, get rid of redundant m_hasScrolling member
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-10 17:48:33 +00:00
Paul Cornett
ae4c09a83b don't clamp scroll position before updating GtkRange,
it causes HandleOnScroll to incorrectly do nothing when position is > 0 and
  window is resized large enough to no longer need scrollbar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-31 07:08:06 +00:00
Vadim Zeitlin
9ec927f89b ensure that scroll position is always in scrolling range, otherwise we could have a window without scrollbars at all but with non zero scroll offset which was really strange
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-04 11:05:59 +00:00
Robert Roebling
bf6c0db624 Fix scrolling bug where client size was reported wrong
when the scrollbar size was not subtracted when
    using a targetwindow != this.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-19 10:22:20 +00:00
Paul Cornett
f6814d017b minimize code duplication
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 16:31:36 +00:00
Robert Roebling
5713b34914 Make wxGTK's wxScrolledWindow set m_x/xScrollLines to 0
if scrollbars disappear (instead of 1) as per wxMSW.
  Expose m_x/yScrollLines in public getters.
  Correct window origin for scrolled window in RTL.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 10:01:21 +00:00
Paul Cornett
cd38dd5ba0 keep AdjustScrollbars from causing an infinite series of size events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-09 02:41:29 +00:00
Paul Cornett
fb18afdd86 avoid gtk assert on negative window size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-04 21:18:45 +00:00
Paul Cornett
add7cadd99 scrollbar handling simplification
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-17 04:54:13 +00:00
Paul Cornett
0f4f26bd65 don't include scrollbar area in client size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 04:33:43 +00:00
Robert Roebling
940f5ae85d Fix code when making scrollwindow bigger so that
the scroll bars will finally disappear. The
    code forgot to scroll the window back to 0.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-18 23:11:50 +00:00
Vadim Zeitlin
760f0fc2f4 set up scrollbars correctly when we don't need them (fixes the problems reported by the patches 1460482 and 1456060)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-16 01:14:28 +00:00
Mart Raudsepp
9fa72bd2a6 Use g_signal* instead of deprecated gtk_signal*. Use proper casts for the arguments.
Worth norting from the GTK+ docs: "For future usage, direct use of the GSignal API is recommended, this avoids
significant performance hits where GtkArg structures have to be converted into GValues."


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-22 23:28:58 +00:00
Vadim Zeitlin
d32e78bd42 refactored wxGTK scrolling: it has now fully-functioning wxScrollHelper and a lot of duplicate code was removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-10 18:24:27 +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
17a1ebd101 first round of Intel compiler warning fixes: down from a few thousands just to slightly more than 100
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 19:59:19 +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
865bb3251e GTK+ callbacks must have C linkage (patch 1157384)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-21 23:42:26 +00:00
Vadim Zeitlin
f18f464cba don't set virtual size of the window to (0, 0) if scrollbars are removed from it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-17 22:27:28 +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
Robert Roebling
c376d80f40 Override OnSize in the scrollsub sample to disable
sizer and scrollarea interferance.
  Made some code in wxScrolledWindow slightly clearer
    and removed a hack for something that shouldn't
    happen any more.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-08 22:37:46 +00:00
Robert Roebling
878ddad57a Reapplied patch to change the two scrolled window implementations
to no longer clip the last bits as a rounding error. I had to
    change GetVirtualSize() as per my mail to devs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-12 23:44:24 +00:00
Robert Roebling
bf67b13520 Revert patch again, as the scrollbars are now always shown.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-12 12:36:12 +00:00
Robert Roebling
e8cd0e5884 Correct rounding up vs. rounding down error in GTK+
wxScrolledWindow so that no contents is ever hidden,


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-11 23:01:58 +00:00
Robert Roebling
6de9d616ca Correctd orientation of sash handle.
Adapted some code in the native scrolling window
    to the generic version's code.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-13 00:29:32 +00:00
Robert Roebling
e1bf3ad3e8 Applied patch to reorder includes. Not the most
important patch in the world, but still.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-03 21:13:28 +00:00
Vadim Zeitlin
5de9f492ec added DoPrepareDC()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-20 16:30:22 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Robert Roebling
47a3ff38a3 Scrolling pages works not under GTK2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-20 22:27:50 +00:00
Robin Dunn
bfe3577625 Added a const to be consistent with the generic class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-10-02 16:51:36 +00:00
Václav Slavík
14f355c2b5 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Julian Smart
1adff2f56f Use virtual functions to help splittree work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-25 18:49:34 +00:00
Julian Smart
6c9a19aaba Removed erroneous copyright names and corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:23:28 +00:00
Ron Lee
150c8d89c7 Fixed bug in FlexGridSizer mods that prevented them from ever shrinking.
Reverted the earlier SetScrollbars patch and fixed a bug in GetVirtualSize
that was hopefully the real cause of all the preceding woe.

Added a comment and a kludge for a most unusual bug manifesting in the
scrollsub sample.  If it is resized quickly size events appear to get lost
and the scrollbar is set incorrectly.  Adding an extra call to
AdjustScrollbars masks the problem, though its clearly superfluous since
the FitInside above already calls it.  This seems to be a brand new problem
(on both Gtk and msw) as of some time prior to this patch and it should be
looked into further.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-27 09:02:58 +00:00
Ron Lee
12a3f2275c Deprecated wxSizer::Remove( wxWindow* ), s/Remove/Detach/ in most places.
Made wxSizer child list typesafe.  I've not added the wxList implicit
conversion kludge yet, let's see who complains first perhaps..

Deprecated wxSizer::{G,S}etOption in favour of {G,S}etProportion in line
with the parameter name change in the docs.

Added {G,S}etSpacer consistent with the accessors for windows/sizers.

Made all wxSizer index parameters size_t -- we support no sensible
interpretation for negative indexes in them.  Hopefully this will
cause no real problems, but code doing (eg. Remove( 0 )) will need
to change to use 0u to resolve the ambiguity with overloaded members.
This is probably a Good Thing though, ymmv.

s/FALSE/false/g ; s/TRUE/true/g ; s/wxASSERT/wxASSERT_MSG/g in sizer.{cpp,h}

Fixed (I hope) the brokenness in wxSizer::Show -- I have no code to test
this yet, so it's a blind change, but spacers should now be hidden correctly
instead of ignored, and it should be properly reversable over multiple
calls now too.

removed pointless private scoping around DECLARE_CLASS macros.

Replace 0's I added previously with NULL -- not like that will end the
email thread either..

Added Add( wxSizerItem * ) & co.  There are probably a couple of other
places we can usefully do something like this too.  Stopped short of
refactoring everything to raise some issues about sizer method recursion
on -dev.

Updated wxSizer docs some more, they are still incomplete but getting
better.

wrapped KeyCode in wxDEPRECATED, converted all (gtk build) instances
to GetKeyCode.  There may be a few left for other ports.

Fixed a couple of other random compile warnings along the way.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-07 10:22:07 +00:00
Vadim Zeitlin
2b5f62a0b2 merged 2.4 branch into the trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-04 14:11:26 +00:00
Robert Roebling
b03f81b778 Miserable hack around problem when shrinking
a scrolled window with child windows when
    it was maxiamally scrolled.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-08-05 17:56:06 +00:00
Ron Lee
92aff599b5 Update Layout more correctly in DoSetVirtualSize.
fixed format string typo.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-07-07 03:16:35 +00:00