]> git.saurik.com Git - wxWidgets.git/commitdiff
Minor doc updates,
authorRobert Roebling <robert@roebling.de>
Mon, 11 Oct 1999 10:48:43 +0000 (10:48 +0000)
committerRobert Roebling <robert@roebling.de>
Mon, 11 Oct 1999 10:48:43 +0000 (10:48 +0000)
  Made resizing a scrolled window function,

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/listbox.tex
docs/latex/wx/scrolwin.tex
docs/latex/wx/tunicode.tex
docs/latex/wx/window.tex
samples/scroll/scroll.cpp
src/generic/scrolwin.cpp

index af66b1a91ca3a45710ac8540e76e85cd479b166a..5fb33ba364606950db713234cd2153df815d57d8 100644 (file)
@@ -7,7 +7,8 @@ is selected, the previous selection is removed) or multiple selection
 (clicking an item toggles the item on or off independently of other
 selections).
 
-List box elements are numbered from zero.
+List box elements are numbered from zero. Their number is limited in
+some platforms (e.g. ca. 2000 on GTK).
 
 A listbox callback gets an event wxEVT\_COMMAND\_LISTBOX\_SELECT for single clicks, and
 wxEVT\_COMMAND\_LISTBOX\_DOUBLE\_CLICKED for double clicks.
index bdc315b4800a3786cf7b12fd5e8ec4d718dd3b16..aae43b2b281ef196b93cee30007cb0b5a9fb0215 100644 (file)
@@ -14,6 +14,12 @@ If you don't wish to calculate your own scrolling, you must call PrepareDC when
 within OnDraw, to set the device origin for the device context according to the current
 scroll position.
 
+Note that the underlying system knows nothing about scrolling coordinates, so that all system
+functions (mouse events, expose events, refresh calls etc) as well as the position of subwindows 
+are relative to the "physical" origin of the scrolled window. If the user insert a child window at
+position (10,10) and scrolls the window down 100 pixels (moving the child window out of the visible
+area), the child window will report a position of (10,-90).
+
 \wxheading{Derived from}
 
 \helpref{wxPanel}{wxpanel}\\
@@ -139,7 +145,9 @@ Enable or disable physical scrolling in the given direction. Physical
 scrolling is the physical transfer of bits up or down the
 screen when a scroll event occurs. If the application scrolls by a
 variable amount (e.g. if there are different font sizes) then physical
-scrolling will not work, and you should switch it off.
+scrolling will not work, and you should switch it off. Note that you
+will have to reposition child windows yourself, if physical scrolling
+is disabled.
 
 \wxheading{Parameters}
 
index 43f36eb773e002493589efca84025cf20d7212e8..870b86f894bcbe53e301b59b30208fcd93716195 100644 (file)
@@ -95,11 +95,11 @@ section.
 
 \subsection{Unicode support in wxWindows}
 
-In wxWindows, the code fragment froim above should be written instead:
+In wxWindows, the code fragment from above should be written instead:
 
 \begin{verbatim}
-    wxChar ch = T('*');
-    wxString s = T("Hello, world!");
+    wxChar ch = wxT('*');
+    wxString s = wxT("Hello, world!");
     int len = s.Len();
 \end{verbatim}
 
@@ -114,22 +114,22 @@ a separate type for strings though, because the standard
 \helpref{wxString}{wxstring} supports Unicode, i.e. it stores iether ANSI or
 Unicode strings depending on the mode.
 
-Finally, there is a special {\tt T()} macro which should enclose all literal
+Finally, there is a special {\tt wxT()} macro which should enclose all literal
 strings in the program. As it's easy to see comparing the last fragment with
 the one above, this macro expands to nothing in the (usual) ANSI mode and
 prefixes {\tt 'L'} to its argument in the Unicode mode.
 
 The important conclusion is that if you use {\tt wxChar} instead of 
 {\tt char}, avoid using C style strings and use {\tt wxString} instead and
-don't forget to enclose all string literals inside {\tt T()} macro, your
+don't forget to enclose all string literals inside {\tt wxT()} macro, your
 program automatically becomes (almost) Unicode compliant!
 
 Just let us state once again the rules:
 \begin{itemize}
 \item Always use {\tt wxChar} instead of {\tt char}
-\item Always enclose literal string constants in {\tt T()} macro unless
+\item Always enclose literal string constants in {\tt wxT()} macro unless
 they're already converted to the right representation (another standard
-wxWindows macro {\tt \_()} does it, so there is no need for {\tt T()} in this
+wxWindows macro {\tt \_()} does it, so there is no need for {\tt wxT()} in this
 case) or you intend to pass the constant directly to an external function
 which doesn't accept wide-character strings.
 \item Use {\tt wxString} instead of C style strings.
index d877e1cf846b67da38086721f630fcbb2d098fff..247b3d37cfb9c2a23ec606f01faf42a4c1f58a8b 100644 (file)
@@ -28,10 +28,10 @@ window class or on all platforms.
 \twocolwidtha{5cm}%
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays a thin border around the window. wxBORDER is the old name
-for this style. Windows only. }
+for this style. }
 \twocolitem{\windowstyle{wxDOUBLE\_BORDER}}{Displays a double border. Windows only.}
 \twocolitem{\windowstyle{wxSUNKEN\_BORDER}}{Displays a sunken border.}
-\twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border.}
+\twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border. GTK only. }
 \twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control. Windows only. }
 \twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
 events. Windows only.}
index c35c00e79a144d37625dccae54b297a7bc9fdabf..3567376359a8b2ff1f2c9270ea8c1c031f8d91a2 100644 (file)
@@ -124,7 +124,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
   
     m_button = new wxButton( this, ID_QUERYPOS, "Query position", wxPoint(10,110) );
   
-    (void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,150) );
+    (void) new wxTextCtrl( this, -1, "wxTextCtrl", wxPoint(10,150), wxSize(80,-1) );
   
     (void) new wxRadioButton( this, -1, "Disable", wxPoint(10,190) );
   
index cc001c2d47a751fb8a39751155e72a9d90e1352e..81a4a152de1a0a90ea0a13f296ee8f455a4d51bd 100644 (file)
@@ -305,10 +305,13 @@ int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event)
 }
 
 // Adjust the scrollbars - new version.
-void wxScrolledWindow::AdjustScrollbars(void)
+void wxScrolledWindow::AdjustScrollbars()
 {
     int w, h;
     GetClientSize(&w, &h);
+    
+    int oldXScroll = m_xScrollPosition;
+    int oldYScroll = m_yScrollPosition;
 
     if (m_xScrollLines > 0)
     {
@@ -353,6 +356,22 @@ void wxScrolledWindow::AdjustScrollbars(void)
         m_yScrollPosition = 0;
         SetScrollbar (wxVERTICAL, 0, 0, 0, FALSE); 
     }
+    
+    if (oldXScroll != m_xScrollPosition)
+    {
+       if (m_xScrollingEnabled)
+            ScrollWindow( m_xScrollPixelsPerLine * (oldXScroll-m_xScrollPosition), 0, (const wxRect *) NULL );
+       else
+            Refresh();
+    }
+    
+    if (oldYScroll != m_yScrollPosition)
+    {
+        if (m_yScrollingEnabled)
+            ScrollWindow( 0, m_yScrollPixelsPerLine * (oldYScroll-m_yScrollPosition), (const wxRect *) NULL );
+        else
+            Refresh();
+    }
 }
 
 // Default OnSize resets scrollbars, if any