home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / gempp15b / gemw.man < prev    next >
Encoding:
Text File  |  1993-10-23  |  7.2 KB  |  205 lines

  1.                      GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
  2.  
  3.  
  4.  
  5. NAME
  6.      GEMwindow - Standard GEM windows.
  7.  
  8. DESCRIPTION
  9.      A GEMwindow is a standard GEM window.  Its contents is undefined,
  10.      and redraw requests have no effect - derived classes should
  11.      implement this.  It does however handle the requirement of clipping
  12.      the redraw area, as well as resizing and scrollbars if those
  13.      controls are included in the window parts.
  14.  
  15. CONSTRUCTORS
  16.      GEMwindow(int Parts)
  17.        Create a window with the given parts (see gemfast.h).
  18.  
  19.      GEMwindow(int Parts, const GRect&)
  20.        Create a window with the given parts and the given size.
  21.  
  22.      GEMwindow(int Parts, const GRect& actWorkArea, const GRect& maxWorkArea)
  23.        Create a window with the given parts and the given size for work
  24.        and maximum size.
  25.  
  26.      GEMwindow(const GEMwindow&)
  27.        Create a window which is a copy of the given window in every
  28.        way, except positioned slightly to the right of and below the
  29.        original, and not open.
  30.  
  31. METHODS
  32.      void InActivity(GEMactivity& in)
  33.        Windows are NOT added to a GEMactivity at creation because
  34.        the creation may fail.  Call this once creation has succeeded.
  35.  
  36.      virtual bool Create()
  37.        Called during creation, but may fail, returning FALSE, if GEM
  38.        will allow no more windows - see IsCreated() below.
  39.  
  40.      virtual void Open()
  41.        Open the window.  If the window is already open, it is
  42.        raised to the top.  IsCreated() should be true before
  43.        calling this method.
  44.  
  45.      virtual void Close()
  46.        Close the window.  If the window is already closed, nothing
  47.        happens.
  48.  
  49.      virtual void Delete()
  50.        Delete the window.  This is done automatically at destruction,
  51.        but may be done at any time to free windows.
  52.  
  53.      void BecomeDeleted()
  54.        GEM "automatically" deletes desk accessory windows when the current
  55.        application changes - it then calls AC_CLOSE.  This method changes
  56.        the internal information to reflect what GEM has done.
  57.  
  58.      virtual bool  IsOpen()
  59.        TRUE iff the window is open.
  60.  
  61.      bool  IsCreated()
  62.        TRUE iff the window was successfuly created.
  63.  
  64.      GRect BorderRect()
  65.        Returns the entire area covered by the window, including the
  66.        GEM frame.
  67.  
  68.      GRect WorkRect()
  69.        Returns the area of the interior of the window.
  70.  
  71.      virtual void Top(const GEMevent&)
  72.        Raise the window to the top - an event handler.
  73.  
  74.      virtual void Move(int X, int Y)
  75.        Move the window such that the top-left of the frame is at the given
  76.        pixel position, aligned to the current alignment - see Align() below.
  77.  
  78.      virtual void Resize(int w, int h)
  79.        Set the frame of the window to the given pixel dimensions.
  80.  
  81.      virtual GEMfeedback Click(const GEMevent&)
  82.        An event handler that is called when the user clicks on the window.
  83.  
  84.      void RedrawOverlaps(const GRect&)
  85.        Calls the virtual protected Redraw() method for all the visible
  86.        regions of the given area.
  87.  
  88.      int Handle()
  89.        Returns the GEM handle of the window.
  90.  
  91.      void Align(int x, int y, int xmult=8, int ymult=1);
  92.        Subsequent moves will align such that (x,y) is a multiple
  93.        of (xmult,ymult).
  94.  
  95.      virtual GEMfeedback UserClosed()
  96.      virtual void UserFulled()
  97.      virtual void UserResized( int w,int h )
  98.      virtual void UserMoved( int x, int y )
  99.        These methods provide an additional level of indirection.
  100.        GEMactivity calls THESE methods when the user manipulates
  101.        a window, and these methods simply call the Close, Resize,
  102.        and Move methods above.  However, a SPONTANEOUS Close, Resize,
  103.        or Move (say, done my a menu item) will call the direct
  104.        methods.  See GEMformiconwindow for an example.
  105.      
  106.      virtual GEMfeedback VSlidered(int newPos)
  107.      virtual GEMfeedback LineUp()
  108.      virtual GEMfeedback LineDown()
  109.      virtual GEMfeedback PageUp()
  110.      virtual GEMfeedback PageDown()
  111.        Methods called when the vertical slider is manipulated.
  112.      
  113.      virtual GEMfeedback HSlidered(int newPos)
  114.      virtual GEMfeedback ColumnLeft()
  115.      virtual GEMfeedback ColumnRight()
  116.      virtual GEMfeedback PageLeft()
  117.      virtual GEMfeedback PageRight()
  118.        Methods called when the horizontal slider is manipulated.
  119.  
  120.      char *InfoText() const
  121.        Return a pointer to the current information line text.
  122.      void SetInfoText( const char * );
  123.        Sets the current information line to a COPY of the given string,
  124.        deleting the old information text.
  125.  
  126.      const char *Name()
  127.        Return a pointer to the current window name text.
  128.      void SetName( const char * );
  129.        Sets the window name to a COPY of the given string, deleting
  130.        the old name text.
  131.  
  132.      virtual void Flush()
  133.        Redraws the window to take into account scrollbar adjustments.
  134.        The default is to simply redraw the entire window.
  135.  
  136.      void SetVisibleLines( int noOfLines )
  137.      int VisibleLines()
  138.        Set/get the number of vertical units that the application
  139.        considers to be visible.
  140.  
  141.      void SetTotalLines( int noOfLines )
  142.        Set the number of vertical units that the application considers
  143.        to be represented by the entire scrollbar.
  144.  
  145.      void SetTopLine( int noOfLine )
  146.      int TopLine()
  147.        Set/get the line number (starting at 0) that the application
  148.        considers to be at the top of the visible area.
  149.  
  150.      int LineHeight()
  151.      void LineHeight(int i)
  152.        Set/get the PIXEL size of what the application considers a
  153.        vertical unit.
  154.  
  155.      void SetVisibleColumns( int noOfColumns )
  156.      int VisibleColumns()
  157.      void SetTotalColumns( int noOfColumns )
  158.      void SetLeftColumn( int noOfColumn )
  159.      int LeftColumn()
  160.      int ColumnWidth()
  161.      void ColumnWidth(int i)
  162.        As for Line methods above, but for horizontal (Column) units.
  163.  
  164. PROTECTED MEMBERS:
  165.      int parts
  166.        The window-parts with which the window was created.
  167.      virtual void SetWorkRect( const GRect& )
  168.        Derived classes may wish to modify the rectangle or note changes
  169.        before or after passing to GEMwindow::SetWorkRect().
  170.      virtual bool VAlignSlider()
  171.      virtual bool HAlignSlider()
  172.        Derived classes may wish to note changes to the slider positions.
  173.        Should return TRUE iff the window is changed by the call.
  174.      virtual void Redraw(const GRect&)
  175.        Redraw the given area of the window.  No further clipping is
  176.        required to the given rectangle.  The procedure does NOTHING
  177.        for GEMwindows - derived classes should override this method.
  178.        Also, this method should not use wind_update(), as that is
  179.        done within RedrawOverlaps().
  180.  
  181. EXTENSION
  182.      A derived class should override Redraw() and Click(), and usually
  183.      the protected methods above.
  184.  
  185. SEE ALSO
  186.      GEMformwindow
  187.  
  188. BUGS
  189.      Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
  190.  
  191. AUTHORS
  192.      Warwick Allison, 1993.      Andre Pareis, 1992.
  193.      warwick@cs.uq.oz.au         pareis@cs.tu-berlin.de
  194.  
  195. COPYING
  196.      This functionality is part of the GEM++ library,
  197.      and is Copyright 1993 by Warwick W. Allison.
  198.  
  199.      GEM++ is free and protected under the GNU Library General Public
  200.      License.
  201.  
  202.      You are free to copy and modify these sources, provided you
  203.      acknowledge the origin by retaining this notice, and adhere to
  204.      the conditions described in the GNU LGPL.
  205.