From: <kr_...@us...> - 2003-05-30 13:07:10
|
Update of /cvsroot/htoolkit/gio/src/Graphics/UI/GIO In directory sc8-pr-cvs1:/tmp/cvs-serv22412/src/Graphics/UI/GIO Modified Files: Attributes.hs Controls.hs Log Message: Added RangedSelect class and his instances for ProgressBar and Slider controls Index: Attributes.hs =================================================================== RCS file: /cvsroot/htoolkit/gio/src/Graphics/UI/GIO/Attributes.hs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Attributes.hs 30 May 2003 11:39:08 -0000 1.10 --- Attributes.hs 30 May 2003 13:07:05 -0000 1.11 *************** *** 75,78 **** --- 75,79 ---- , SingleSelect, selected , MultiSelect, selection + , RangedSelect, range, selectedPos -- * Internal *************** *** 299,300 **** --- 300,308 ---- selection :: Attr w [Int] + -- | Widgets that selects integer position inside the specified range. + class RangedSelect w where + -- | The selection range + range :: Attr w (Int, Int) + + -- | The selected position + selectedPos :: Attr w Int Index: Controls.hs =================================================================== RCS file: /cvsroot/htoolkit/gio/src/Graphics/UI/GIO/Controls.hs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Controls.hs 30 May 2003 11:39:08 -0000 1.11 --- Controls.hs 30 May 2003 13:07:05 -0000 1.12 *************** *** 17,22 **** , Entry, entry, readOnly, visible , Popup, popup ! , Slider, hslider, vslider, sliderRange, sliderPos ! , ProgressBar, hProgressBar, vProgressBar, progressRange, progressPos , CheckGroup, checkGroup, checkLayout , RadioGroup, radioGroup, radioLayout --- 17,22 ---- , Entry, entry, readOnly, visible , Popup, popup ! , Slider, hslider, vslider ! , ProgressBar, hProgressBar, vProgressBar , CheckGroup, checkGroup, checkLayout , RadioGroup, radioGroup, radioLayout *************** *** 448,460 **** return r ! sliderRange :: Attr Slider (Int,Int) ! sliderRange ! = newAttr (\w -> Port.getSliderRange (shandle w)) ! (\w (min,max) -> Port.setSliderRange (shandle w) min max) ! ! sliderPos :: Attr Slider Int ! sliderPos ! = newAttr (Port.getSliderPosition . shandle) ! (Port.setSliderPosition . shandle) instance Commanding Slider where --- 448,458 ---- return r ! instance RangedSelect Slider where ! range = newAttr (\w -> Port.getSliderRange (shandle w)) ! (\w (min,max) -> Port.setSliderRange (shandle w) min max) ! ! selectedPos ! = newAttr (Port.getSliderPosition . shandle) ! (Port.setSliderPosition . shandle) instance Commanding Slider where *************** *** 498,517 **** return r ! progressRange :: Attr ProgressBar (Int,Int) ! progressRange ! = newAttr (\w -> getVar (pbrange w)) ! (\w r@(min,max) -> do ! pos <- Port.getProgressBarFraction (pbhandle w) min max ! Port.setProgressBarFraction (pbhandle w) min max pos ! setVar (pbrange w) r) ! progressPos :: Attr ProgressBar Int ! progressPos ! = newAttr (\w -> do ! (min,max) <- getVar (pbrange w) ! Port.getProgressBarFraction (pbhandle w) min max) ! (\w pos -> do ! (min,max) <- getVar (pbrange w) ! Port.setProgressBarFraction (pbhandle w) min max pos) instance Control ProgressBar where --- 496,513 ---- return r ! instance RangedSelect ProgressBar where ! range = newAttr (\w -> getVar (pbrange w)) ! (\w r@(min,max) -> do ! pos <- Port.getProgressBarFraction (pbhandle w) min max ! Port.setProgressBarFraction (pbhandle w) min max pos ! setVar (pbrange w) r) ! selectedPos ! = newAttr (\w -> do ! (min,max) <- getVar (pbrange w) ! Port.getProgressBarFraction (pbhandle w) min max) ! (\w pos -> do ! (min,max) <- getVar (pbrange w) ! Port.setProgressBarFraction (pbhandle w) min max pos) instance Control ProgressBar where |