Commit Graph

60 Commits

Author SHA1 Message Date
Paul Cornett
71dc04a664 backport rev 1.60: don't clamp scroll position before updating GtkRange
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@45529 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-18 17:24:52 +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
Robert Roebling
8e40d27b8d Sometimes, deleting code can be a real gain. This
fixes display corruption when a scroll window
    is made smaller and it was previously scrolled
    to the bottom or right most position.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-05-20 10:42:53 +00:00
Julian Smart
47366662de Eliminated a couple of warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-05-13 10:11:13 +00:00
Ron Lee
566d84a7c3 Added knowledge of virtual size to wx(Scrolled)Windows, they can now
manage their own scrollbars with the help of a sizer or other user
clues (SetVirtualSizeHints) without the need for an ancillary container.
Added SetSizerAndFit convenience method.
SetSizer now enables/disables AutoLayout automagically.
Logic bugfix for scrollsub sample.
Syntax bugfix in parser.y.
Compiler warning fix in textctrl.cpp.

 Modified Files:
    docs/latex/wx/scrolwin.tex docs/latex/wx/sizer.tex
    docs/latex/wx/window.tex include/wx/scrolwin.h
    include/wx/sizer.h include/wx/window.h
    include/wx/generic/scrolwin.h include/wx/gtk/scrolwin.h
    samples/scrollsub/scrollsub.cpp src/common/parser.y
    src/common/sizer.cpp src/common/wincmn.cpp
    src/generic/scrlwing.cpp src/gtk/scrolwin.cpp
    src/msw/textctrl.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-04-19 22:12:38 +00:00
Robert Roebling
4ca24f185f Fixed (minor) problems reported by Ron in
scrolled window. The original patch was
    not unproblematic.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-04-14 20:41:45 +00:00
Julian Smart
a6ae98cb7c Fixed GetVirtualSize for wxGTK's wxScrolledWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-04-13 15:16:11 +00:00
Václav Slavík
8c2f379786 added Calc(Un)ScrolledPosition taking wxPoint
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-03-17 14:13:14 +00:00
Robin Dunn
3048629765 Give wxScrolledWindow its own Layout method that takes into account
the virtual size and scrolled offset of the window.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-03-15 00:21:47 +00:00
Vadim Zeitlin
9e691f46b2 changes to make wxGTK compile with GTK+ 2.0: now it does but the minimal
sample crashes on startup


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-03-12 19:24:30 +00:00
Robert Roebling
35917d228a Added wxRegion::Offset(x,y)
Go to plan B: wxWindow::Scroll() now moved the
    m_updateRegion for later processing.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-30 17:25:18 +00:00
Robert Roebling
f47ae6e7e9 Added various calls to wxWindow::Update() to
wxScrolledWindow. This is ONE solution to
    the redraw problem of the new delayed refresh
    code.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-30 16:01:34 +00:00
Julian Smart
13ff9344d6 Attempted to fix splittree problem by not pushing event handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 12:26:27 +00:00
Robert Roebling
c9c4b3a009 Fixed focus event problems with control derived
from wxScrolledWindow.
  If wxTreeCtrl has no +/. button, toggle branch,
    otherwise send activate event upon double-click.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-08-21 11:12:42 +00:00