>Z/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - .  Safe-Inferedxalign yalign xscale yscale xalign yalign xscale yscale "A type for parameters for editors The direction of a split &KConvenience method to get a parameter, or if not set the default parameter )  !"#$%&'()  !"#$%&'()  !"#$%&'(  !"#$%&'( Safe-Infered)/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 -DReimplement this in instances to make triggering of events possible .AReturns the event, so that you may get values back from an event  Args: Notifier, Event 0-use Left to register and Right to unregister ' Args: Notifier, EventSelector, Unique 14This shows the implementation of the event mechnism 26Every event needs to know its selector and its source 4FEvery event needs a selector, which should identify the type of event )*+,-./012345 )*+,-./012345 423)*+,-./015)*+,-./012345 Safe-Infered6#remove leading and trailing spaces 6789:;<6789:;<89:;<766789:;< Safe-Infered>-Signal handlers for the different pane types @+The event source in the gtk editor context D If the second argument is Left Handler the handler gets registered D If the second argument is Right Unique the handler will be removed C The returned unique value must be used for unregistering an event B.A type for a function to register a gtk event  | E$validation of a contents has failed FCgeneric, no gui event, the contents of the widget may have changed G-button specific, the button has been pressed HVgeneric, a keyboard key has been pressed and released, while the widget has the focus ISgeneric, a mouse key has been pressed and released, while the widget has the focus J#generic, the widget gets the focus K%generic, the widget looses the focus LA type for an event in the GUI Q7True means that the event has been completely handled,  gtk shoudn',t do any further action about it (Often not  a good idea RA type to describe an editor. 9 alpha is the type of the individual field of the record SAA type for the application of a value to be reflected in the GUI T-A type for extracting a value from an editor U,A type for injecting a value into an editor V)A type for setting the field of a record W'A type for getting a field of a record [CPropagate the event with the selector from notifier to eventSource \=Activate the event after the event has been declared and the  widget has been constructed ]?A convinence method for not repeating this over and over again %=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^/01"=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^"WVUTSR]ZLMNOPQDKJIHGFEB@AC>?=\[XY^=>?@ABCDKJIHGFELMNOPQRSTUVWXYZ[\]^/01 Safe-Infered_<A type to describe a field of a record, which can be edited ; | alpha is the type of the individual field of the record d*A constructor type for a field desciption h*Function to construct a field description i Function to construct an editor j2Convenience method to validate and extract fields l2get through outerAlignment, frame, innerAlignment _`abcdefghijkl_`abcdefghijklf_cba`hjkiegld _cba`defghijkl Safe-Inferedm"Things that can be pretty-printed n%Pretty-print something in isolation. o0Pretty-print something in a precedence context. (pretty-print with the default style and  defaultMode. !mnopqrstuvwxyz{|}~2 mnopqrstuvwxyz{|}~ wvqrstupxyz~|}{mnomnopqrstuvwxyz{|}~2 Safe-InferedSS  Safe-Infered)All kinds of panes are instances of pane !gets the top Widget of this pane Description of a window layout - Horizontal: top bottom Vertical: left right 1The relative direction to a pane from the parent An element of a path to a pane A path to a pane D3456789@=>?@>?= 3456789  Safe-Infered'An invisible editor without any effect 9Editor for a boolean value in the form of a check button <Editor for a boolean value in the form of two radio buttons 8Editor for an enum value in the form of n radio buttons IAn Editor for nothing (which may report a click) in the form of a button An Editor to display an image 0Editor for a string in the form of a text entry DEditor for a multiline string in the form of a multiline text entry 2Editor for an integer in the form of a spin entry PEditor for for any value which is an instance of Read and Show in the form of a  | text entry OEditor for the selection of some element from a static list of elements in the  | form of a combo box IEditor for the selection of some elements from a list of elements in the  | form of a list box PEditor for the selection of some elements from a static list of elements in the + | form of a list box with toggle elements PEditor for the selection of some elements from a static list of elements in the  | form of a list box REditor for the selection of a file path in the form of a text entry and a button, " | which opens a gtk file chooser Editor for a font selection Editor for color selection &An editor, which opens another editor @ You have to inject a value before the button can be clicked. :;<:;<  Safe-Infered"Add the change mark or removes it >Constructs a unique pane name, which is an index and a string (Toggle the tabs of the current notebook .Sets the tab position in the current notebook 8Split the currently active pane in horizontal direction 6Split the currently active pane in vertical direction &Two notebooks can be collapsed to one 9Moves the activePane in the given direction, if possible C | If their are many possibilities choose the leftmost and topmost  5Bring the pane to the front position in its notebook  +Get a valid panePath from a standard path.  Get a standard path.  Construct a new notebook  Construct a new notebook, 0Get the notebook widget for the given pane path ,Get the (gtk) Paned widget for a given path  Get the path to the active pane Get the active notebook 3     3     3     3       Safe-InferedBA class for providing default values for certain types of editors =>?@ABC=>?@ABC  Safe-Infered"(An editor which composes two subeditors $.Like a pair editor, but with a moveable split %JAn editor with a subeditor which gets active, when a checkbox is selected 3 or deselected (if the positive Argument is False) &JAn editor with a subeditor which gets active, when a checkbox is selected 3 or grayed out (if the positive Argument is False) 'JAn editor with a subeditor which gets active, when a checkbox is selected 3 or deselected (if the positive Argument is False) (EAn editor with a subeditor, of which a list of items can be selected  !"#$%&'(The mbSort! arg, a sort function if desired The  mbReplace5 arg, a function which is a criteria for removing an % old entry when adding a new value )*+,-.DEFGHIJK !"#$%&'()*+,-.%&"#$'( !)*.-+, !"#$%&'()*+,-.DEFGHIJKL  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~qq                                  ! " # $  % & & ' ( ) * + , - . / 0 1 2 3456789:;<=> ? @ A B C D E F G H I J K L M N O PQ ltk-0.12.1.0Graphics.UI.Editor.Parameters Control.Event MyMissingGraphics.UI.Editor.BasicsGraphics.UI.Editor.MakeEditorText.PrinterParser Graphics.UI.Editor.DescriptionPPGraphics.UI.Frame.PanesGraphics.UI.Editor.SimpleGraphics.UI.Frame.ViewFrameDefaultGraphics.UI.Editor.Composite ParameterParaPack ParaMultiSel ParaStockIdParaHorizontal ParaMinSizeParaInnerPaddingParaInnerAlignmentParaOuterPaddingParaOuterAlignment ParaShowLabel ParaShadow ParaDirection ParaSynopsisParaName ParametersHorizontalAlignKeepStopHorizontalStartHorizontal DirectionVertical Horizontal emptyParamsparaName paraSynopsis paraShowLabel paraDirection paraShadowparaOuterAlignmentparaInnerAlignmentparaOuterPaddingparaInnerPadding paraMinSizeparaHorizontal paraStockId paraMultiSelparaPack getParametergetParameterPrim<<<- EventSource getHandlers setHandlersmyUniquecanTriggerEvent triggerEvent registerEventunregisterEventHandlersEvent getSelector EventSelectorregisterEventstrim nonEmptyLinesallOf forceJust forceHeadsplitreplace Connections ConnectionConnectCNotifierNoti GtkRegFunc GtkHandlerGUIEventSelectorValidationErrorMayHaveChangedClicked KeyPressed ButtonPressedFocusInFocusOutGUIEventselectorgtkEvent eventText gtkReturnEditor Applicator ExtractorInjectorSetterGetter allGUIEventsgenericGUIEvents emptyNotifierpropagateEvent activateEventgetStandardRegFunctionpropagateAsChangedFieldDescriptionNFDHFDVFDFDMkFieldDescription parameters buildEditorflattenFieldDescriptionmkFieldmkEditorextractAndValidateextract getRealWidgetPrettypretty prettyPrecMkFieldDescriptionSFieldDescriptionSFDS fieldPrinter fieldParserParserPrintermkFieldSapplyFieldParsers boolParser readParser pairParser stringParser lineParser intParser colorParser emptyParser whiteSpacesymbol identifiercolon prettyPrint emptyPrintermaybePP writeFields showFields readFields parseFieldsFieldDescriptionPPNFDPPHFDPPVFDPPFDPP fieldEditor applicator mkFieldPPextractFieldDescriptionflattenFieldDescriptionPPflattenFieldDescriptionPPToS FrameStatewindows uiManagerpanespaneMap activePanepanePathFromNBlayout StandardPathIDEPanePaneCPaneName PaneMonad setFrameState getFrameStaterunInIOpanePathForGroup getThisPanedisplayThisPanegetOrBuildThisPane buildThisPaneactivateThisPane closeThisPaneRecoverablePane saveState recoverStatebuilder makeActive closePanegetPane forceGetPanegetOrBuildPane displayPanegetAndDisplayPane buildPanePane getTopWidgetpaneId primPaneNamepaneName getAddedIndex PaneLayout TerminalP paneGroupspaneTabs currentPage detachedId detachedSize VerticalP HorizontalP PaneDirectionRightPLeftPBottomPTopPPanePathElementGroupPSplitPPanePathsignalDisconnectAllnoEditor boolEditor boolEditor2 enumEditor clickEditor imageEditor stringEditormultilineStringEditor intEditor genericEditorcomboSelectionEditormultiselectionEditorstaticListMultiEditorstaticListEditor fileEditor fontEditor colorEditor otherEditorokCancelFields initGtkRcremovePaneAdmin addPaneAdmin getPanePrimgetPanesnotebookInsertOrdered markLabelfigureOutPaneName paneFromNamembPaneFromNameguiPropertiesFromNameposTypeToPaneDirectionpaneDirectionToPosTypeviewSwitchTabs viewTabsPosviewSplitHorizontalviewSplitVertical viewSplit' viewCollapse viewCollapse' viewNewGroupnewGroupOrBringToFrontbringGroupToFrontviewNest viewNest' closeGroup viewDetach viewDetach'handleNotebookSwitchviewMovebringPaneToFrontgetBestPanePathgetBestPathForId newNotebook' newNotebook allGroupNames getNotebookgetPanedgetActivePanePathgetActivePanePathOrStandardgetActiveNotebook widgetGet getUIAction getPanesSt getPaneMapSt getActivePane setActivePane getUiManager getWindows getMainWindow getLayout getDefault ColumnDescr pairEditor tupel3Editor splitEditor maybeEditor disableEditoreitherOrEditormultisetEditor filesEditor stringsEditordependencyEditordependenciesEditorversionRangeEditor versionEditor/$fEventSourceNotifierGUIEventIOGUIEventSelector$fEventSelectorGUIEventSelector$fEventGUIEventGUIEventSelector $fPretty[]$fShowNotebook$fShowConnection$fShowUIManager $fShowWindow $fShowIDEPane $fOrdIDEPane $fEqIDEPane$fButtonClassWidget$fBinClassWidget$fContainerClassWidget $fDefaultBool$fDefaultMaybe $fDefault[] $fDefault(,,) $fDefault(,)$fDefaultEither $fDefaultInt$fDefaultPackageName$fDefaultDependency$fDefaultVersionRange$fDefaultVersion$fDefaultVersion2$fDefaultVersion1$fShowVersion2$fShowVersion1