-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Leksah tool kit -- -- UI Framework used by leksah @package ltk @version 0.10.0 -- | Module for parameters for editors module Graphics.UI.Editor.Parameters -- | A type for parameters for editors type Parameters = [Parameter] data Parameter ParaName :: String -> Parameter ParaSynopsis :: String -> Parameter ParaDirection :: Direction -> Parameter ParaShadow :: ShadowType -> Parameter ParaShowLabel :: Bool -> Parameter ParaOuterAlignment :: (Float, Float, Float, Float) -> Parameter -- | xalign yalign xscale yscale ParaOuterPadding :: (Int, Int, Int, Int) -> Parameter ParaInnerAlignment :: (Float, Float, Float, Float) -> Parameter -- | xalign yalign xscale yscale ParaInnerPadding :: (Int, Int, Int, Int) -> Parameter ParaMinSize :: (Int, Int) -> Parameter ParaHorizontal :: HorizontalAlign -> Parameter ParaStockId :: String -> Parameter ParaMultiSel :: Bool -> Parameter ParaPack :: Packing -> Parameter paraName :: Parameter -> (Maybe String) paraSynopsis :: Parameter -> (Maybe String) paraDirection :: Parameter -> (Maybe Direction) paraShowLabel :: Parameter -> (Maybe Bool) paraShadow :: Parameter -> (Maybe ShadowType) paraOuterAlignment :: Parameter -> (Maybe (Float, Float, Float, Float)) paraInnerAlignment :: Parameter -> (Maybe (Float, Float, Float, Float)) paraOuterPadding :: Parameter -> (Maybe (Int, Int, Int, Int)) paraInnerPadding :: Parameter -> (Maybe (Int, Int, Int, Int)) paraMinSize :: Parameter -> (Maybe (Int, Int)) paraHorizontal :: Parameter -> (Maybe (HorizontalAlign)) paraStockId :: Parameter -> (Maybe String) paraMultiSel :: Parameter -> (Maybe Bool) paraPack :: Parameter -> (Maybe Packing) -- | Convenience method to get a parameter, or if not set the default -- parameter getParameter :: (Parameter -> (Maybe beta)) -> Parameters -> beta getParameterPrim :: (Parameter -> (Maybe beta)) -> Parameters -> Maybe beta (<<<-) :: (Parameter -> (Maybe beta)) -> Parameter -> Parameters -> Parameters emptyParams :: [Parameter] -- | The direction of a split data Direction Horizontal :: Direction Vertical :: Direction data HorizontalAlign StartHorizontal :: HorizontalAlign StopHorizontal :: HorizontalAlign Keep :: HorizontalAlign instance Eq Direction instance Show Direction instance Eq HorizontalAlign instance Show HorizontalAlign instance Eq Parameter instance Show Parameter -- | A simple event mechanism module Control.Event -- | Every event needs a selector, which should identify the type of event class (Eq delta, Ord delta, Show delta) => EventSelector delta -- | Every event needs to know its selector and its source class EventSelector delta => Event beta delta | beta -> delta, delta -> beta getSelector :: Event beta delta => beta -> delta -- | Everything which is an event source needs this alpha is the Notifier -- beta is the event gamma is the monad delta is the event selector class (Monad gamma, Event beta delta) => EventSource alpha beta gamma delta | alpha -> beta, alpha -> gamma getHandlers :: EventSource alpha beta gamma delta => alpha -> gamma (Handlers beta gamma delta) setHandlers :: EventSource alpha beta gamma delta => alpha -> Handlers beta gamma delta -> gamma () myUnique :: EventSource alpha beta gamma delta => alpha -> gamma (Unique) canTriggerEvent :: EventSource alpha beta gamma delta => alpha -> delta -> Bool triggerEvent :: EventSource alpha beta gamma delta => alpha -> beta -> gamma beta registerEvent :: EventSource alpha beta gamma delta => alpha -> delta -> (beta -> gamma beta) -> gamma (Maybe Unique) unregisterEvent :: EventSource alpha beta gamma delta => alpha -> delta -> Unique -> gamma () -- | This shows the implementation of the event mechnism type Handlers beta gamma delta = Map delta [(Unique, beta -> gamma beta)] registerEvents :: EventSource alpha beta gamma delta => alpha -> [delta] -> (beta -> gamma beta) -> gamma [Unique] -- | Module for missing base functions module MyMissing allOf :: (Bounded alpha, Enum alpha) => [alpha] forceJust :: Maybe alpha -> String -> alpha forceHead :: [alpha] -> String -> alpha split :: Eq a => a -> [a] -> [[a]] replace :: Eq a => [a] -> [a] -> [a] -> [a] nonEmptyLines :: String -> [String] -- | remove leading and trailing spaces trim :: String -> String -- | Module for the basiscs of composing GUIs from editors module Graphics.UI.Editor.Basics -- | A type for getting a field of a record type Getter alpha beta = alpha -> beta -- | A type for setting the field of a record type Setter alpha beta = beta -> alpha -> alpha -- | A type for injecting a value into an editor type Injector beta = beta -> IO () -- | A type for extracting a value from an editor type Extractor beta = IO (Maybe beta) -- | A type for the application of a value to be reflected in the GUI type Applicator beta gamma = beta -> gamma () -- | A type to describe an editor. alpha is the type of the individual -- field of the record type Editor alpha = Parameters -> Notifier -> IO (Widget, Injector alpha, Extractor alpha) -- | A convinence method for not repeating this over and over again getStandardRegFunction :: GUIEventSelector -> GtkRegFunc emptyNotifier :: IO Notifier -- | A type for an event in the GUI data GUIEvent GUIEvent :: GUIEventSelector -> Event -> String -> Bool -> GUIEvent selector :: GUIEvent -> GUIEventSelector gtkEvent :: GUIEvent -> Event eventText :: GUIEvent -> String -- | True means that the event has been completely handled, gtk shoudn't do -- any further action about it (Often not a good idea gtkReturn :: GUIEvent -> Bool data GUIEventSelector -- | generic, the widget looses the focus FocusOut :: GUIEventSelector -- | generic, the widget gets the focus FocusIn :: GUIEventSelector -- | generic, a mouse key has been pressed and released, while the widget -- has the focus ButtonPressed :: GUIEventSelector -- | generic, a keyboard key has been pressed and released, while the -- widget has the focus KeyPressed :: GUIEventSelector -- | button specific, the button has been pressed Clicked :: GUIEventSelector -- | generic, no gui event, the contents of the widget may have changed MayHaveChanged :: GUIEventSelector -- | validation of a contents has failed ValidationError :: GUIEventSelector -- | A type for a function to register a gtk event | type GtkRegFunc = forall o. GObjectClass o => o -> GtkHandler -> IO (Connection) -- | The event source in the gtk editor context If the second argument is -- Left Handler the handler gets registered If the second argument is -- Right Unique the handler will be removed The returned unique value -- must be used for unregistering an event newtype Notifier Noti :: (IORef (Handlers GUIEvent IO GUIEventSelector, Map GUIEventSelector GUIEventReg)) -> Notifier type GtkHandler = Event -> IO Bool -- | Signal handlers for the different pane types data Connection ConnectC :: (ConnectId alpha) -> Connection type Connections = [Connection] -- | Activate the event after the event has been declared and the widget -- has been constructed activateEvent :: GObjectClass o => o -> Notifier -> Maybe (o -> GtkHandler -> IO Connection) -> GUIEventSelector -> IO () -- | Propagate the event with the selector from notifier to eventSource propagateEvent :: Notifier -> [Notifier] -> GUIEventSelector -> IO () allGUIEvents :: [GUIEventSelector] genericGUIEvents :: [GUIEventSelector] propagateAsChanged :: EventSource alpha GUIEvent m GUIEventSelector => alpha -> [GUIEventSelector] -> m () instance Eq GUIEventSelector instance Ord GUIEventSelector instance Show GUIEventSelector instance Enum GUIEventSelector instance Bounded GUIEventSelector instance EventSource Notifier GUIEvent IO GUIEventSelector instance EventSelector GUIEventSelector instance Event GUIEvent GUIEventSelector -- | Module for making editors out of descriptions module Graphics.UI.Editor.MakeEditor buildEditor :: FieldDescription alpha -> alpha -> IO (Widget, Injector alpha, alpha -> Extractor alpha, Notifier) -- | A type to describe a field of a record, which can be edited | alpha is -- the type of the individual field of the record data FieldDescription alpha FD :: Parameters -> (alpha -> IO (Widget, Injector alpha, alpha -> Extractor alpha, Notifier)) -> FieldDescription alpha VFD :: Parameters -> [FieldDescription alpha] -> FieldDescription alpha HFD :: Parameters -> [FieldDescription alpha] -> FieldDescription alpha NFD :: [(String, FieldDescription alpha)] -> FieldDescription alpha -- | Function to construct a field description mkField :: Eq beta => MkFieldDescription alpha beta -- | Convenience method to validate and extract fields extractAndValidate :: alpha -> [alpha -> Extractor alpha] -> [String] -> Notifier -> IO (Maybe alpha) extract :: alpha -> [alpha -> Extractor alpha] -> IO (Maybe alpha) -- | Function to construct an editor mkEditor :: (Container -> Injector alpha) -> Extractor alpha -> Editor alpha parameters :: FieldDescription alpha -> Parameters flattenFieldDescription :: FieldDescription alpha -> [FieldDescription alpha] -- | get through outerAlignment, frame, innerAlignment getRealWidget :: Widget -> IO (Maybe Widget) -- | A constructor type for a field desciption type MkFieldDescription alpha beta = Parameters -> (Getter alpha beta) -> (Setter alpha beta) -> (Editor beta) -> FieldDescription alpha -- | Module for saving and restoring preferences and settings module Text.PrinterParser type Printer beta = beta -> Doc type Parser beta = CharParser () beta data FieldDescriptionS alpha FDS :: Parameters -> (alpha -> Doc) -> (alpha -> CharParser () alpha) -> FieldDescriptionS alpha parameters :: FieldDescriptionS alpha -> Parameters fieldPrinter :: FieldDescriptionS alpha -> alpha -> Doc fieldParser :: FieldDescriptionS alpha -> alpha -> CharParser () alpha type MkFieldDescriptionS alpha beta = Parameters -> (Printer beta) -> (Parser beta) -> (Getter alpha beta) -> (Setter alpha beta) -> FieldDescriptionS alpha mkFieldS :: MkFieldDescriptionS alpha beta applyFieldParsers :: a -> [a -> CharParser () a] -> CharParser () a boolParser :: CharParser () Bool intParser :: CharParser () Int lineParser :: CharParser () String pairParser :: CharParser () alpha -> CharParser () (alpha, alpha) identifier :: CharParser st String emptyParser :: CharParser () () whiteSpace :: CharParser st () stringParser :: CharParser () String readParser :: Read a => CharParser () a colorParser :: CharParser () Color emptyPrinter :: () -> Doc -- | Things that can be pretty-printed class Pretty a pretty :: Pretty a => a -> Doc prettyPrec :: Pretty a => Int -> a -> Doc -- | pretty-print with the default style and defaultMode. prettyPrint :: Pretty a => a -> String maybePP :: (a -> Doc) -> Maybe a -> Doc symbol :: String -> CharParser st String colon :: CharParser st String writeFields :: FilePath -> alpha -> [FieldDescriptionS alpha] -> IO () showFields :: alpha -> [FieldDescriptionS alpha] -> String readFields :: FilePath -> [FieldDescriptionS alpha] -> alpha -> IO alpha parseFields :: alpha -> [FieldDescriptionS alpha] -> CharParser () alpha instance Pretty String -- | Description of a editor with additional fileds for printing and -- parsing module Graphics.UI.Editor.DescriptionPP -- | A type for the application of a value to be reflected in the GUI type Applicator beta gamma = beta -> gamma () data FieldDescriptionPP alpha gamma FDPP :: Parameters -> (alpha -> Doc) -> (alpha -> CharParser () alpha) -> (alpha -> IO (Widget, Injector alpha, alpha -> Extractor alpha, Notifier)) -> (alpha -> alpha -> gamma ()) -> FieldDescriptionPP alpha gamma parameters :: FieldDescriptionPP alpha gamma -> Parameters fieldPrinter :: FieldDescriptionPP alpha gamma -> alpha -> Doc fieldParser :: FieldDescriptionPP alpha gamma -> alpha -> CharParser () alpha fieldEditor :: FieldDescriptionPP alpha gamma -> alpha -> IO (Widget, Injector alpha, alpha -> Extractor alpha, Notifier) applicator :: FieldDescriptionPP alpha gamma -> alpha -> alpha -> gamma () VFDPP :: Parameters -> [FieldDescriptionPP alpha gamma] -> FieldDescriptionPP alpha gamma HFDPP :: Parameters -> [FieldDescriptionPP alpha gamma] -> FieldDescriptionPP alpha gamma NFDPP :: [(String, FieldDescriptionPP alpha gamma)] -> FieldDescriptionPP alpha gamma mkFieldPP :: (Eq beta, Monad gamma) => MkFieldDescriptionPP alpha beta gamma extractFieldDescription :: FieldDescriptionPP alpha gamma -> FieldDescription alpha flattenFieldDescriptionPP :: FieldDescriptionPP alpha gamma -> [FieldDescriptionPP alpha gamma] flattenFieldDescriptionPPToS :: FieldDescriptionPP alpha gamma -> [FieldDescriptionS alpha] -- | The basic definitions for all panes module Graphics.UI.Frame.Panes class MonadIO delta => PaneMonad delta setFrameState :: PaneMonad delta => FrameState delta -> delta () getFrameState :: PaneMonad delta => delta (FrameState delta) runInIO :: PaneMonad delta => (beta -> delta alpha) -> delta (beta -> IO alpha) panePathForGroup :: PaneMonad delta => String -> delta PanePath getThisPane :: (PaneMonad delta, RecoverablePane alpha beta delta) => delta (Maybe alpha) displayThisPane :: (PaneMonad delta, RecoverablePane alpha beta delta) => alpha -> Bool -> delta () getOrBuildThisPane :: (PaneMonad delta, RecoverablePane alpha beta delta) => Either PanePath String -> delta (Maybe alpha) buildThisPane :: (PaneMonad delta, RecoverablePane alpha beta delta) => PanePath -> Notebook -> (PanePath -> Notebook -> Window -> delta (Maybe alpha, Connections)) -> delta (Maybe alpha) activateThisPane :: (PaneMonad delta, RecoverablePane alpha beta delta) => alpha -> Connections -> delta () closeThisPane :: (PaneMonad delta, RecoverablePane alpha beta delta) => alpha -> delta Bool data IDEPane delta PaneC :: alpha -> IDEPane delta -- | All kinds of panes are instances of pane class (Typeable alpha, PaneMonad delta) => Pane alpha delta | alpha -> delta getTopWidget :: Pane alpha delta => alpha -> Widget paneId :: Pane alpha delta => alpha -> String primPaneName :: Pane alpha delta => alpha -> String paneName :: Pane alpha delta => alpha -> PaneName getAddedIndex :: Pane alpha delta => alpha -> Int class (Pane alpha delta, Typeable beta, Show beta, Read beta) => RecoverablePane alpha beta delta | beta -> alpha, alpha -> beta saveState :: RecoverablePane alpha beta delta => alpha -> delta (Maybe beta) recoverState :: RecoverablePane alpha beta delta => PanePath -> beta -> delta (Maybe alpha) builder :: RecoverablePane alpha beta delta => PanePath -> Notebook -> Window -> delta (Maybe alpha, Connections) makeActive :: RecoverablePane alpha beta delta => alpha -> delta () closePane :: RecoverablePane alpha beta delta => alpha -> delta Bool getPane :: RecoverablePane alpha beta delta => delta (Maybe alpha) forceGetPane :: RecoverablePane alpha beta delta => Either PanePath String -> delta alpha getOrBuildPane :: RecoverablePane alpha beta delta => Either PanePath String -> delta (Maybe alpha) displayPane :: RecoverablePane alpha beta delta => alpha -> Bool -> delta () getAndDisplayPane :: RecoverablePane alpha beta delta => Either PanePath String -> Bool -> delta (Maybe alpha) buildPane :: RecoverablePane alpha beta delta => PanePath -> Notebook -> (PanePath -> Notebook -> Window -> delta (Maybe alpha, Connections)) -> delta (Maybe alpha) -- | The relative direction to a pane from the parent data PaneDirection TopP :: PaneDirection BottomP :: PaneDirection LeftP :: PaneDirection RightP :: PaneDirection -- | An element of a path to a pane data PanePathElement SplitP :: PaneDirection -> PanePathElement GroupP :: String -> PanePathElement -- | A path to a pane type PanePath = [PanePathElement] -- | Description of a window layout Horizontal: top bottom Vertical: left -- right data PaneLayout HorizontalP :: PaneLayout -> PaneLayout -> Int -> PaneLayout VerticalP :: PaneLayout -> PaneLayout -> Int -> PaneLayout TerminalP :: Map String PaneLayout -> Maybe PaneDirection -> Int -> Maybe String -> Maybe (Int, Int) -> PaneLayout paneGroups :: PaneLayout -> Map String PaneLayout paneTabs :: PaneLayout -> Maybe PaneDirection currentPage :: PaneLayout -> Int detachedId :: PaneLayout -> Maybe String detachedSize :: PaneLayout -> Maybe (Int, Int) type PaneName = String -- | Signal handlers for the different pane types data Connection ConnectC :: (ConnectId alpha) -> Connection type Connections = [Connection] type StandardPath = PanePath data FrameState delta FrameState :: [Window] -> UIManager -> Map PaneName (IDEPane delta) -> (Map PaneName (PanePath, Connections)) -> Maybe (PaneName, Connections) -> !Map Notebook PanePath -> PaneLayout -> FrameState delta windows :: FrameState delta -> [Window] uiManager :: FrameState delta -> UIManager panes :: FrameState delta -> Map PaneName (IDEPane delta) paneMap :: FrameState delta -> (Map PaneName (PanePath, Connections)) activePane :: FrameState delta -> Maybe (PaneName, Connections) panePathFromNB :: FrameState delta -> !Map Notebook PanePath layout :: FrameState delta -> PaneLayout signalDisconnectAll :: Connections -> IO () instance Eq PaneDirection instance Show PaneDirection instance Read PaneDirection instance Eq PanePathElement instance Show PanePathElement instance Read PanePathElement instance Eq PaneLayout instance Show PaneLayout instance Read PaneLayout instance Show (FrameState delta) instance Show Notebook instance Show Connection instance Show UIManager instance Show Window instance Show (IDEPane delta) instance Ord (IDEPane delta) instance Eq (IDEPane delta) -- | Module for making simple editors module Graphics.UI.Editor.Simple -- | An invisible editor without any effect noEditor :: alpha -> Editor alpha -- | Editor for a boolean value in the form of a check button boolEditor :: Editor Bool -- | Editor for a boolean value in the form of two radio buttons boolEditor2 :: String -> Editor Bool -- | Editor for an enum value in the form of n radio buttons enumEditor :: (Show alpha, Enum alpha, Bounded alpha) => [String] -> Editor alpha -- | An Editor for nothing (which may report a click) in the form of a -- button clickEditor :: Bool -> Editor () -- | Editor for a string in the form of a text entry stringEditor :: (String -> Bool) -> Bool -> Editor String -- | Editor for a multiline string in the form of a multiline text entry multilineStringEditor :: Editor String -- | Editor for an integer in the form of a spin entry intEditor :: (Double, Double, Double) -> Editor Int -- | Editor for for any value which is an instance of Read and Show in the -- form of a | text entry genericEditor :: (Show beta, Read beta) => Editor beta -- | Editor for a font selection fontEditor :: Editor (Maybe String) -- | Editor for color selection colorEditor :: Editor Color -- | Editor for the selection of some element from a static list of -- elements in the | form of a combo box comboSelectionEditor :: Eq beta => [beta] -> (beta -> String) -> Editor beta -- | Editor for the selection of some elements from a static list of -- elements in the | form of a list box staticListEditor :: Eq beta => [beta] -> (beta -> String) -> Editor beta -- | Editor for the selection of some elements from a static list of -- elements in the | form of a list box with toggle elements staticListMultiEditor :: Eq beta => [beta] -> (beta -> String) -> Editor [beta] -- | Editor for the selection of some elements from a list of elements in -- the | form of a list box multiselectionEditor :: (Show beta, Eq beta) => Editor [beta] -- | Editor for the selection of a file path in the form of a text entry -- and a button, | which opens a gtk file chooser fileEditor :: Maybe FilePath -> FileChooserAction -> String -> Editor FilePath -- | An editor, which opens another editor You have to inject a value -- before the button can be clicked. otherEditor :: (alpha -> String -> IO (Maybe alpha)) -> Editor alpha -- | An Editor to display an image imageEditor :: Editor StockId okCancelFields :: FieldDescription () instance ButtonClass Widget instance BinClass Widget instance ContainerClass Widget -- | Splittable panes containing notebooks with any widgets module Graphics.UI.Frame.ViewFrame removePaneAdmin :: RecoverablePane alpha beta delta => alpha -> delta () addPaneAdmin :: RecoverablePane alpha beta delta => alpha -> Connections -> PanePath -> delta Bool notebookInsertOrdered :: PaneMonad alpha => (NotebookClass self, WidgetClass child) => self -> child -> String -> Maybe Label -> Bool -> alpha () -- | Add the change mark or removes it markLabel :: (WidgetClass alpha, NotebookClass beta) => beta -> alpha -> Bool -> IO () posTypeToPaneDirection :: PositionType -> PaneDirection paneDirectionToPosType :: PaneDirection -> PositionType paneFromName :: PaneMonad alpha => PaneName -> alpha (IDEPane alpha) mbPaneFromName :: PaneMonad alpha => PaneName -> alpha (Maybe (IDEPane alpha)) guiPropertiesFromName :: PaneMonad alpha => PaneName -> alpha (PanePath, Connections) -- | Moves the activePane in the given direction, if possible | If their -- are many possibilities choose the leftmost and topmost viewMove :: PaneMonad beta => PaneDirection -> beta () -- | Split the currently active pane in horizontal direction viewSplitHorizontal :: PaneMonad alpha => alpha () -- | Split the currently active pane in vertical direction viewSplitVertical :: PaneMonad alpha => alpha () viewSplit' :: PaneMonad alpha => PanePath -> Direction -> alpha () viewNewGroup :: PaneMonad alpha => alpha () newGroupOrBringToFront :: PaneMonad alpha => String -> PanePath -> alpha (Maybe PanePath, Bool) bringGroupToFront :: PaneMonad alpha => String -> alpha (Maybe PanePath) viewNest :: PaneMonad alpha => String -> alpha () viewNest' :: PaneMonad alpha => PanePath -> String -> alpha () viewDetach :: PaneMonad alpha => alpha (Maybe (Window, Widget)) viewDetach' :: PaneMonad alpha => PanePath -> String -> alpha (Maybe (Window, Widget)) handleNotebookSwitch :: PaneMonad beta => Notebook -> Int -> beta () -- | Two notebooks can be collapsed to one viewCollapse :: PaneMonad alpha => alpha () viewCollapse' :: PaneMonad alpha => PanePath -> alpha () -- | Sets the tab position in the current notebook viewTabsPos :: PaneMonad alpha => PositionType -> alpha () -- | Toggle the tabs of the current notebook viewSwitchTabs :: PaneMonad alpha => alpha () closeGroup :: PaneMonad alpha => String -> alpha () allGroupNames :: PaneLayout -> Set String -- | Get a valid panePath from a standard path. getBestPanePath :: StandardPath -> PaneLayout -> PanePath -- | Get a standard path. getBestPathForId :: PaneMonad alpha => String -> alpha PanePath -- | Get the path to the active pane getActivePanePath :: PaneMonad alpha => alpha (Maybe PanePath) getActivePanePathOrStandard :: PaneMonad alpha => StandardPath -> alpha (PanePath) -- | Constructs a unique pane name, which is an index and a string figureOutPaneName :: PaneMonad alpha => String -> Int -> alpha (Int, String) -- | Get the notebook widget for the given pane path getNotebook :: PaneMonad alpha => PanePath -> alpha Notebook -- | Get the (gtk) Paned widget for a given path getPaned :: PaneMonad alpha => PanePath -> alpha Paned -- | Get the active notebook getActiveNotebook :: PaneMonad alpha => alpha (Maybe Notebook) getActivePane :: PaneMonad delta => delta (Maybe (PaneName, Connections)) setActivePane :: PaneMonad delta => Maybe (PaneName, Connections) -> delta () getUiManager :: PaneMonad delta => delta UIManager getWindows :: PaneMonad delta => delta [Window] getMainWindow :: PaneMonad m => m Window getLayout :: PaneMonad delta => delta PaneLayout getPanesSt :: PaneMonad delta => delta (Map PaneName (IDEPane delta)) getPaneMapSt :: PaneMonad delta => delta (Map PaneName (PanePath, Connections)) getPanePrim :: RecoverablePane alpha beta delta => delta (Maybe alpha) getPanes :: RecoverablePane alpha beta delta => delta ([alpha]) -- | Bring the pane to the front position in its notebook bringPaneToFront :: RecoverablePane alpha beta delta => alpha -> IO () -- | Construct a new notebook, newNotebook :: PaneMonad alpha => PanePath -> alpha Notebook -- | Construct a new notebook newNotebook' :: IO Notebook getUIAction :: PaneMonad alpha => String -> (Action -> a) -> alpha (a) widgetGet :: PaneMonad alpha => [String] -> (Widget -> b) -> alpha (b) initGtkRc :: IO () -- | Module for default values of a data type module Default -- | A class for providing default values for certain types of editors class Default alpha getDefault :: Default alpha => alpha instance Default Bool instance Default (Maybe alpha) instance Default [alpha] instance (Default alpha, Default beta, Default gamma) => Default (alpha, beta, gamma) instance (Default alpha, Default beta) => Default (alpha, beta) instance Default alpha => Default (Either alpha beta) instance Default Int -- | Module for making composite editors module Graphics.UI.Editor.Composite -- | An editor with a subeditor which gets active, when a checkbox is -- selected or deselected (if the positive Argument is False) maybeEditor :: Default beta => (Editor beta, Parameters) -> Bool -> String -> Editor (Maybe beta) -- | An editor with a subeditor which gets active, when a checkbox is -- selected or grayed out (if the positive Argument is False) disableEditor :: Default beta => (Editor beta, Parameters) -> Bool -> String -> Editor (Bool, beta) -- | An editor which composes two subeditors pairEditor :: (Editor alpha, Parameters) -> (Editor beta, Parameters) -> Editor (alpha, beta) tupel3Editor :: (Editor alpha, Parameters) -> (Editor beta, Parameters) -> (Editor gamma, Parameters) -> Editor (alpha, beta, gamma) -- | Like a pair editor, but with a moveable split splitEditor :: (Editor alpha, Parameters) -> (Editor beta, Parameters) -> Editor (alpha, beta) -- | An editor with a subeditor which gets active, when a checkbox is -- selected or deselected (if the positive Argument is False) eitherOrEditor :: (Default alpha, Default beta) => (Editor alpha, Parameters) -> (Editor beta, Parameters) -> String -> Editor (Either alpha beta) -- | An editor with a subeditor, of which a list of items can be selected multisetEditor :: (Show alpha, Default alpha, Eq alpha) => ColumnDescr alpha -> (Editor alpha, Parameters) -> Maybe ([alpha] -> [alpha]) -> Maybe (alpha -> alpha -> Bool) -> Editor [alpha] data ColumnDescr row ColumnDescr :: Bool -> [(String, row -> [AttrOp CellRendererText])] -> ColumnDescr row filesEditor :: Maybe FilePath -> FileChooserAction -> String -> Editor [FilePath] stringsEditor :: (String -> Bool) -> Bool -> Editor [String] versionEditor :: Editor Version versionRangeEditor :: Editor VersionRange dependencyEditor :: [PackageIdentifier] -> Editor Dependency dependenciesEditor :: [PackageIdentifier] -> Editor [Dependency] instance Eq Version1 instance Eq Version2 instance Default PackageName instance Default Dependency instance Default VersionRange instance Default Version instance Default Version2 instance Default Version1 instance Show Version2 instance Show Version1