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
|