| 
      
      
      From: <kr_...@us...> - 2003-08-31 11:48:31
      
     | 
| Update of /cvsroot/htoolkit/gio/src/Graphics/UI/GIO
In directory sc8-pr-cvs1:/tmp/cvs-serv22424/src/Graphics/UI/GIO
Modified Files:
	Events.hs Window.hs 
Log Message:
Split TopLevel class to Activity and Resizeable classes
Index: Events.hs
===================================================================
RCS file: /cvsroot/htoolkit/gio/src/Graphics/UI/GIO/Events.hs,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** Events.hs	23 Aug 2003 00:04:47 -0000	1.16
--- Events.hs	31 Aug 2003 11:48:26 -0000	1.17
***************
*** 73,78 ****
               , mouse, keyboard, contextMenu
               
!              -- ** TopLevel
!              , TopLevel, activate, deactivate, resize, resizeable
               
               -- ** Scrollable
--- 73,81 ----
               , mouse, keyboard, contextMenu
               
!              -- ** Activity
!              , Activity, activate, deactivate, isactive
!              
!              -- ** Resizeable
!              , Resizeable, resize, resizeable
               
               -- ** Scrollable
***************
*** 150,157 ****
  
  
! -- | A top level widget is a widget which doesn't have parents.
! class TopLevel w where
!   activate   :: Event w (IO ())
!   deactivate :: Event w (IO ())
    resize     :: Event w (Size -> IO ())
    
--- 153,158 ----
  
  
! -- | All widgets which the user can dynamicaly resize are members of Resizeable class.
! class Resizeable w where
    resize     :: Event w (Size -> IO ())
    
***************
*** 160,163 ****
--- 161,169 ----
    resizeable :: Attr  w Bool
  
+ -- | All widgets which can be activated\/deactivated are members of Activity class.
+ class Activity w where
+   activate   :: Event w (IO ())
+   deactivate :: Event w (IO ())
+   isactive   :: Attr w Bool
  
  class Scrollable w where
Index: Window.hs
===================================================================
RCS file: /cvsroot/htoolkit/gio/src/Graphics/UI/GIO/Window.hs,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** Window.hs	24 Aug 2003 21:07:48 -0000	1.26
--- Window.hs	31 Aug 2003 11:48:26 -0000	1.27
***************
*** 138,144 ****
    contextMenu = newStdEvent hwindow Lib.getWindowContextMenuHandler Lib.setWindowContextMenuHandler Lib.setWindowContextMenuDefHandler
  
! instance TopLevel Window where
    activate  = newStdEvent hwindow Lib.getWindowActivateHandler   Lib.setWindowActivateHandler   Lib.setWindowActivateDefHandler
    deactivate= newStdEvent hwindow Lib.getWindowDeactivateHandler Lib.setWindowDeactivateHandler Lib.setWindowDeactivateDefHandler
    resize    = newStdEvent hwindow Lib.getWindowResizeHandler     Lib.setWindowResizeHandler     Lib.setWindowResizeDefHandler
    resizeable
--- 138,151 ----
    contextMenu = newStdEvent hwindow Lib.getWindowContextMenuHandler Lib.setWindowContextMenuHandler Lib.setWindowContextMenuDefHandler
  
! instance Activity Window where
    activate  = newStdEvent hwindow Lib.getWindowActivateHandler   Lib.setWindowActivateHandler   Lib.setWindowActivateDefHandler
    deactivate= newStdEvent hwindow Lib.getWindowDeactivateHandler Lib.setWindowDeactivateHandler Lib.setWindowDeactivateDefHandler
+   isactive  = readAttr "isactive" (\w -> do
+   			handles <- Lib.getAllWindowHandles
+   			case handles of
+   			   []     -> return False
+   			   (x:xs) -> return (hwindow w == head handles))
+ 
+ instance Resizeable Window where
    resize    = newStdEvent hwindow Lib.getWindowResizeHandler     Lib.setWindowResizeHandler     Lib.setWindowResizeDefHandler
    resizeable
 |