home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / xscrlwnd.h < prev    next >
C/C++ Source or Header  |  1997-10-11  |  3KB  |  75 lines

  1. #ifndef __OOL_XSCROLLWND_H__
  2. #define __OOL_XSCROLLWND_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------------- r 1.0 */
  6. /*===========================================================================*/
  7. /*                              class: XScrollWindow                         */
  8. /*                       derived from: XFrameWindow                          */
  9. /*                        last update: 12/96                                 */
  10. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  11. /*===========================================================================*/
  12.  
  13.  
  14. #include "xfrmwnd.h"
  15.  
  16.  
  17. class XScrollBar;
  18. class XResource;
  19. class XSize;
  20.  
  21. class _export_ XScrollWindow: public XFrameWindow
  22. {
  23.       friend class scrollhandler;
  24.    private:
  25.       void AddDummy(void);
  26.       void DeleteDummy( void);
  27.    protected:
  28.       void CalcHorzSize( void );
  29.       void CalcVertSize( void );
  30.       LONG virtualX, virtualY, scrollPosX, scrollPosY;
  31.       SHORT xStep, yStep, xPage, yPage;
  32. //      SWP clientSwp;
  33.       BOOL scrollEnabled;
  34.    private:
  35.       void Setup();
  36.    public:
  37.       XScrollWindow( const XResource * resource,
  38.                  const char * title=NULL,
  39.                  const ULONG createstyle = XFrameWindow::defaultStyle,
  40.                  const XRect& rec = XRect(),
  41.                  const XFrameWindow * parent = NULL,
  42.                  const BOOL buildFromResource = FALSE,
  43.                  const BOOL animate = FALSE);
  44.       XScrollWindow( const ULONG id,
  45.                  const char * title=NULL,
  46.                  const ULONG createstyle = XFrameWindow::defaultStyle,
  47.                  const XRect& rec = XRect(),
  48.                  const XFrameWindow * parent = NULL,
  49.                  const BOOL buildFromResource = FALSE,
  50.                  const BOOL animate = FALSE);
  51.       virtual ~XScrollWindow();
  52.       void AddVertScroller( void );
  53.       void AddHorzScroller( void );
  54.       void DeleteVertScroller( void );
  55.       void DeleteHorzScroller( void );
  56. //      void DoSize( XSize*);
  57.       void EnableAutoScroll( BOOL b) {scrollEnabled = b;}
  58.       LONG GetHorzPos( void ) { return scrollPosX; }
  59.       XScrollBar * GetHorzScroller(void) { return horz; }
  60.       LONG GetVertPos( void ) { return scrollPosY; }
  61.       XScrollBar * GetVertScroller(void) { return vert; }
  62.       virtual void HScroll( LONG );
  63.       void SetVirtualX( const LONG x);
  64.       void SetVirtualY( const LONG y);
  65.       void SetXPageSize( const SHORT p) { xPage = p;     CalcHorzSize(); }
  66.       void SetYPageSize( const SHORT p) { yPage = p;     CalcVertSize(); }
  67.       void SetXStepSize( const SHORT p) { xStep = p; }
  68.       void SetYStepSize( const SHORT p) { yStep = p; }
  69.       void SetXScrollPos( const USHORT s);
  70.       void SetYScrollPos( const USHORT s);
  71.       virtual void VScroll( LONG );
  72. };
  73.  
  74. #endif
  75.