gtksourceview2 0.11.1 → 0.12.0
raw patch · 26 files changed
+2650/−331 lines, 26 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Graphics.UI.Gtk.SourceView.SourceIter: instance Bounded SourceSearchFlags
- Graphics.UI.Gtk.SourceView.SourceIter: instance Enum SourceSearchFlags
- Graphics.UI.Gtk.SourceView.SourceIter: instance Eq SourceSearchFlags
- Graphics.UI.Gtk.SourceView.SourceIter: instance Flags SourceSearchFlags
- Graphics.UI.Gtk.SourceView.SourceIter: instance Read SourceSearchFlags
- Graphics.UI.Gtk.SourceView.SourceIter: instance Show SourceSearchFlags
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: instance Bounded SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: instance Enum SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: instance Eq SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: instance Read SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: instance Show SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceView: instance Bounded SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceView: instance Enum SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceView: instance Eq SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceView: instance Read SourceSmartHomeEndType
- Graphics.UI.Gtk.SourceView.SourceView: instance Show SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: SourceCompletionActivationInteractive :: SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: SourceCompletionActivationNone :: SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: SourceCompletionActivationUserRequested :: SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesAll :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesLeading :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesNbsp :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesNewline :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesSpace :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesTab :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesText :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceDrawSpacesTrailing :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceSearchCaseInsensitive :: SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceSearchTextOnly :: SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceSearchVisibleOnly :: SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: SourceSmartHomeEndAfter :: SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: SourceSmartHomeEndAlways :: SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: SourceSmartHomeEndBefore :: SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: SourceSmartHomeEndDisabled :: SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: SourceViewGutterPositionLines :: SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: SourceViewGutterPositionMarks :: SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: data SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: data SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: data SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: data SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: data SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: instance Bounded SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: instance Bounded SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Bounded SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Bounded SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: instance Bounded SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: instance Enum SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: instance Enum SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Enum SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Enum SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: instance Enum SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: instance Eq SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: instance Eq SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Eq SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Eq SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: instance Eq SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: instance Flags SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Flags SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Read SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: instance Read SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Read SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Read SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: instance Read SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.Enums: instance Show SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.Enums: instance Show SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Show SourceSearchFlags
+ Graphics.UI.Gtk.SourceView.Enums: instance Show SourceSmartHomeEndType
+ Graphics.UI.Gtk.SourceView.Enums: instance Show SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferBackwardIterToSourceMark :: (SourceBufferClass buffer) => buffer -> TextIter -> String -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferForwardIterToSourceMark :: (SourceBufferClass buffer) => buffer -> TextIter -> String -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetSourceMarksAtIter :: (SourceBufferClass buffer) => buffer -> TextIter -> String -> IO [SourceMark]
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetSourceMarksAtLine :: (SourceBufferClass buffer) => buffer -> Int -> String -> IO [SourceMark]
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferMaxUndoLevels :: (SourceBufferClass buffer) => Attr buffer Int
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferRedoSignal :: (SourceBufferClass buffer) => Signal buffer (IO ())
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferRemoveSourceMarks :: (SourceBufferClass buffer) => buffer -> TextIter -> TextIter -> String -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSourceMarkUpdated :: (SourceBufferClass buffer) => Signal buffer (TextMark -> IO ())
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferUndoManager :: (SourceBufferClass buffer) => Attr buffer SourceUndoManager
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferUndoSignal :: (SourceBufferClass buffer) => Signal buffer (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: class (ObjectClass o) => SourceCompletionClass o
+ Graphics.UI.Gtk.SourceView.SourceCompletion: data SourceCompletion
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionAccelerators :: (SourceCompletionClass sc) => Attr sc Int
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionActivateProposal :: (SourceCompletionClass sc) => Signal sc (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionAddProvider :: (SourceCompletionClass sc) => sc -> SourceCompletionProvider -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionAutoCompleteDelay :: (SourceCompletionClass sc) => Attr sc Int
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionBlockInteractive :: (SourceCompletionClass sc) => sc -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionCreateContext :: (SourceCompletionClass sc) => sc -> Maybe TextIter -> IO SourceCompletionContext
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionGetInfoWindow :: (SourceCompletionClass sc) => sc -> IO SourceCompletionInfo
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionGetProviders :: (SourceCompletionClass sc) => sc -> IO [SourceCompletionProvider]
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionHide :: (SourceCompletionClass sc) => sc -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionHideSignal :: (SourceCompletionClass sc) => Signal sc (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionMoveCursor :: (SourceCompletionClass sc) => Signal sc (ScrollStep -> Int -> IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionMovePage :: (SourceCompletionClass sc) => Signal sc (ScrollStep -> Int -> IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionMoveWindow :: (SourceCompletionClass sc) => sc -> TextIter -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionPopulateContext :: (SourceCompletionClass sc) => Signal sc (SourceCompletionContext -> IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionProposalPageSize :: (SourceCompletionClass sc) => Attr sc Int
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionProviderPageSize :: (SourceCompletionClass sc) => Attr sc Int
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionRememberInfoVisibility :: (SourceCompletionClass sc) => Attr sc Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionRemoveProvider :: (SourceCompletionClass sc) => sc -> SourceCompletionProvider -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionSelectOnShow :: (SourceCompletionClass sc) => Attr sc Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionShow :: (SourceCompletionClass sc) => sc -> [SourceCompletionProvider] -> SourceCompletionContext -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionShowHeaders :: (SourceCompletionClass sc) => Attr sc Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionShowIcons :: (SourceCompletionClass sc) => Attr sc Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionShowSignal :: (SourceCompletionClass sc) => Signal sc (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionUnblockInteractive :: (SourceCompletionClass sc) => sc -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletion: sourceCompletionView :: (SourceCompletionClass sc) => Attr sc SourceView
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: class (GObjectClass o) => SourceCompletionContextClass o
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: data SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: data SourceCompletionContext
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: sourceCompletionContextActivation :: (SourceCompletionContextClass scc) => Attr scc SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: sourceCompletionContextAddProposals :: (SourceCompletionContextClass scc) => scc -> SourceCompletionProvider -> [SourceCompletionProposal] -> Bool -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: sourceCompletionContextCancelled :: (SourceCompletionContextClass scc) => Signal scc (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: sourceCompletionContextCompletion :: (SourceCompletionContextClass scc) => Attr scc SourceCompletion
+ Graphics.UI.Gtk.SourceView.SourceCompletionContext: sourceCompletionContextGetIter :: (SourceCompletionContextClass scc) => scc -> IO TextIter
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: class (WindowClass o) => SourceCompletionInfoClass o
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: data SourceCompletionInfo
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoBeforeShow :: (SourceCompletionInfoClass info) => Signal info (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoGetWidget :: (SourceCompletionInfoClass info) => info -> IO Widget
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoMaxHeight :: (SourceCompletionInfoClass info) => Attr info Int
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoMaxWidth :: (SourceCompletionInfoClass info) => Attr info Int
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoMoveToIter :: (SourceCompletionInfoClass info) => info -> TextView -> Maybe TextIter -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoNew :: IO SourceCompletionInfo
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoProcessResize :: (SourceCompletionInfoClass info) => info -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoSetSizing :: (SourceCompletionInfoClass info) => info -> Int -> Int -> Bool -> Bool -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoSetWidget :: (SourceCompletionInfoClass info, WidgetClass widget) => info -> widget -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoShrinkHeight :: (SourceCompletionInfoClass info) => Attr info Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo: sourceCompletionInfoShrinkWidth :: (SourceCompletionInfoClass info) => Attr info Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: class (GObjectClass o) => SourceCompletionItemClass o
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: data SourceCompletionItem
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemIcon :: (SourceCompletionItemClass item) => Attr item Pixbuf
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemInfo :: (SourceCompletionItemClass item) => Attr item String
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemLabel :: (SourceCompletionItemClass item) => Attr item String
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemMarkup :: (SourceCompletionItemClass item) => Attr item String
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemNew :: String -> String -> Maybe Pixbuf -> String -> IO SourceCompletionItem
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemNewFromStock :: Maybe String -> String -> String -> String -> IO SourceCompletionItem
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemNewWithMarkup :: String -> String -> Maybe Pixbuf -> String -> IO SourceCompletionItem
+ Graphics.UI.Gtk.SourceView.SourceCompletionItem: sourceCompletionItemText :: (SourceCompletionItemClass item) => Attr item String
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: class (GObjectClass o) => SourceCompletionProposalClass o
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: data SourceCompletionProposal
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalChanged :: (SourceCompletionProposalClass scp) => Signal scp (IO ())
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalEqual :: (SourceCompletionProposalClass scp1, SourceCompletionProposalClass scp2) => scp1 -> scp2 -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalGetIcon :: (SourceCompletionProposalClass scp) => scp -> IO Pixbuf
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalGetInfo :: (SourceCompletionProposalClass scp) => scp -> IO String
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalGetLabel :: (SourceCompletionProposalClass scp) => scp -> IO String
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalGetMarkup :: (SourceCompletionProposalClass scp) => scp -> IO String
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalGetText :: (SourceCompletionProposalClass scp) => scp -> IO String
+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal: sourceCompletionProposalHash :: (SourceCompletionProposalClass scp) => scp -> IO Int
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: class (GObjectClass o) => SourceCompletionProviderClass o
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: data SourceCompletionProvider
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderActivateProposal :: (SourceCompletionProviderClass scp) => scp -> SourceCompletionProposal -> TextIter -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetActivation :: (SourceCompletionProviderClass scp) => scp -> IO SourceCompletionActivation
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetIcon :: (SourceCompletionProviderClass scp) => scp -> IO (Maybe Pixbuf)
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetInfoWidget :: (SourceCompletionProviderClass scp) => scp -> SourceCompletionProposal -> IO Widget
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetInteractiveDelay :: (SourceCompletionProviderClass scp) => scp -> IO Int
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetName :: (SourceCompletionProviderClass scp) => scp -> IO String
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetPriority :: (SourceCompletionProviderClass scp) => scp -> IO Int
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderGetStartIter :: (SourceCompletionProviderClass scp) => scp -> SourceCompletionContext -> SourceCompletionProposal -> IO (Maybe TextIter)
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderMatch :: (SourceCompletionProviderClass scp) => scp -> SourceCompletionContext -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderPopulate :: (SourceCompletionProviderClass scp) => scp -> SourceCompletionContext -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider: sourceCompletionProviderUpdateInfo :: (SourceCompletionProviderClass scp) => scp -> SourceCompletionProposal -> SourceCompletionInfo -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceGutter: class (GObjectClass o) => SourceGutterClass o
+ Graphics.UI.Gtk.SourceView.SourceGutter: data SourceGutter
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterCellActivated :: (SourceGutterClass sg) => Signal sg (CellRenderer -> TextIter -> EventM EAny ())
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterGetWindow :: (SourceGutterClass sg) => sg -> IO (Maybe DrawWindow)
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterInsert :: (CellRendererClass cell, SourceGutterClass sg) => sg -> cell -> Int -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterQueryTooltip :: (SourceGutterClass sg) => Signal sg (CellRenderer -> TextIter -> Tooltip -> IO Bool)
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterQueueDraw :: (SourceGutterClass sg) => sg -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterRemove :: (CellRendererClass cell, SourceGutterClass sg) => sg -> cell -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterReorder :: (CellRendererClass cell, SourceGutterClass sg) => sg -> cell -> Int -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterView :: (SourceGutterClass sg) => Attr sg SourceView
+ Graphics.UI.Gtk.SourceView.SourceGutter: sourceGutterWindowType :: (SourceGutterClass sg) => Attr sg TextWindowType
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetStyleIds :: (SourceLanguageClass sl) => sl -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetStyleName :: (SourceLanguageClass sl) => sl -> String -> IO String
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerLanguageIds :: (SourceLanguageManagerClass slm) => ReadAttr slm [String]
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerSearchPath :: (SourceLanguageManagerClass slm) => ReadWriteAttr slm [String] (Maybe [String])
+ Graphics.UI.Gtk.SourceView.SourceMark: class (TextMarkClass o) => SourceMarkClass o
+ Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkCategory :: (SourceMarkClass mark) => Attr mark String
+ Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkNew :: Maybe String -> String -> IO SourceMark
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: class (GObjectClass o) => SourceStyleSchemeClass o
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: class (GObjectClass o) => SourceUndoManagerClass o
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: data SourceUndoManager
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerBeginNotUndoableAction :: (SourceUndoManagerClass sum) => sum -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerCanRedo :: (SourceUndoManagerClass sum) => sum -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerCanRedoChanged :: (SourceUndoManagerClass sum) => Signal sum (IO ())
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerCanUndo :: (SourceUndoManagerClass sum) => sum -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerCanUndoChanged :: (SourceUndoManagerClass sum) => Signal sum (IO ())
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerEndNotUndoableAction :: (SourceUndoManagerClass sum) => sum -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerRedo :: (SourceUndoManagerClass sum) => sum -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceUndoManager: sourceUndoManagerUndo :: (SourceUndoManagerClass sum) => sum -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesAll :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesLeading :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesNbsp :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesNewline :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesSpace :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesTab :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesText :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceDrawSpacesTrailing :: SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: SourceViewGutterPositionLines :: SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.SourceView: SourceViewGutterPositionMarks :: SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.SourceView: data SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: data SourceViewGutterPosition
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewCompletion :: (SourceViewClass sv) => ReadAttr sv SourceCompletion
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewDrawSpaces :: (SourceViewClass sv) => Attr sv SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewGetDrawSpaces :: (SourceViewClass sv) => sv -> IO SourceDrawSpacesFlags
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewGetGutter :: (SourceViewClass sv) => sv -> TextWindowType -> IO SourceGutter
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewGetMarkCategoryBackground :: (SourceViewClass sv) => sv -> String -> Color -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewGetMarkCategoryPriority :: (SourceViewClass sv) => sv -> String -> IO Int
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewLineMarkActivated :: (SourceViewClass sv) => Signal sv (TextIter -> EventM EAny ())
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewMoveLines :: (SourceViewClass sv) => Signal sv (Bool -> Int -> IO ())
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewSetDrawSpaces :: (SourceViewClass sv) => sv -> SourceDrawSpacesFlags -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewSetMarkCategoryBackground :: (SourceViewClass sv) => sv -> String -> Maybe Color -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewSetMarkCategoryIconFromIconName :: (SourceViewClass sv) => sv -> String -> Maybe String -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewSetMarkCategoryIconFromPixbuf :: (SourceViewClass sv) => sv -> String -> Maybe Pixbuf -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewSetMarkCategoryIconFromStock :: (SourceViewClass sv) => sv -> String -> Maybe String -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewSetMarkCategoryPriority :: (SourceViewClass sv) => sv -> String -> Int -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceView: sourceViewShowCompletion :: (SourceViewClass sv) => Signal sv (IO ())
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferBeginNotUndoableAction :: SourceBuffer -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferBeginNotUndoableAction :: (SourceBufferClass buffer) => buffer -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferCanRedo :: ReadAttr SourceBuffer Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferCanRedo :: (SourceBufferClass buffer) => ReadAttr buffer Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferCanUndo :: ReadAttr SourceBuffer Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferCanUndo :: (SourceBufferClass buffer) => ReadAttr buffer Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferCreateSourceMark :: SourceBuffer -> Maybe String -> String -> TextIter -> IO SourceMark
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferCreateSourceMark :: (SourceBufferClass buffer) => buffer -> Maybe String -> String -> TextIter -> IO SourceMark
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferEndNotUndoableAction :: SourceBuffer -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferEndNotUndoableAction :: (SourceBufferClass buffer) => buffer -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferEnsureHighlight :: SourceBuffer -> TextIter -> TextIter -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferEnsureHighlight :: (SourceBufferClass buffer) => buffer -> TextIter -> TextIter -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetCanRedo :: SourceBuffer -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetCanRedo :: (SourceBufferClass buffer) => buffer -> IO Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetCanUndo :: SourceBuffer -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetCanUndo :: (SourceBufferClass buffer) => buffer -> IO Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetHighlightMatchingBrackets :: SourceBuffer -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetHighlightMatchingBrackets :: (SourceBufferClass buffer) => buffer -> IO Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetHighlightSyntax :: SourceBuffer -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetHighlightSyntax :: (SourceBufferClass buffer) => buffer -> IO Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetLanguage :: SourceBuffer -> IO SourceLanguage
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetLanguage :: (SourceBufferClass buffer) => buffer -> IO (Maybe SourceLanguage)
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetMaxUndoLevels :: SourceBuffer -> IO Int
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetMaxUndoLevels :: (SourceBufferClass buffer) => buffer -> IO Int
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetStyleScheme :: SourceBuffer -> IO SourceStyleScheme
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferGetStyleScheme :: (SourceBufferClass buffer) => buffer -> IO (Maybe SourceStyleScheme)
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferHighlightMatchingBrackets :: Attr SourceBuffer Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferHighlightMatchingBrackets :: (SourceBufferClass buffer) => Attr buffer Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferHighlightSyntax :: Attr SourceBuffer Bool
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferHighlightSyntax :: (SourceBufferClass buffer) => Attr buffer Bool
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferHighlightUpdated :: Signal SourceBuffer (TextIter -> TextIter -> IO ())
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferHighlightUpdated :: (SourceBufferClass buffer) => Signal buffer (TextIter -> TextIter -> IO ())
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferLanguage :: Attr SourceBuffer (Maybe SourceLanguage)
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferLanguage :: (SourceBufferClass buffer) => Attr buffer (Maybe SourceLanguage)
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferRedo :: SourceBuffer -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferRedo :: (SourceBufferClass buffer) => buffer -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetHighlightMatchingBrackets :: SourceBuffer -> Bool -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetHighlightMatchingBrackets :: (SourceBufferClass buffer) => buffer -> Bool -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetHighlightSyntax :: SourceBuffer -> Bool -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetHighlightSyntax :: (SourceBufferClass buffer) => buffer -> Bool -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetLanguage :: SourceBuffer -> SourceLanguage -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetLanguage :: (SourceBufferClass buffer) => buffer -> Maybe SourceLanguage -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetMaxUndoLevels :: SourceBuffer -> Int -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetMaxUndoLevels :: (SourceBufferClass buffer) => buffer -> Int -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetStyleScheme :: SourceBuffer -> SourceStyleScheme -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSetStyleScheme :: (SourceBufferClass buffer) => buffer -> Maybe SourceStyleScheme -> IO ()
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSourceStyleScheme :: Attr SourceBuffer (Maybe SourceStyleScheme)
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferSourceStyleScheme :: (SourceBufferClass buffer) => Attr buffer (Maybe SourceStyleScheme)
- Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferUndo :: SourceBuffer -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceBuffer: sourceBufferUndo :: (SourceBufferClass buffer) => buffer -> IO ()
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetGlobs :: SourceLanguage -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetGlobs :: (SourceLanguageClass sl) => sl -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetHidden :: SourceLanguage -> IO Bool
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetHidden :: (SourceLanguageClass sl) => sl -> IO Bool
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetId :: SourceLanguage -> IO String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetId :: (SourceLanguageClass sl) => sl -> IO String
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetMetadata :: SourceLanguage -> String -> IO String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetMetadata :: (SourceLanguageClass sl) => sl -> String -> IO String
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetMimeTypes :: SourceLanguage -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetMimeTypes :: (SourceLanguageClass sl) => sl -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetName :: SourceLanguage -> IO String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetName :: (SourceLanguageClass sl) => sl -> IO String
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetSection :: SourceLanguage -> IO String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageGetSection :: (SourceLanguageClass sl) => sl -> IO String
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageHidden :: ReadAttr SourceLanguage Bool
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageHidden :: (SourceLanguageClass sl) => ReadAttr sl Bool
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageId :: ReadAttr SourceLanguage String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageId :: (SourceLanguageClass sl) => ReadAttr sl String
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageName :: ReadAttr SourceLanguage String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageName :: (SourceLanguageClass sl) => ReadAttr sl String
- Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageSection :: ReadAttr SourceLanguage String
+ Graphics.UI.Gtk.SourceView.SourceLanguage: sourceLanguageSection :: (SourceLanguageClass sl) => ReadAttr sl String
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGetLanguage :: SourceLanguageManager -> String -> IO (Maybe SourceLanguage)
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGetLanguage :: (SourceLanguageManagerClass slm) => slm -> String -> IO (Maybe SourceLanguage)
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGetLanguageIds :: SourceLanguageManager -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGetLanguageIds :: (SourceLanguageManagerClass slm) => slm -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGetSearchPath :: SourceLanguageManager -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGetSearchPath :: (SourceLanguageManagerClass slm) => slm -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGuessLanguage :: SourceLanguageManager -> Maybe String -> Maybe String -> IO (Maybe SourceLanguage)
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerGuessLanguage :: (SourceLanguageManagerClass slm) => slm -> Maybe String -> Maybe String -> IO (Maybe SourceLanguage)
- Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerSetSearchPath :: SourceLanguageManager -> Maybe [String] -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceLanguageManager: sourceLanguageManagerSetSearchPath :: (SourceLanguageManagerClass slm) => slm -> Maybe [String] -> IO ()
- Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkGetCategory :: SourceMark -> IO String
+ Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkGetCategory :: (SourceMarkClass mark) => mark -> IO String
- Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkNext :: SourceMark -> String -> IO SourceMark
+ Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkNext :: (SourceMarkClass mark) => mark -> Maybe String -> IO (Maybe SourceMark)
- Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkPrev :: SourceMark -> String -> IO SourceMark
+ Graphics.UI.Gtk.SourceView.SourceMark: sourceMarkPrev :: (SourceMarkClass mark) => mark -> Maybe String -> IO (Maybe SourceMark)
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeDescription :: ReadAttr SourceStyleScheme String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeDescription :: (SourceStyleSchemeClass sss) => ReadAttr sss String
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeFilename :: ReadAttr SourceStyleScheme FilePath
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeFilename :: (SourceStyleSchemeClass sss) => ReadAttr sss FilePath
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetAuthors :: SourceStyleScheme -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetAuthors :: (SourceStyleSchemeClass sss) => sss -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetDescription :: SourceStyleScheme -> IO String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetDescription :: (SourceStyleSchemeClass sss) => sss -> IO String
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetFilename :: SourceStyleScheme -> IO String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetFilename :: (SourceStyleSchemeClass sss) => sss -> IO String
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetId :: SourceStyleScheme -> IO String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetId :: (SourceStyleSchemeClass sss) => sss -> IO String
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetName :: SourceStyleScheme -> IO String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetName :: (SourceStyleSchemeClass sss) => sss -> IO String
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetStyle :: SourceStyleScheme -> String -> IO SourceStyle
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeGetStyle :: (SourceStyleSchemeClass sss) => sss -> String -> IO SourceStyle
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeId :: ReadAttr SourceStyleScheme String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeId :: (SourceStyleSchemeClass sss) => ReadAttr sss String
- Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeName :: ReadAttr SourceStyleScheme String
+ Graphics.UI.Gtk.SourceView.SourceStyleScheme: sourceStyleSchemeName :: (SourceStyleSchemeClass sss) => ReadAttr sss String
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerAppendSearchPath :: SourceStyleSchemeManager -> String -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerAppendSearchPath :: (SourceStyleSchemeManagerClass sssm) => sssm -> String -> IO ()
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerForceRescan :: SourceStyleSchemeManager -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerForceRescan :: (SourceStyleSchemeManagerClass sssm) => sssm -> IO ()
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerGetScheme :: SourceStyleSchemeManager -> String -> IO SourceStyleScheme
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerGetScheme :: (SourceStyleSchemeManagerClass sssm) => sssm -> String -> IO SourceStyleScheme
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerGetSchemeIds :: SourceStyleSchemeManager -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerGetSchemeIds :: (SourceStyleSchemeManagerClass sssm) => sssm -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerGetSearchPath :: SourceStyleSchemeManager -> IO [String]
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerGetSearchPath :: (SourceStyleSchemeManagerClass sssm) => sssm -> IO [String]
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerPrependSearchPath :: SourceStyleSchemeManager -> String -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerPrependSearchPath :: (SourceStyleSchemeManagerClass sssm) => sssm -> String -> IO ()
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerSearchPath :: ReadWriteAttr SourceStyleSchemeManager [String] (Maybe [String])
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerSearchPath :: (SourceStyleSchemeManagerClass sssm) => ReadWriteAttr sssm [String] (Maybe [String])
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerSetSearchPath :: SourceStyleSchemeManager -> Maybe [String] -> IO ()
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerSetSearchPath :: (SourceStyleSchemeManagerClass sssm) => sssm -> Maybe [String] -> IO ()
- Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerStyleIds :: ReadAttr SourceStyleSchemeManager [String]
+ Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager: sourceStyleSchemeManagerStyleIds :: (SourceStyleSchemeManagerClass sssm) => ReadAttr sssm [String]
Files
- Graphics/UI/Gtk/SourceView.hs +19/−1
- Graphics/UI/Gtk/SourceView/Enums.chs +55/−0
- Graphics/UI/Gtk/SourceView/Signals.chs +88/−0
- Graphics/UI/Gtk/SourceView/SourceBuffer.chs +283/−97
- Graphics/UI/Gtk/SourceView/SourceCompletion.chs +289/−0
- Graphics/UI/Gtk/SourceView/SourceCompletionContext.chs +103/−0
- Graphics/UI/Gtk/SourceView/SourceCompletionInfo.chs +158/−0
- Graphics/UI/Gtk/SourceView/SourceCompletionItem.chs +143/−0
- Graphics/UI/Gtk/SourceView/SourceCompletionProposal.chs +133/−0
- Graphics/UI/Gtk/SourceView/SourceCompletionProvider.chs +182/−0
- Graphics/UI/Gtk/SourceView/SourceGutter.chs +152/−0
- Graphics/UI/Gtk/SourceView/SourceIter.chs +20/−9
- Graphics/UI/Gtk/SourceView/SourceLanguage.chs +87/−33
- Graphics/UI/Gtk/SourceView/SourceLanguageManager.chs +55/−27
- Graphics/UI/Gtk/SourceView/SourceMark.chs +71/−14
- Graphics/UI/Gtk/SourceView/SourceStyle/Internal.chs +5/−4
- Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs +55/−25
- Graphics/UI/Gtk/SourceView/SourceStyleSchemeManager.chs +51/−32
- Graphics/UI/Gtk/SourceView/SourceUndoManager.chs +111/−0
- Graphics/UI/Gtk/SourceView/SourceView.chs +340/−86
- Graphics/UI/Gtk/SourceView/Types.chs +222/−0
- demo/SourceViewTest.hs +1/−1
- gtksourceview2.cabal +11/−2
- gtksourceview2.h +2/−0
- hierarchy.list +8/−0
- marshal.list +6/−0
Graphics/UI/Gtk/SourceView.hs view
@@ -1,19 +1,37 @@ module Graphics.UI.Gtk.SourceView ( module Graphics.UI.Gtk.SourceView.SourceBuffer,+ module Graphics.UI.Gtk.SourceView.SourceCompletion,+ module Graphics.UI.Gtk.SourceView.SourceCompletionContext,+ module Graphics.UI.Gtk.SourceView.SourceCompletionInfo,+ module Graphics.UI.Gtk.SourceView.SourceCompletionItem,+ module Graphics.UI.Gtk.SourceView.SourceCompletionProposal,+ module Graphics.UI.Gtk.SourceView.SourceCompletionProvider,+ module Graphics.UI.Gtk.SourceView.SourceGutter, module Graphics.UI.Gtk.SourceView.SourceIter, module Graphics.UI.Gtk.SourceView.SourceLanguage, module Graphics.UI.Gtk.SourceView.SourceLanguageManager,+ module Graphics.UI.Gtk.SourceView.SourceMark, module Graphics.UI.Gtk.SourceView.SourceStyle, module Graphics.UI.Gtk.SourceView.SourceStyleScheme, module Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager,- module Graphics.UI.Gtk.SourceView.SourceView+ module Graphics.UI.Gtk.SourceView.SourceUndoManager,+ module Graphics.UI.Gtk.SourceView.SourceView, ) where import Graphics.UI.Gtk.SourceView.SourceBuffer+import Graphics.UI.Gtk.SourceView.SourceCompletion+import Graphics.UI.Gtk.SourceView.SourceCompletionContext+import Graphics.UI.Gtk.SourceView.SourceCompletionInfo+import Graphics.UI.Gtk.SourceView.SourceCompletionItem+import Graphics.UI.Gtk.SourceView.SourceCompletionProposal+import Graphics.UI.Gtk.SourceView.SourceCompletionProvider+import Graphics.UI.Gtk.SourceView.SourceGutter import Graphics.UI.Gtk.SourceView.SourceIter import Graphics.UI.Gtk.SourceView.SourceLanguage import Graphics.UI.Gtk.SourceView.SourceLanguageManager+import Graphics.UI.Gtk.SourceView.SourceMark import Graphics.UI.Gtk.SourceView.SourceStyle import Graphics.UI.Gtk.SourceView.SourceStyleScheme import Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager+import Graphics.UI.Gtk.SourceView.SourceUndoManager import Graphics.UI.Gtk.SourceView.SourceView
+ Graphics/UI/Gtk/SourceView/Enums.chs view
@@ -0,0 +1,55 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget Enums+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.Enums (+-- * Enums+ SourceCompletionActivation (..),+ SourceSearchFlags (..),+ SourceSmartHomeEndType (..),+ SourceDrawSpacesFlags (..),+ SourceViewGutterPosition (..)+) where++import Control.Monad (liftM)++import System.Glib.FFI+import System.Glib.Flags++{# context lib="gtk" prefix="gtk" #}++{# enum SourceCompletionActivation {underscoreToCase} deriving(Eq,Bounded,Show,Read) #}++{# enum SourceSearchFlags {underscoreToCase} deriving(Eq,Bounded,Show,Read) #}++instance Flags SourceSearchFlags++{# enum SourceSmartHomeEndType {underscoreToCase} deriving (Eq, Bounded, Show, Read) #}++{# enum SourceDrawSpacesFlags {underscoreToCase} deriving (Eq, Bounded, Show, Read) #}++instance Flags SourceDrawSpacesFlags++{# enum SourceViewGutterPosition {underscoreToCase} deriving (Eq, Bounded, Show, Read) #}+
Graphics/UI/Gtk/SourceView/Signals.chs view
@@ -41,7 +41,13 @@ module System.Glib.Signals, connect_NONE__NONE,+ connect_OBJECT__NONE, connect_BOXED_BOXED__NONE,+ connect_BOOL_INT__NONE,+ connect_PTR_BOXED__NONE,+ connect_OBJECT_PTR_BOXED__NONE,+ connect_OBJECT_BOXED_OBJECT__BOOL,+ connect_ENUM_INT__NONE, ) where @@ -74,6 +80,19 @@ failOnGError $ user +connect_OBJECT__NONE :: + (GObjectClass a', GObjectClass obj) => SignalName ->+ ConnectAfter -> obj ->+ (a' -> IO ()) ->+ IO (ConnectId obj)+connect_OBJECT__NONE signal after obj user =+ connectGeneric signal after obj action+ where action :: Ptr GObject -> Ptr GObject -> IO ()+ action _ obj1 =+ failOnGError $+ makeNewGObject (GObject, objectUnref) (return obj1) >>= \obj1' ->+ user (unsafeCastGObject obj1')+ connect_BOXED_BOXED__NONE :: GObjectClass obj => SignalName -> (Ptr a' -> IO a) -> (Ptr b' -> IO b) -> @@ -88,4 +107,73 @@ boxedPre2 (castPtr box2) >>= \box2' -> boxedPre1 (castPtr box1) >>= \box1' -> user box1' box2'++connect_BOOL_INT__NONE :: + GObjectClass obj => SignalName ->+ ConnectAfter -> obj ->+ (Bool -> Int -> IO ()) ->+ IO (ConnectId obj)+connect_BOOL_INT__NONE signal after obj user =+ connectGeneric signal after obj action+ where action :: Ptr GObject -> Bool -> Int -> IO ()+ action _ bool1 int2 =+ failOnGError $+ user bool1 int2++connect_PTR_BOXED__NONE :: + GObjectClass obj => SignalName ->+ (Ptr b' -> IO b) -> + ConnectAfter -> obj ->+ (Ptr a -> b -> IO ()) ->+ IO (ConnectId obj)+connect_PTR_BOXED__NONE signal boxedPre2 after obj user =+ connectGeneric signal after obj action+ where action :: Ptr GObject -> Ptr () -> Ptr () -> IO ()+ action _ ptr1 box2 =+ failOnGError $+ boxedPre2 (castPtr box2) >>= \box2' ->+ user (castPtr ptr1) box2'++connect_OBJECT_PTR_BOXED__NONE :: + (GObjectClass a', GObjectClass obj) => SignalName ->+ (Ptr c' -> IO c) -> + ConnectAfter -> obj ->+ (a' -> Ptr b -> c -> IO ()) ->+ IO (ConnectId obj)+connect_OBJECT_PTR_BOXED__NONE signal boxedPre3 after obj user =+ connectGeneric signal after obj action+ where action :: Ptr GObject -> Ptr GObject -> Ptr () -> Ptr () -> IO ()+ action _ obj1 ptr2 box3 =+ failOnGError $+ boxedPre3 (castPtr box3) >>= \box3' ->+ makeNewGObject (GObject, objectUnref) (return obj1) >>= \obj1' ->+ user (unsafeCastGObject obj1') (castPtr ptr2) box3'++connect_OBJECT_BOXED_OBJECT__BOOL :: + (GObjectClass a', GObjectClass c', GObjectClass obj) => SignalName ->+ (Ptr b' -> IO b) -> + ConnectAfter -> obj ->+ (a' -> b -> c' -> IO Bool) ->+ IO (ConnectId obj)+connect_OBJECT_BOXED_OBJECT__BOOL signal boxedPre2 after obj user =+ connectGeneric signal after obj action+ where action :: Ptr GObject -> Ptr GObject -> Ptr () -> Ptr GObject -> IO Bool+ action _ obj1 box2 obj3 =+ failOnGError $+ makeNewGObject (GObject, objectUnref) (return obj3) >>= \obj3' ->+ boxedPre2 (castPtr box2) >>= \box2' ->+ makeNewGObject (GObject, objectUnref) (return obj1) >>= \obj1' ->+ user (unsafeCastGObject obj1') box2' (unsafeCastGObject obj3')++connect_ENUM_INT__NONE :: + (Enum a, GObjectClass obj) => SignalName ->+ ConnectAfter -> obj ->+ (a -> Int -> IO ()) ->+ IO (ConnectId obj)+connect_ENUM_INT__NONE signal after obj user =+ connectGeneric signal after obj action+ where action :: Ptr GObject -> Int -> Int -> IO ()+ action _ enum1 int2 =+ failOnGError $+ user (toEnum enum1) int2
Graphics/UI/Gtk/SourceView/SourceBuffer.chs view
@@ -2,12 +2,13 @@ -- -*-haskell-*- -- GIMP Toolkit (GTK) SourceBuffer ----- Author : Peter Gavin+-- Author : Peter Gavin, Andy Stewart -- derived from sourceview bindings by Axel Simon and Duncan Coutts -- -- Created: 18 December 2008 -- -- Copyright (C) 2003-2008 Peter Gavin, Duncan Coutts, Axel Simon+-- Copyright (C) 2010 Andy Stewart -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public@@ -25,8 +26,23 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceBuffer (+-- * Description+-- | The 'SourceBuffer' object is the model for 'SourceView' widgets. It extends the 'TextBuffer'+-- object by adding features useful to display and edit source code as syntax highlighting and bracket+-- matching. It also implements support for undo/redo operations.+-- +-- To create a 'SourceBuffer' use 'sourceBufferNew' or+-- 'sourceBufferNewWithLanguage'. The second form is just a convenience function which allows+-- you to initially set a 'SourceLanguage'.+-- +-- By default highlighting is enabled, but you can disable it with+-- 'sourceBufferSetHighlightSyntax'.++-- * Types SourceBuffer, SourceBufferClass,++-- * Methods castToSourceBuffer, sourceBufferNew, sourceBufferNewWithLanguage,@@ -47,30 +63,44 @@ sourceBufferBeginNotUndoableAction, sourceBufferEndNotUndoableAction, sourceBufferCreateSourceMark,+ sourceBufferGetSourceMarksAtLine,+ sourceBufferGetSourceMarksAtIter,+ sourceBufferRemoveSourceMarks,+ sourceBufferForwardIterToSourceMark,+ sourceBufferBackwardIterToSourceMark, sourceBufferEnsureHighlight,++-- * Attributes sourceBufferCanRedo, sourceBufferCanUndo, sourceBufferHighlightMatchingBrackets, sourceBufferHighlightSyntax, sourceBufferLanguage, sourceBufferSourceStyleScheme,- sourceBufferHighlightUpdated+ sourceBufferMaxUndoLevels,+ sourceBufferUndoManager,++-- * Signals+ sourceBufferHighlightUpdated,+ sourceBufferRedoSignal,+ sourceBufferUndoSignal,+ sourceBufferSourceMarkUpdated, ) where import Control.Monad (liftM) import Data.Maybe (fromMaybe) -import System.Glib.FFI-import System.Glib.GObject (constructNewGObject,- makeNewGObject)-{#import System.Glib.Properties#}-import System.Glib.Attributes import Graphics.UI.Gtk.Abstract.Object (makeNewObject)-{#import Graphics.UI.Gtk.SourceView.Types#}-{#import Graphics.UI.Gtk.SourceView.Signals#}-{#import Graphics.UI.Gtk.Multiline.TextIter#}+import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GList+import System.Glib.GObject (constructNewGObject, makeNewGObject) +{#import Graphics.UI.Gtk.Multiline.TextIter#}+{#import Graphics.UI.Gtk.SourceView.Signals#} {#import Graphics.UI.Gtk.SourceView.SourceMark#}+{#import Graphics.UI.Gtk.SourceView.Types#}+{#import System.Glib.Properties#} {# context lib="gtk" prefix="gtk" #} @@ -91,101 +121,143 @@ sourceBufferNewWithLanguage lang = constructNewGObject mkSourceBuffer $ {#call unsafe source_buffer_new_with_language#} lang --- | ----sourceBufferSetHighlightSyntax :: SourceBuffer -> Bool -> IO ()+-- | Controls whether syntax is highlighted in the buffer. If highlight is 'True', the text will be+-- highlighted according to the syntax patterns specified in the language set with+-- 'sourceBufferSetLanguage'. If highlight is 'False', syntax highlighting is disabled and all the+-- 'TextTag' objects that have been added by the syntax highlighting engine are removed from the+-- buffer.+sourceBufferSetHighlightSyntax :: SourceBufferClass buffer => buffer -- ^ @buffer@ a 'SourceBuffer'. + -> Bool -- ^ @highlight@ 'True' to enable syntax highlighting, 'False' to disable it. + -> IO () sourceBufferSetHighlightSyntax sb newVal =- {#call unsafe source_buffer_set_highlight_syntax#} sb (fromBool newVal)+ {#call unsafe source_buffer_set_highlight_syntax#} + (toSourceBuffer sb) + (fromBool newVal) --- | ----sourceBufferGetHighlightSyntax :: SourceBuffer -> IO Bool +-- | Determines whether syntax highlighting is activated in the source buffer.+sourceBufferGetHighlightSyntax :: SourceBufferClass buffer => buffer + -> IO Bool -- ^ returns 'True' if syntax highlighting is enabled, 'False' otherwise. sourceBufferGetHighlightSyntax sb = liftM toBool $- {#call unsafe source_buffer_get_highlight_syntax#} sb+ {#call unsafe source_buffer_get_highlight_syntax#} + (toSourceBuffer sb) --- | ----sourceBufferSetLanguage :: SourceBuffer -> SourceLanguage -> IO ()+-- | Associate a 'SourceLanguage' with the source buffer. If language is not-'Nothing' and syntax+-- highlighting is enabled (see 'sourceBufferSetHighlightSyntax', the syntax patterns defined+-- in language will be used to highlight the text contained in the buffer. If language is 'Nothing', the+-- text contained in the buffer is not highlighted.+sourceBufferSetLanguage :: SourceBufferClass buffer => buffer + -> Maybe SourceLanguage -- ^ @language@ a 'SourceLanguage' to set, or 'Nothing'. + -> IO () sourceBufferSetLanguage sb lang =- {#call unsafe source_buffer_set_language#} sb lang+ {#call unsafe source_buffer_set_language#} + (toSourceBuffer sb) + (fromMaybe (SourceLanguage nullForeignPtr) lang) --- | ----sourceBufferGetLanguage :: SourceBuffer -> IO SourceLanguage-sourceBufferGetLanguage sb = makeNewGObject mkSourceLanguage $- {#call unsafe source_buffer_get_language#} sb+-- | Returns the 'SourceLanguage' associated with the buffer, see 'sourceBufferSetLanguage'. +sourceBufferGetLanguage :: SourceBufferClass buffer => buffer + -> IO (Maybe SourceLanguage) -- ^ returns 'SourceLanguage' associated with the buffer, or 'Nothing'. +sourceBufferGetLanguage sb = + maybeNull (makeNewGObject mkSourceLanguage) $+ {#call unsafe source_buffer_get_language#} (toSourceBuffer sb) --- | ----sourceBufferSetHighlightMatchingBrackets :: SourceBuffer -> Bool -> IO ()+-- | Controls the bracket match highlighting function in the buffer. If activated, when you position your+-- cursor over a bracket character (a parenthesis, a square bracket, etc.) the matching opening or+-- closing bracket character will be highlighted. You can specify the style with the+-- 'sourceBufferSetBracketMatchStyle' function.+sourceBufferSetHighlightMatchingBrackets :: SourceBufferClass buffer => buffer + -> Bool -- ^ @highlight@ 'True' if you want matching brackets highlighted. + -> IO () sourceBufferSetHighlightMatchingBrackets sb newVal =- {#call unsafe source_buffer_set_highlight_matching_brackets#} sb (fromBool newVal)+ {#call unsafe source_buffer_set_highlight_matching_brackets#} (toSourceBuffer sb) (fromBool newVal) --- | ----sourceBufferGetHighlightMatchingBrackets :: SourceBuffer -> IO Bool +-- | Determines whether bracket match highlighting is activated for the source buffer.+sourceBufferGetHighlightMatchingBrackets :: SourceBufferClass buffer => buffer + -> IO Bool -- ^ returns 'True' if the source buffer will highlight matching brackets. sourceBufferGetHighlightMatchingBrackets sb = liftM toBool $- {#call unsafe source_buffer_get_highlight_matching_brackets#} sb+ {#call unsafe source_buffer_get_highlight_matching_brackets#} (toSourceBuffer sb) --- |--- -sourceBufferSetStyleScheme :: SourceBuffer -> SourceStyleScheme -> IO ()-sourceBufferSetStyleScheme sb sss =- {#call unsafe source_buffer_set_style_scheme#} sb sss+-- | Sets style scheme used by the buffer. If scheme is 'Nothing' no style scheme is used.+sourceBufferSetStyleScheme :: SourceBufferClass buffer => buffer + -> Maybe SourceStyleScheme -- ^ @scheme@ style scheme. + -> IO ()+sourceBufferSetStyleScheme sb scheme =+ {#call unsafe source_buffer_set_style_scheme#} + (toSourceBuffer sb) + (fromMaybe (SourceStyleScheme nullForeignPtr) scheme) --- |--- -sourceBufferGetStyleScheme :: SourceBuffer -> IO SourceStyleScheme-sourceBufferGetStyleScheme sb = makeNewGObject mkSourceStyleScheme $- {#call unsafe source_buffer_get_style_scheme#} sb+-- | Returns the 'SourceStyleScheme' currently used in buffer.+sourceBufferGetStyleScheme :: SourceBufferClass buffer => buffer + -> IO (Maybe SourceStyleScheme) -- ^ returns the 'SourceStyleScheme' set by 'sourceBufferSetStyleScheme', or 'Nothing'.+sourceBufferGetStyleScheme sb = + maybeNull (makeNewGObject mkSourceStyleScheme) $+ {#call unsafe source_buffer_get_style_scheme#} (toSourceBuffer sb) --- | ----sourceBufferSetMaxUndoLevels :: SourceBuffer -> Int -> IO ()+-- | Sets the number of undo levels for user actions the buffer will track. If the number of user actions+-- exceeds the limit set by this function, older actions will be discarded.+-- +-- If @maxUndoLevels@ is -1, no limit is set.+-- +-- A new action is started whenever the function 'textBufferBeginUserAction' is called. In+-- general, this happens whenever the user presses any key which modifies the buffer, but the undo+-- manager will try to merge similar consecutive actions, such as multiple character insertions into+-- one action. But, inserting a newline does start a new action.+sourceBufferSetMaxUndoLevels :: SourceBufferClass buffer => buffer + -> Int -- ^ @maxUndoLevels@ the desired maximum number of undo levels. + -> IO () sourceBufferSetMaxUndoLevels sb newVal =- {#call unsafe source_buffer_set_max_undo_levels#} sb (fromIntegral newVal)+ {#call unsafe source_buffer_set_max_undo_levels#} (toSourceBuffer sb) (fromIntegral newVal) --- | ----sourceBufferGetMaxUndoLevels :: SourceBuffer -> IO Int+-- | Determines the number of undo levels the buffer will track for buffer edits.+sourceBufferGetMaxUndoLevels :: SourceBufferClass buffer => buffer + -> IO Int -- ^ returns the maximum number of possible undo levels or -1 if no limit is set. sourceBufferGetMaxUndoLevels sb = liftM fromIntegral $- {#call unsafe source_buffer_get_max_undo_levels#} sb+ {#call unsafe source_buffer_get_max_undo_levels#} (toSourceBuffer sb) --- | ----sourceBufferGetCanUndo :: SourceBuffer -> IO Bool+-- | Determines whether a source buffer can undo the last action.+sourceBufferGetCanUndo :: SourceBufferClass buffer => buffer + -> IO Bool -- ^ returns 'True' if it's possible to undo the last action. sourceBufferGetCanUndo sb = liftM toBool $- {#call unsafe source_buffer_can_undo#} sb+ {#call unsafe source_buffer_can_undo#} (toSourceBuffer sb) --- | ----sourceBufferGetCanRedo :: SourceBuffer -> IO Bool+-- | Determines whether a source buffer can redo the last action (i.e. if the last operation was an+-- undo).+sourceBufferGetCanRedo :: SourceBufferClass buffer => buffer + -> IO Bool -- ^ returns 'True' if a redo is possible. sourceBufferGetCanRedo sb = liftM toBool $- {#call unsafe source_buffer_can_redo#} sb+ {#call unsafe source_buffer_can_redo#} (toSourceBuffer sb) --- | ----sourceBufferUndo :: SourceBuffer -> IO ()+-- | Undoes the last user action which modified the buffer. Use 'sourceBufferCanUndo' to check+-- whether a call to this function will have any effect.+-- +-- Actions are defined as groups of operations between a call to 'textBufferBeginUserAction'+-- and 'textBufferEndUserAction' on the+-- same line.+sourceBufferUndo :: SourceBufferClass buffer => buffer -> IO () sourceBufferUndo sb =- {#call source_buffer_undo#} sb+ {#call source_buffer_undo#} (toSourceBuffer sb) --- | ----sourceBufferRedo :: SourceBuffer -> IO ()+-- | Redoes the last undo operation. Use 'sourceBufferCanRedo' to check whether a call to this+-- function will have any effect.+sourceBufferRedo :: SourceBufferClass buffer => buffer -> IO () sourceBufferRedo sb =- {#call source_buffer_redo#} sb+ {#call source_buffer_redo#} (toSourceBuffer sb) --- | ----sourceBufferBeginNotUndoableAction :: SourceBuffer -> IO ()+-- | Marks the beginning of a not undoable action on the buffer, disabling the undo manager. Typically+-- you would call this function before initially setting the contents of the buffer (e.g. when loading+-- a file in a text editor).+-- +-- You may nest 'sourceBufferBeginNotUndoableAction' /+-- 'sourceBufferEndNotUndoableAction' blocks.+sourceBufferBeginNotUndoableAction :: SourceBufferClass buffer => buffer -> IO () sourceBufferBeginNotUndoableAction sb =- {#call source_buffer_begin_not_undoable_action#} sb+ {#call source_buffer_begin_not_undoable_action#} (toSourceBuffer sb) --- | ----sourceBufferEndNotUndoableAction :: SourceBuffer -> IO ()+-- | Marks the end of a not undoable action on the buffer. When the last not undoable block is closed+-- through the call to this function, the list of undo actions is cleared and the undo manager is+-- re-enabled.+sourceBufferEndNotUndoableAction :: SourceBufferClass buffer => buffer -> IO () sourceBufferEndNotUndoableAction sb =- {#call source_buffer_end_not_undoable_action#} sb+ {#call source_buffer_end_not_undoable_action#} (toSourceBuffer sb) -- | Creates a marker in the buffer of the given type. --@@ -210,7 +282,7 @@ -- passed name is @Nothing@. Also, the buffer owns the markers so you -- shouldn't unreference it. -sourceBufferCreateSourceMark :: SourceBuffer -- the buffer+sourceBufferCreateSourceMark :: SourceBufferClass buffer => buffer -- the buffer -> Maybe String -- the name of the mark -> String -- the category of the mark -> TextIter -> IO SourceMark@@ -218,50 +290,164 @@ makeNewGObject mkSourceMark $ maybeWith withCString name $ \strPtr1 -> withCString category $ \strPtr2 ->- {#call source_buffer_create_source_mark#} sb strPtr1 strPtr2 iter+ {#call source_buffer_create_source_mark#} (toSourceBuffer sb) strPtr1 strPtr2 iter --- |+-- | Returns the list of marks of the given category at line. If category is empty, all marks at line are+-- returned.+sourceBufferGetSourceMarksAtLine :: SourceBufferClass buffer => buffer -- ^ @buffer@ a 'SourceBuffer'. + -> Int -- ^ @line@ a line number. + -> String -- ^ @category@ category to search for or empty + -> IO [SourceMark]+sourceBufferGetSourceMarksAtLine buffer line category = + withCString category $ \categoryPtr ->+ {#call gtk_source_buffer_get_source_marks_at_line #}+ (toSourceBuffer buffer) + (fromIntegral line)+ categoryPtr+ >>= readGSList+ >>= mapM (\markPtr -> makeNewGObject mkSourceMark (return markPtr))++-- | Returns the list of marks of the given category at iter. If category is empty it returns all marks at+-- iter.+sourceBufferGetSourceMarksAtIter :: SourceBufferClass buffer => buffer -- ^ @buffer@ a 'SourceBuffer'. + -> TextIter -- ^ @iter@ an iterator. + -> String -- ^ @category@ category to search for or empty+ -> IO [SourceMark]+sourceBufferGetSourceMarksAtIter buffer iter category =+ withCString category $ \categoryPtr ->+ {#call gtk_source_buffer_get_source_marks_at_iter #}+ (toSourceBuffer buffer)+ iter+ categoryPtr+ >>= readGSList+ >>= mapM (\markPtr -> makeNewGObject mkSourceMark (return markPtr))++-- | Remove all marks of category between start and end from the buffer. If category is empty, all marks+-- in the range will be removed.+sourceBufferRemoveSourceMarks :: SourceBufferClass buffer => buffer -- ^ @buffer@ a 'SourceBuffer'. + -> TextIter -- ^ @start@ a 'TextIter' + -> TextIter -- ^ @end@ a 'TextIter' + -> String -- ^ @category@ category to search for or empty+ -> IO ()+sourceBufferRemoveSourceMarks buffer start end category =+ withCString category $ \categoryPtr ->+ {#call gtk_source_buffer_remove_source_marks #}+ (toSourceBuffer buffer)+ start+ end+ categoryPtr++-- | Moves iter to the position of the next 'SourceMark' of the given category. Returns 'True' if iter was+-- moved. If category is empty, the next source mark can be of any category.+sourceBufferForwardIterToSourceMark :: SourceBufferClass buffer => buffer -- ^ @buffer@ a 'SourceBuffer'. + -> TextIter -- ^ @iter@ an iterator. + -> String -- ^ @category@ category to search for or emtpy+ -> IO Bool -- ^ returns whether iter moved. +sourceBufferForwardIterToSourceMark buffer iter category =+ liftM toBool $+ withCString category $ \categoryPtr ->+ {#call gtk_source_buffer_forward_iter_to_source_mark #}+ (toSourceBuffer buffer)+ iter+ categoryPtr++-- | Moves iter to the position of the previous 'SourceMark' of the given category. Returns 'True' if iter+-- was moved. If category is empty, the previous source mark can be of any category.+sourceBufferBackwardIterToSourceMark :: SourceBufferClass buffer => buffer -- ^ @buffer@ a 'SourceBuffer'. + -> TextIter -- ^ @iter@ an iterator. + -> String -- ^ @category@ category to search for or emtpy+ -> IO Bool -- ^ returns whether iter moved. +sourceBufferBackwardIterToSourceMark buffer iter category =+ liftM toBool $+ withCString category $ \categoryPtr ->+ {#call gtk_source_buffer_backward_iter_to_source_mark #}+ (toSourceBuffer buffer)+ iter+ categoryPtr++-- | Forces buffer to analyze and highlight the given area synchronously. -- -sourceBufferEnsureHighlight :: SourceBuffer -> TextIter -> TextIter -> IO ()+-- Note+-- +-- This is a potentially slow operation and should be used only when you need to make sure that some+-- text not currently visible is highlighted, for instance before printing.+sourceBufferEnsureHighlight :: SourceBufferClass buffer => buffer + -> TextIter -- ^ @start@ start of the area to highlight. + -> TextIter -- ^ @end@ end of the area to highlight. + -> IO () sourceBufferEnsureHighlight sb start end =- {#call source_buffer_ensure_highlight#} sb start end+ {#call source_buffer_ensure_highlight#} (toSourceBuffer sb) start end --- |+-- | Whether Redo operation is possible. -- -sourceBufferCanRedo :: ReadAttr SourceBuffer Bool+-- Default value: 'False'+-- +sourceBufferCanRedo :: SourceBufferClass buffer => ReadAttr buffer Bool sourceBufferCanRedo = readAttrFromBoolProperty "can-redo" --- |+-- | Whether Undo operation is possible. -- -sourceBufferCanUndo :: ReadAttr SourceBuffer Bool+-- Default value: 'False'+sourceBufferCanUndo :: SourceBufferClass buffer => ReadAttr buffer Bool sourceBufferCanUndo = readAttrFromBoolProperty "can-undo" --- |+-- | Whether to highlight matching brackets in the buffer.+-- +-- Default value: 'True' ---sourceBufferHighlightMatchingBrackets :: Attr SourceBuffer Bool+sourceBufferHighlightMatchingBrackets :: SourceBufferClass buffer => Attr buffer Bool sourceBufferHighlightMatchingBrackets = newAttrFromBoolProperty "highlight-matching-brackets" --- |+-- | Whether to highlight syntax in the buffer.+-- +-- Default value: 'True' ---sourceBufferHighlightSyntax :: Attr SourceBuffer Bool+sourceBufferHighlightSyntax :: SourceBufferClass buffer => Attr buffer Bool sourceBufferHighlightSyntax = newAttrFromBoolProperty "highlight-matching-brackets" --- |+-- | Language object to get highlighting patterns from. -- -sourceBufferLanguage :: Attr SourceBuffer (Maybe SourceLanguage)+sourceBufferLanguage :: SourceBufferClass buffer => Attr buffer (Maybe SourceLanguage) sourceBufferLanguage = newAttrFromMaybeObjectProperty "language" gTypeSourceLanguage --- |+-- | Number of undo levels for the buffer. -1 means no limit. This property will only affect the default+-- undo manager.+-- +-- Allowed values: >= GMaxulong+-- +-- Default value: 1000 ---sourceBufferMaxUndoLevels :: Attr SourceBuffer Int+sourceBufferMaxUndoLevels :: SourceBufferClass buffer => Attr buffer Int sourceBufferMaxUndoLevels = newAttrFromIntProperty "max-undo-levels" --- |+-- | Style scheme. It contains styles for syntax highlighting, optionally foreground, background, cursor+-- color, current line color, and matching brackets style. -- -sourceBufferSourceStyleScheme :: Attr SourceBuffer (Maybe SourceStyleScheme)+sourceBufferSourceStyleScheme :: SourceBufferClass buffer => Attr buffer (Maybe SourceStyleScheme) sourceBufferSourceStyleScheme = newAttrFromMaybeObjectProperty "style-scheme" gTypeSourceStyleScheme +-- | The buffer undo manager.+sourceBufferUndoManager :: SourceBufferClass buffer => Attr buffer SourceUndoManager+sourceBufferUndoManager = newAttrFromObjectProperty "undo-manager"+ {# call pure unsafe gtk_source_undo_manager_get_type #}+ -- | ---sourceBufferHighlightUpdated :: Signal SourceBuffer (TextIter -> TextIter -> IO ())+sourceBufferHighlightUpdated :: SourceBufferClass buffer => Signal buffer (TextIter -> TextIter -> IO ()) sourceBufferHighlightUpdated = Signal $ connect_BOXED_BOXED__NONE "highlight-updated" mkTextIterCopy mkTextIterCopy++-- |+--+sourceBufferRedoSignal :: SourceBufferClass buffer => Signal buffer (IO ())+sourceBufferRedoSignal = Signal $ connect_NONE__NONE "redo"++-- |+--+sourceBufferUndoSignal :: SourceBufferClass buffer => Signal buffer (IO ())+sourceBufferUndoSignal = Signal $ connect_NONE__NONE "undo"++-- | The 'sourceBufferMarkUpdated' signal is emitted each time a mark is added to, moved or removed from the+-- buffer.+--+sourceBufferSourceMarkUpdated :: SourceBufferClass buffer => Signal buffer (TextMark -> IO ())+sourceBufferSourceMarkUpdated = Signal $ connect_OBJECT__NONE "source-mark-updated"
+ Graphics/UI/Gtk/SourceView/SourceCompletion.chs view
@@ -0,0 +1,289 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceCompletion+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceCompletion (+-- * Types+ SourceCompletion,+ SourceCompletionClass,++-- * Methods+ sourceCompletionAddProvider,+ sourceCompletionRemoveProvider,+ sourceCompletionGetProviders,+ sourceCompletionShow,+ sourceCompletionHide,+ sourceCompletionGetInfoWindow,+ sourceCompletionCreateContext,+ sourceCompletionMoveWindow,+ sourceCompletionBlockInteractive,+ sourceCompletionUnblockInteractive,++-- * Attributes+ sourceCompletionAccelerators,+ sourceCompletionAutoCompleteDelay,+ sourceCompletionProposalPageSize,+ sourceCompletionProviderPageSize,+ sourceCompletionRememberInfoVisibility,+ sourceCompletionSelectOnShow,+ sourceCompletionShowHeaders,+ sourceCompletionShowIcons,+ sourceCompletionView,++-- * Signals+ sourceCompletionActivateProposal,+ sourceCompletionHideSignal,+ sourceCompletionMoveCursor,+ sourceCompletionMovePage,+ sourceCompletionPopulateContext,+ sourceCompletionShowSignal,+) where++import Control.Monad (liftM)+import Data.Maybe (fromMaybe)++import Graphics.UI.Gtk.Abstract.Object (makeNewObject)+import Graphics.UI.Gtk.General.Enums (ScrollStep (..))+import Graphics.UI.Gtk.Multiline.TextView (TextWindowType (..))+import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GError+import System.Glib.GList (fromGList, withGList)+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Add a new 'SourceCompletionProvider' to the completion object. This will add a reference provider,+-- so make sure to unref your own copy when you no longer need it.+sourceCompletionAddProvider :: SourceCompletionClass sc => sc + -> SourceCompletionProvider+ -> IO Bool -- ^ returns 'True' if provider was successfully added, otherwise if error is provided, it will be set with the error and +sourceCompletionAddProvider sc provider = + liftM toBool $+ propagateGError $ \gErrorPtr -> + {# call gtk_source_completion_add_provider #} + (toSourceCompletion sc)+ provider+ gErrorPtr++-- | Remove provider from the completion.+sourceCompletionRemoveProvider :: SourceCompletionClass sc => sc + -> SourceCompletionProvider+ -> IO Bool -- ^ returns 'True' if provider was successfully removed, otherwise if error is provided, it will be set with the error and +sourceCompletionRemoveProvider sc provider =+ liftM toBool $+ propagateGError $ \gErrorPtr -> + {#call gtk_source_completion_remove_provider #}+ (toSourceCompletion sc)+ provider+ gErrorPtr+ +-- | Get list of providers registered on completion. The returned list is owned by the completion and+-- should not be freed.+sourceCompletionGetProviders :: SourceCompletionClass sc => sc -> IO [SourceCompletionProvider]+sourceCompletionGetProviders sc = do+ glist <- {#call gtk_source_completion_get_providers #} (toSourceCompletion sc)+ glistPtrs <- fromGList glist+ mapM (makeNewGObject mkSourceCompletionProvider . return) glistPtrs ++-- | Starts a new completion with the specified 'SourceCompletionContext' and a list of potential+-- candidate providers for completion.+sourceCompletionShow :: SourceCompletionClass sc => sc+ -> [SourceCompletionProvider] -- ^ @providers@ A list of 'SourceCompletionProvider' + -> SourceCompletionContext -- ^ @context@ The 'SourceCompletionContext' with which to start the completion+ -> IO Bool -- ^ returns 'True' if it was possible to the show completion window. +sourceCompletionShow sc providers context =+ liftM toBool $+ withForeignPtrs (map unSourceCompletionProvider providers) $ \providersPtr ->+ withGList providersPtr $ \glist ->+ {#call gtk_source_completion_show #}+ (toSourceCompletion sc)+ glist+ context++-- | Hides the completion if it is active (visible).+sourceCompletionHide :: SourceCompletionClass sc => sc -> IO ()+sourceCompletionHide sc =+ {#call gtk_source_completion_hide #} (toSourceCompletion sc)++-- | The info widget is the window where the completion displays optional extra information of the+-- proposal.+sourceCompletionGetInfoWindow :: SourceCompletionClass sc => sc -> IO SourceCompletionInfo+sourceCompletionGetInfoWindow sc =+ makeNewObject mkSourceCompletionInfo $+ {#call gtk_source_completion_get_info_window #}+ (toSourceCompletion sc)++-- | Create a new 'SourceCompletionContext' for completion. The position at which the completion using+-- the new context will consider completion can be provider by position. If position is 'Nothing', the+-- current cursor position will be used.+sourceCompletionCreateContext :: SourceCompletionClass sc => sc+ -> Maybe TextIter+ -> IO SourceCompletionContext+sourceCompletionCreateContext sc iter = + makeNewGObject mkSourceCompletionContext $+ {#call gtk_source_completion_create_context #}+ (toSourceCompletion sc)+ (fromMaybe (TextIter nullForeignPtr) iter)++-- | Move the completion window to a specific iter.+sourceCompletionMoveWindow :: SourceCompletionClass sc => sc+ -> TextIter + -> IO ()+sourceCompletionMoveWindow sc iter = + {#call gtk_source_completion_move_window #}+ (toSourceCompletion sc)+ iter++-- | Block interactive completion. This can be used to disable interactive completion when inserting or+-- deleting text from the buffer associated with the completion. Use+-- 'sourceCompletionUnblockInteractive' to enable interactive completion again.+sourceCompletionBlockInteractive :: SourceCompletionClass sc => sc -> IO ()+sourceCompletionBlockInteractive sc =+ {#call gtk_source_completion_block_interactive #}+ (toSourceCompletion sc)++-- | Unblock interactive completion. This can be used after using 'sourceCompletionBlockInteractive'+-- to enable interactive completion again.+sourceCompletionUnblockInteractive :: SourceCompletionClass sc => sc -> IO ()+sourceCompletionUnblockInteractive sc =+ {#call gtk_source_completion_unblock_interactive #}+ (toSourceCompletion sc)++-- | Number of accelerators to show for the first proposals.+-- +-- Allowed values: <= 10+-- +-- Default value: 5+--+sourceCompletionAccelerators :: SourceCompletionClass sc => Attr sc Int+sourceCompletionAccelerators = newAttrFromIntProperty "accelerators"++-- | Determines the popup delay (in milliseconds) at which the completion will be shown for interactive+-- completion.+-- +-- Default value: 250+--+sourceCompletionAutoCompleteDelay :: SourceCompletionClass sc => Attr sc Int+sourceCompletionAutoCompleteDelay = newAttrFromIntProperty "auto-complete-delay"++-- | The scroll page size of the proposals in the completion window.+-- +-- Allowed values: >= 1+-- +-- Default value: 5+--+sourceCompletionProposalPageSize :: SourceCompletionClass sc => Attr sc Int+sourceCompletionProposalPageSize = newAttrFromIntProperty "proposal-page-size"++-- | The scroll page size of the provider pages in the completion window.+-- +-- Allowed values: >= 1+-- +-- Default value: 5+--+sourceCompletionProviderPageSize :: SourceCompletionClass sc => Attr sc Int+sourceCompletionProviderPageSize = newAttrFromIntProperty "provider-page-size"++-- | Determines whether the visibility of the info window should be saved when the completion is hidden,+-- and restored when the completion is shown again.+-- +-- Default value: 'False'+--+sourceCompletionRememberInfoVisibility :: SourceCompletionClass sc => Attr sc Bool+sourceCompletionRememberInfoVisibility = newAttrFromBoolProperty "remember-info-visibility"++-- | Determines whether the first proposal should be selected when the completion is first shown.+-- +-- Default value: 'True'+--+sourceCompletionSelectOnShow :: SourceCompletionClass sc => Attr sc Bool+sourceCompletionSelectOnShow = newAttrFromBoolProperty "select-on-show"++-- | Determines whether provider headers should be shown in the proposal list if there is more than one+-- provider with proposals.+-- +-- Default value: 'True'+sourceCompletionShowHeaders :: SourceCompletionClass sc => Attr sc Bool+sourceCompletionShowHeaders = newAttrFromBoolProperty "show-headers"++-- | Determines whether provider and proposal icons should be shown in the completion popup.+-- +-- Default value: 'True'+--+sourceCompletionShowIcons :: SourceCompletionClass sc => Attr sc Bool+sourceCompletionShowIcons = newAttrFromBoolProperty "show-icons"++-- | The 'SourceView' bound to the completion object.+--+sourceCompletionView :: SourceCompletionClass sc => Attr sc SourceView+sourceCompletionView = newAttrFromObjectProperty "view"+ {#call pure unsafe gtk_source_view_get_type #}++-- | The 'activateProposal' signal is a keybinding signal which gets emitted when the user initiates a+-- proposal activation.+-- +-- Applications should not connect to it, but may emit it with @gSignalEmitByName@ if they need to+-- control the proposal activation programmatically.+sourceCompletionActivateProposal :: SourceCompletionClass sc => Signal sc (IO ())+sourceCompletionActivateProposal = + Signal $ connect_NONE__NONE "activate-proposal"++-- | Emitted when the completion window is hidden. The default handler will actually hide the window.+sourceCompletionHideSignal :: SourceCompletionClass sc => Signal sc (IO ())+sourceCompletionHideSignal =+ Signal $ connect_NONE__NONE "hide"++-- | The 'moveCursor' signal is a keybinding signal which gets emitted when the user initiates a cursor+-- movement.+-- +-- Applications should not connect to it, but may emit it with @gSignalEmitByName@ if they need to+-- control the cursor programmatically.+sourceCompletionMoveCursor :: SourceCompletionClass sc => Signal sc (ScrollStep -> Int -> IO ())+sourceCompletionMoveCursor =+ Signal $ connect_ENUM_INT__NONE "move-cursor"++-- | The 'movePage' signal is a keybinding signal which gets emitted when the user initiates a page+-- movement (i.e. switches between provider pages).+-- +-- Applications should not connect to it, but may emit it with @gSignalEmitByName@ if they need to+-- control the page selection programmatically.+sourceCompletionMovePage :: SourceCompletionClass sc => Signal sc (ScrollStep -> Int -> IO ())+sourceCompletionMovePage =+ Signal $ connect_ENUM_INT__NONE "move-page"++-- | Emitted just before starting to populate the completion with providers. You can use this signal to+-- add additional attributes in the context.+sourceCompletionPopulateContext :: SourceCompletionClass sc => Signal sc (SourceCompletionContext -> IO ())+sourceCompletionPopulateContext = Signal $ connect_OBJECT__NONE "populate-context"++-- | Emitted when the completion window is shown. The default handler will actually show the window.+sourceCompletionShowSignal :: SourceCompletionClass sc => Signal sc (IO ())+sourceCompletionShowSignal =+ Signal $ connect_NONE__NONE "show"
+ Graphics/UI/Gtk/SourceView/SourceCompletionContext.chs view
@@ -0,0 +1,103 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceCompletionContext+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceCompletionContext (+-- * Types+ SourceCompletionContext,+ SourceCompletionContextClass,++-- * Enums+ SourceCompletionActivation,++-- * Methods+ sourceCompletionContextAddProposals,+ sourceCompletionContextGetIter,++-- * Attributes + sourceCompletionContextActivation,+ sourceCompletionContextCompletion,++-- * Signals + sourceCompletionContextCancelled,+) where++import Control.Monad (liftM)++import Graphics.UI.Gtk.SourceView.Enums+import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GList (fromGList, withGList)+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Providers can use this function to add proposals to the completion. They can do so asynchronously by+-- means of the finished argument. Providers must ensure that they always call this function with+-- finished set to 'True' once each population (even if no proposals need to be added).+sourceCompletionContextAddProposals :: SourceCompletionContextClass scc => scc+ -> SourceCompletionProvider+ -> [SourceCompletionProposal] -- ^ @proposals@ The list of proposals to add + -> Bool -- ^ @finished@ Whether the provider is finished adding proposals + -> IO ()+sourceCompletionContextAddProposals scc provider proposals finished = + withForeignPtrs (map unSourceCompletionProposal proposals) $ \proposalsPtr ->+ withForeignPtr (unSourceCompletionProvider provider) $ \providerPtr ->+ withGList proposalsPtr $ \glist ->+ {#call gtk_source_completion_context_add_proposals #}+ (toSourceCompletionContext scc)+ (castPtr providerPtr)+ glist+ (fromBool finished)++-- | Get the iter at which the completion was invoked. Providers can use this to determine how and if to+-- match proposals.+sourceCompletionContextGetIter :: SourceCompletionContextClass scc => scc+ -> IO TextIter+sourceCompletionContextGetIter scc = do+ iter <- makeEmptyTextIter+ {#call gtk_source_completion_context_get_iter #}+ (toSourceCompletionContext scc)+ iter+ return iter++-- | The completion activation+sourceCompletionContextActivation :: SourceCompletionContextClass scc => Attr scc SourceCompletionActivation+sourceCompletionContextActivation = newAttrFromEnumProperty "activation"+ {#call pure unsafe gtk_source_completion_activation_get_type #}++-- | The 'SourceCompletion' associated with the context.+sourceCompletionContextCompletion :: SourceCompletionContextClass scc => Attr scc SourceCompletion+sourceCompletionContextCompletion = newAttrFromObjectProperty "completion"+ {#call pure unsafe gtk_source_completion_get_type #}++-- | Emitted when the current population of proposals has been cancelled. Providers adding proposals+-- asynchronously should connect to this signal to know when to cancel running proposal queries.+sourceCompletionContextCancelled :: SourceCompletionContextClass scc => Signal scc (IO ())+sourceCompletionContextCancelled = Signal $ connect_NONE__NONE "cancelled"
+ Graphics/UI/Gtk/SourceView/SourceCompletionInfo.chs view
@@ -0,0 +1,158 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceCompletionInfo+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceCompletionInfo (+-- * Description+-- | This object can be used to show a calltip or help for the .* current completion proposal.++-- * Types+ SourceCompletionInfo,+ SourceCompletionInfoClass,++-- * Methods+ sourceCompletionInfoNew,+ sourceCompletionInfoMoveToIter,+ sourceCompletionInfoSetSizing,+ sourceCompletionInfoSetWidget,+ sourceCompletionInfoGetWidget,+ sourceCompletionInfoProcessResize,++-- * Attributes+ sourceCompletionInfoMaxHeight,+ sourceCompletionInfoMaxWidth,+ sourceCompletionInfoShrinkHeight,+ sourceCompletionInfoShrinkWidth,++-- * Signals+ sourceCompletionInfoBeforeShow,+) where+import Control.Monad (liftM)+import Data.Maybe (fromMaybe)++import Graphics.UI.Gtk.Abstract.Object (makeNewObject)+import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- |+sourceCompletionInfoNew :: IO SourceCompletionInfo+sourceCompletionInfoNew = + makeNewObject mkSourceCompletionInfo $+ {#call gtk_source_completion_info_new #}++-- | Moves the 'SourceCompletionInfo' to iter. If iter is 'Nothing' info is moved to the cursor+-- position. Moving will respect the 'Gravity' setting of the info window and will ensure the line at+-- iter is not occluded by the window.+sourceCompletionInfoMoveToIter :: SourceCompletionInfoClass info => info + -> TextView -- ^ @view@ A 'TextView' on which the info window should be positioned + -> Maybe TextIter -- ^ @iter@ A 'TextIter' or 'Nothing'+ -> IO ()+sourceCompletionInfoMoveToIter info view iter =+ {#call gtk_source_completion_info_move_to_iter #}+ (toSourceCompletionInfo info)+ view+ (fromMaybe (TextIter nullForeignPtr) iter)++-- | Set sizing information for the info window. If @shrinkWidth@ or @shrinkHeight@ is 'True', the info+-- window will try to resize to fit the window contents, with a maximum size given by width and+-- height. Setting width or height to -1 removes the maximum size of respectively the width and height+-- of the window.+sourceCompletionInfoSetSizing :: SourceCompletionInfoClass info => info + -> Int -- ^ @width@ The maximum/requested width of the window (-1 to default) + -> Int -- ^ @height@ The maximum/requested height of the window (-1 to default) + -> Bool -- ^ @shrinkWidth@ Whether to shrink the width of the window to fit its contents + -> Bool -- ^ @shrinkHeight@ Whether to shrink the height of the window to fit its contents+ -> IO ()+sourceCompletionInfoSetSizing info width height shrinkWidth shrinkHeight = + {#call gtk_source_completion_info_set_sizing #}+ (toSourceCompletionInfo info)+ (fromIntegral width)+ (fromIntegral height)+ (fromBool shrinkWidth)+ (fromBool shrinkHeight)++-- | Sets the content widget of the info window. If widget does not fit within the size requirements of+-- the window, a 'ScrolledWindow' will automatically be created and added to the window.+sourceCompletionInfoSetWidget :: (SourceCompletionInfoClass info, WidgetClass widget) => info + -> widget+ -> IO ()+sourceCompletionInfoSetWidget info widget =+ {#call gtk_source_completion_info_set_widget #}+ (toSourceCompletionInfo info)+ (toWidget widget)++-- | Get the current content widget.+sourceCompletionInfoGetWidget :: SourceCompletionInfoClass info => info + -> IO Widget -- ^ returns The current content widget. +sourceCompletionInfoGetWidget info =+ makeNewObject mkWidget $+ {#call gtk_source_completion_info_get_widget #}+ (toSourceCompletionInfo info)++-- |+sourceCompletionInfoProcessResize :: SourceCompletionInfoClass info => info + -> IO ()+sourceCompletionInfoProcessResize info =+ {#call gtk_source_completion_info_process_resize #}+ (toSourceCompletionInfo info)++-- | The maximum allowed height.+-- +-- Allowed values: >= GMaxulong+-- +-- Default value: -1+sourceCompletionInfoMaxHeight :: SourceCompletionInfoClass info => Attr info Int+sourceCompletionInfoMaxHeight = newAttrFromIntProperty "max-height"++-- | The maximum allowed width.+-- +-- Allowed values: >= GMaxulong+-- +-- Default value: -1+sourceCompletionInfoMaxWidth :: SourceCompletionInfoClass info => Attr info Int+sourceCompletionInfoMaxWidth = newAttrFromIntProperty "max-width"++-- | Whether the window should shrink height to fit the contents.+-- +-- Default value: 'True'+sourceCompletionInfoShrinkHeight :: SourceCompletionInfoClass info => Attr info Bool+sourceCompletionInfoShrinkHeight = newAttrFromBoolProperty "shrink-height"++-- | Whether the window should shrink width to fit the contents.+-- +-- Default value: 'True'+sourceCompletionInfoShrinkWidth :: SourceCompletionInfoClass info => Attr info Bool+sourceCompletionInfoShrinkWidth = newAttrFromBoolProperty "shrink-width"++-- |+sourceCompletionInfoBeforeShow :: SourceCompletionInfoClass info => Signal info (IO ())+sourceCompletionInfoBeforeShow = Signal $ connect_NONE__NONE "before-show"
+ Graphics/UI/Gtk/SourceView/SourceCompletionItem.chs view
@@ -0,0 +1,143 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceCompletionItem+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceCompletionItem (+-- * Types+ SourceCompletionItem,+ SourceCompletionItemClass,++-- * Methods+ sourceCompletionItemNew,+ sourceCompletionItemNewWithMarkup,+ sourceCompletionItemNewFromStock,++-- * Attributes+ sourceCompletionItemIcon,+ sourceCompletionItemInfo,+ sourceCompletionItemLabel,+ sourceCompletionItemMarkup,+ sourceCompletionItemText,+) where++import Control.Monad (liftM)+import Data.Maybe (fromMaybe)++import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Create a new 'SourceCompletionItem' with label label, icon icon and extra information info. Both+-- icon and info can be 'Nothing' in which case there will be no icon shown and no extra information+-- available.+sourceCompletionItemNew :: String -- ^ @label@ The item label + -> String -- ^ @text@ The item text + -> Maybe Pixbuf -- ^ @icon@ The item icon or 'Nothing'+ -> String -- ^ @info@ The item extra information + -> IO SourceCompletionItem+sourceCompletionItemNew label text icon info =+ makeNewGObject mkSourceCompletionItem $+ withUTFString label $ \ labelPtr -> + withUTFString text $ \ textPtr -> + withUTFString info $ \ infoPtr -> + {#call gtk_source_completion_item_new #}+ labelPtr+ textPtr+ (fromMaybe (Pixbuf nullForeignPtr) icon)+ infoPtr+ + +-- | Create a new 'SourceCompletionItem' with markup label markup, icon icon and extra information+-- info. Both icon and info can be 'Nothing' in which case there will be no icon shown and no extra+-- information available.+sourceCompletionItemNewWithMarkup :: String+ -> String+ -> Maybe Pixbuf+ -> String+ -> IO SourceCompletionItem+sourceCompletionItemNewWithMarkup markup text icon info = + makeNewGObject mkSourceCompletionItem $ + withUTFString markup $ \ markupPtr -> + withUTFString text $ \ textPtr -> + withUTFString info $ \ infoPtr -> + {#call gtk_source_completion_item_new_with_markup #}+ markupPtr+ textPtr+ (fromMaybe (Pixbuf nullForeignPtr) icon)+ infoPtr+ +-- | Creates a new 'SourceCompletionItem' from a stock item. If label is 'Nothing', the stock label will be+-- used.+sourceCompletionItemNewFromStock :: Maybe String -- ^ @label@ The item label or 'Nothing'+ -> String -- ^ @text@ The item text + -> String -- ^ @stock@ The stock icon + -> String -- ^ @info@ The item extra information + -> IO SourceCompletionItem+sourceCompletionItemNewFromStock label text stock info =+ makeNewGObject mkSourceCompletionItem $+ maybeWith withUTFString label $ \ labelPtr -> + withUTFString text $ \ textPtr -> + withUTFString stock $ \ stockPtr -> + withUTFString info $ \ infoPtr -> + {#call gtk_source_completion_item_new_from_stock #}+ labelPtr+ textPtr+ stockPtr+ infoPtr+ +-- | Icon to be shown for this proposal.+sourceCompletionItemIcon :: SourceCompletionItemClass item => Attr item Pixbuf+sourceCompletionItemIcon = newAttrFromObjectProperty "icon"+ {# call pure unsafe gdk_pixbuf_get_type #}++-- | Optional extra information to be shown for this proposal.+-- +-- Default value: \"\"+sourceCompletionItemInfo :: SourceCompletionItemClass item => Attr item String+sourceCompletionItemInfo = newAttrFromStringProperty "info"++-- | Optional extra labelrmation to be shown for this proposal.+-- +-- Default value: \"\"+sourceCompletionItemLabel :: SourceCompletionItemClass item => Attr item String+sourceCompletionItemLabel = newAttrFromStringProperty "label"++-- | Optional extra markuprmation to be shown for this proposal.+-- +-- Default value: \"\"+sourceCompletionItemMarkup :: SourceCompletionItemClass item => Attr item String+sourceCompletionItemMarkup = newAttrFromStringProperty "markup"++-- | Optional extra textrmation to be shown for this proposal.+-- +-- Default value: \"\"+sourceCompletionItemText :: SourceCompletionItemClass item => Attr item String+sourceCompletionItemText = newAttrFromStringProperty "text"
+ Graphics/UI/Gtk/SourceView/SourceCompletionProposal.chs view
@@ -0,0 +1,133 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceCompletionProposal+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceCompletionProposal (+-- * Description+-- | The proposal interface represents a completion item in the completion window. It provides+-- information on how to display the completion item and what action should be taken when the+-- completion item is activated.++-- * Types+ SourceCompletionProposal,+ SourceCompletionProposalClass,++-- * Methods+ sourceCompletionProposalGetLabel,+ sourceCompletionProposalGetMarkup,+ sourceCompletionProposalGetText,+ sourceCompletionProposalGetIcon,+ sourceCompletionProposalGetInfo,+ sourceCompletionProposalHash,+ sourceCompletionProposalEqual,++-- * Signals+ sourceCompletionProposalChanged,+) where++import Control.Monad (liftM)++import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Gets the label of proposal. The label is shown in the list of proposals as plain text. If you need+-- any markup (such as bold or italic text), you have to implement+-- 'sourceCompletionProposalGetMarkup'.+sourceCompletionProposalGetLabel :: SourceCompletionProposalClass scp => scp+ -> IO String -- ^ returns A new string containing the label of proposal. +sourceCompletionProposalGetLabel scp =+ {#call gtk_source_completion_proposal_get_label #}+ (toSourceCompletionProposal scp)+ >>= peekUTFString++-- | Gets the label of proposal with markup. The label is shown in the list of proposals and may contain+-- markup. This will be used instead of 'sourceCompletionProposalGetLabel' if implemented.+sourceCompletionProposalGetMarkup :: SourceCompletionProposalClass scp => scp+ -> IO String -- ^ returns A new string containing the label of proposal with markup. +sourceCompletionProposalGetMarkup scp =+ {#call gtk_source_completion_proposal_get_markup #}+ (toSourceCompletionProposal scp)+ >>= peekUTFString++-- | Gets the text of proposal. The text that is inserted into the text buffer when the proposal is+-- activated by the default activation. You are free to implement a custom activation handler in the+-- provider and not implement this function.+sourceCompletionProposalGetText :: SourceCompletionProposalClass scp => scp+ -> IO String -- ^ returns A new string containing the text of proposal. +sourceCompletionProposalGetText scp =+ {#call gtk_source_completion_proposal_get_text #}+ (toSourceCompletionProposal scp)+ >>= peekUTFString++-- | Gets the icon of proposal.+sourceCompletionProposalGetIcon :: SourceCompletionProposalClass scp => scp+ -> IO Pixbuf -- ^ returns The icon of proposal. +sourceCompletionProposalGetIcon scp =+ makeNewGObject mkPixbuf $+ {#call gtk_source_completion_proposal_get_icon #}+ (toSourceCompletionProposal scp)++-- | Gets extra information associated to the proposal. This information will be used to present the user+-- with extra, detailed information about the selected proposal.+sourceCompletionProposalGetInfo :: SourceCompletionProposalClass scp => scp+ -> IO String -- ^ returns A new string containing extra information of proposal or empty if no extra information is associated to proposal.+sourceCompletionProposalGetInfo scp =+ {#call gtk_source_completion_proposal_get_info #}+ (toSourceCompletionProposal scp)+ >>= peekUTFString++-- | Get the hash value of proposal. This is used to (together with 'sourceCompletionProposalEqual')+-- to match proposals in the completion model. +sourceCompletionProposalHash :: SourceCompletionProposalClass scp => scp+ -> IO Int -- ^ returns The hash value of proposal +sourceCompletionProposalHash scp =+ liftM fromIntegral $+ {#call gtk_source_completion_proposal_hash #}+ (toSourceCompletionProposal scp)++-- | Get whether two proposal objects are the same. This is used to (together with+-- 'sourceCompletionProposalHash') to match proposals in the completion model. +sourceCompletionProposalEqual :: (SourceCompletionProposalClass scp1, SourceCompletionProposalClass scp2) + => scp1+ -> scp2+ -> IO Bool -- ^ returns 'True' if proposal and object are the same proposal +sourceCompletionProposalEqual scp1 scp2 =+ liftM toBool $+ {#call gtk_source_completion_proposal_equal #}+ (toSourceCompletionProposal scp1)+ (toSourceCompletionProposal scp2)++-- | Emitted when the proposal has changed. The completion popup will react to this by updating the shown+-- information.+sourceCompletionProposalChanged :: SourceCompletionProposalClass scp => Signal scp (IO ())+sourceCompletionProposalChanged = Signal $ connect_NONE__NONE "changed"+
+ Graphics/UI/Gtk/SourceView/SourceCompletionProvider.chs view
@@ -0,0 +1,182 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceCompletionProvider+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceCompletionProvider (+-- * Description+-- | You must implement this interface to provide proposals to 'SourceCompletion'++-- * Types + SourceCompletionProvider,+ SourceCompletionProviderClass,++-- * Methods+ sourceCompletionProviderGetName,+ sourceCompletionProviderGetIcon,+ sourceCompletionProviderGetInteractiveDelay,+ sourceCompletionProviderGetPriority,+ sourceCompletionProviderGetInfoWidget,+ sourceCompletionProviderGetActivation,+ sourceCompletionProviderGetStartIter,+ sourceCompletionProviderMatch,+ sourceCompletionProviderUpdateInfo,+ sourceCompletionProviderPopulate,+ sourceCompletionProviderActivateProposal,+) where++import Control.Monad (liftM)++import Graphics.UI.Gtk.Abstract.Object (makeNewObject)+import Graphics.UI.Gtk.SourceView.Enums+import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Get the name of the provider. This should be a translatable name for display to the user. For+-- example: _("Document word completion provider"). +sourceCompletionProviderGetName :: SourceCompletionProviderClass scp => scp + -> IO String -- ^ returns A new string containing the name of the provider. +sourceCompletionProviderGetName scp =+ {#call gtk_source_completion_provider_get_name #}+ (toSourceCompletionProvider scp)+ >>= peekUTFString++-- | Get the icon of the provider.+sourceCompletionProviderGetIcon :: SourceCompletionProviderClass scp => scp + -> IO (Maybe Pixbuf)+sourceCompletionProviderGetIcon scp =+ maybeNull (makeNewGObject mkPixbuf) $+ {#call gtk_source_completion_provider_get_icon #}+ (toSourceCompletionProvider scp)++-- | Get the delay in milliseconds before starting interactive completion for this provider. A value of+-- -1 indicates to use the default value as set by 'autoCompleteDelay'.+sourceCompletionProviderGetInteractiveDelay :: SourceCompletionProviderClass scp => scp + -> IO Int -- ^ returns the interactive delay in milliseconds. +sourceCompletionProviderGetInteractiveDelay scp =+ liftM fromIntegral $+ {#call gtk_source_completion_provider_get_interactive_delay #}+ (toSourceCompletionProvider scp)++-- | Get the provider priority. The priority determines the order in which proposals appear in the+-- completion popup. Higher priorities are sorted before lower priorities. The default priority is 0.+sourceCompletionProviderGetPriority :: SourceCompletionProviderClass scp => scp + -> IO Int -- ^ returns the provider priority. +sourceCompletionProviderGetPriority scp =+ liftM fromIntegral $+ {#call gtk_source_completion_provider_get_priority #}+ (toSourceCompletionProvider scp)+ +-- | Get a customized info widget to show extra information of a proposal. This allows for customized+-- widgets on a proposal basis, although in general providers will have the same custom widget for all+-- their proposals and proposal can be ignored. The implementation of this function is optional. If+-- implemented, 'sourceCompletionProviderUpdateInfo' MUST also be implemented. If not+-- implemented, the default 'sourceCompletionProposalGetInfo' will be used to display extra+-- information about a 'SourceCompletionProposal'.+sourceCompletionProviderGetInfoWidget :: SourceCompletionProviderClass scp => scp+ -> SourceCompletionProposal -- ^ @proposal@ The currently selected 'SourceCompletionProposal' + -> IO Widget -- ^ returns a custom 'Widget' to show extra information about proposal. +sourceCompletionProviderGetInfoWidget scp proposal =+ makeNewObject mkWidget $+ {#call gtk_source_completion_provider_get_info_widget #}+ (toSourceCompletionProvider scp)+ proposal++-- | Get with what kind of activation the provider should be activated.+sourceCompletionProviderGetActivation :: SourceCompletionProviderClass scp => scp+ -> IO SourceCompletionActivation+sourceCompletionProviderGetActivation scp =+ liftM (toEnum . fromIntegral) $+ {#call gtk_source_completion_provider_get_activation #}+ (toSourceCompletionProvider scp)++-- | Get the 'TextIter' at which the completion for proposal starts. When implemented, the completion+-- can use this information to position the completion window accordingly when a proposal is selected+-- in the completion window.+sourceCompletionProviderGetStartIter :: SourceCompletionProviderClass scp => scp+ -> SourceCompletionContext+ -> SourceCompletionProposal+ -> IO (Maybe TextIter)+sourceCompletionProviderGetStartIter scp context proposal = do+ iter <- makeEmptyTextIter+ success <- liftM toBool $ {#call gtk_source_completion_provider_get_start_iter #}+ (toSourceCompletionProvider scp)+ context+ proposal+ iter+ if success + then return (Just iter)+ else return Nothing++-- | Get whether the provider match the context of completion detailed in context.+sourceCompletionProviderMatch :: SourceCompletionProviderClass scp => scp+ -> SourceCompletionContext+ -> IO Bool -- ^ returns 'True' if provider matches the completion context, 'False' otherwise+sourceCompletionProviderMatch scp context =+ liftM toBool $+ {#call gtk_source_completion_provider_match #}+ (toSourceCompletionProvider scp)+ context++-- | Update extra information shown in info for proposal. This should be implemented if your provider+-- sets a custom info widget for proposal. This function MUST be implemented when+-- 'sourceCompletionProviderGetInfoWidget' is implemented.+sourceCompletionProviderUpdateInfo :: SourceCompletionProviderClass scp => scp+ -> SourceCompletionProposal+ -> SourceCompletionInfo+ -> IO ()+sourceCompletionProviderUpdateInfo scp proposal info =+ {#call gtk_source_completion_provider_update_info #}+ (toSourceCompletionProvider scp)+ proposal+ info++-- | Populate context with proposals from provider+sourceCompletionProviderPopulate :: SourceCompletionProviderClass scp => scp+ -> SourceCompletionContext+ -> IO ()+sourceCompletionProviderPopulate scp context =+ {#call gtk_source_completion_provider_populate #}+ (toSourceCompletionProvider scp)+ context++-- | Activate proposal at iter. When this functions returns 'False', the default activation of proposal+-- will take place which replaces the word at iter with the label of proposal.+sourceCompletionProviderActivateProposal :: SourceCompletionProviderClass scp => scp+ -> SourceCompletionProposal+ -> TextIter+ -> IO Bool -- ^ returns 'True' to indicate that the proposal activation has been handled, 'False' otherwise.+sourceCompletionProviderActivateProposal scp proposal iter =+ liftM toBool $+ {#call gtk_source_completion_provider_activate_proposal #}+ (toSourceCompletionProvider scp)+ proposal+ iter
+ Graphics/UI/Gtk/SourceView/SourceGutter.chs view
@@ -0,0 +1,152 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) Widget SourceGutter+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceGutter (+-- * Description+-- | The 'SourceGutter' object represents the left and right gutters of the text view. It is used by+-- 'SourceView' to draw the line numbers and category marks that might be present on a line. By+-- packing additional 'CellRenderer' objects in the gutter, you can extend the gutter with your own+-- custom drawings.+-- +-- The gutter works very much the same way as cells rendered in a 'TreeView'. The concept is similar,+-- with the exception that the gutter does not have an underlying 'TreeModel'. Instead, you should use+-- 'sourceGutterSetCellDataFunc' to set a callback to fill in any of the cell renderers+-- properties, given the line for which the cell is to be rendered. Renderers are inserted into the+-- gutter at a certain position. +-- The builtin line number renderer is at position+-- 'SourceViewGutterPositionLines (-30)' and the marks renderer is at+-- 'SourceViewGutterPositionMarks (-20)'. You can use these values to position custom renderers+-- accordingly. The width of a cell renderer can be specified as either fixed (using+-- 'cellRendererSetFixedSize') or dynamic, in which case you must set+-- 'sourceGutterSetCellSizeFunc'. This callback is used to set the properties of the renderer+-- such that @gtkCellRendererGetSize@ yields the maximum width of the cell.++-- * Types+ SourceGutter,+ SourceGutterClass,++-- * Methods+ sourceGutterGetWindow,+ sourceGutterInsert,+ sourceGutterReorder,+ sourceGutterRemove,+ sourceGutterQueueDraw,++-- * Attributes+ sourceGutterView,+ sourceGutterWindowType,++-- * Signals+ sourceGutterCellActivated,+ sourceGutterQueryTooltip,+) where++import Control.Monad (liftM)+import Control.Monad.Reader ( runReaderT )++import Graphics.UI.Gtk.Gdk.EventM (EventM, EAny)+import Graphics.UI.Gtk.Multiline.TextView (TextWindowType (..))+import Graphics.UI.GtkInternals ( TextIter, mkTextIterCopy )+import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Get the 'Window' of the gutter. The window will only be available when the gutter has at least one,+-- non-zero width, cell renderer packed.+sourceGutterGetWindow :: SourceGutterClass sg => sg -> IO (Maybe DrawWindow)+sourceGutterGetWindow sb =+ maybeNull (makeNewGObject mkDrawWindow) $+ {#call gtk_source_gutter_get_window #} (toSourceGutter sb)++-- | Inserts renderer into gutter at position.+sourceGutterInsert :: (CellRendererClass cell, SourceGutterClass sg) => sg+ -> cell -- ^ @renderer@ a 'CellRenderer' + -> Int -- ^ @position@ the renderers position + -> IO ()+sourceGutterInsert gutter renderer position =+ {#call gtk_source_gutter_insert #}+ (toSourceGutter gutter)+ (toCellRenderer renderer)+ (fromIntegral position)++-- | Reorders renderer in gutter to new position.+sourceGutterReorder :: (CellRendererClass cell, SourceGutterClass sg) => sg+ -> cell -- ^ @renderer@ a 'CellRenderer' + -> Int -- ^ @position@ the new renderer position + -> IO ()+sourceGutterReorder gutter renderer position =+ {#call gtk_source_gutter_reorder #}+ (toSourceGutter gutter)+ (toCellRenderer renderer)+ (fromIntegral position)++-- | Removes renderer from gutter.+sourceGutterRemove :: (CellRendererClass cell, SourceGutterClass sg) => sg+ -> cell -- ^ @renderer@ a 'CellRenderer' + -> IO ()+sourceGutterRemove gutter renderer =+ {#call gtk_source_gutter_remove #}+ (toSourceGutter gutter)+ (toCellRenderer renderer)++-- | Invalidates the drawable area of the gutter. You can use this to force a redraw of the gutter if+-- something has changed and needs to be redrawn.+sourceGutterQueueDraw :: SourceGutterClass sg => sg -> IO ()+sourceGutterQueueDraw sb =+ {#call gtk_source_gutter_queue_draw #} (toSourceGutter sb)++-- | The 'SourceView' of the gutter+sourceGutterView :: SourceGutterClass sg => Attr sg SourceView+sourceGutterView = newAttrFromObjectProperty "view"+ {#call pure unsafe gtk_source_view_get_type #}++-- | The text window type on which the window is placed+-- +-- Default value: 'TextWindowPrivate'+sourceGutterWindowType :: SourceGutterClass sg => Attr sg TextWindowType+sourceGutterWindowType = newAttrFromEnumProperty "window-type"+ {#call pure unsafe gtk_text_window_type_get_type #}+ +-- | Emitted when a cell has been activated (for instance when there was a button press on the cell). The+-- signal is only emitted for cells that have the activatable property set to 'True'.+sourceGutterCellActivated :: SourceGutterClass sg => Signal sg (CellRenderer -> TextIter -> EventM EAny ()) +sourceGutterCellActivated =+ Signal (\after obj fun -> + connect_OBJECT_PTR_BOXED__NONE "cell-activated" mkTextIterCopy after obj+ (\cr eventPtr iter -> runReaderT (fun cr iter) eventPtr)+ )++-- | Emitted when a tooltip is requested for a specific cell. Signal handlers can return 'True' to notify+-- the tooltip has been handled.+sourceGutterQueryTooltip :: SourceGutterClass sg => Signal sg (CellRenderer -> TextIter -> Tooltip -> IO Bool)+sourceGutterQueryTooltip = + Signal $ connect_OBJECT_BOXED_OBJECT__BOOL "query-tooltip" mkTextIterCopy
Graphics/UI/Gtk/SourceView/SourceIter.chs view
@@ -30,7 +30,10 @@ -- * There is no SourceIter object, just extra methods for "TextIter" -- module Graphics.UI.Gtk.SourceView.SourceIter (+-- * Enums SourceSearchFlags(..),++-- * Methods sourceIterForwardSearch, sourceIterBackwardSearch, ) where@@ -38,24 +41,32 @@ import Control.Monad (liftM) import Data.Maybe (fromMaybe) +import Graphics.UI.Gtk.Abstract.Object (makeNewObject)+import Graphics.UI.Gtk.SourceView.Enums import System.Glib.FFI import System.Glib.Flags (Flags, fromFlags) import System.Glib.UTFString-import Graphics.UI.Gtk.Abstract.Object (makeNewObject)-{#import Graphics.UI.Gtk.SourceView.Types#}+ {#import Graphics.UI.Gtk.Multiline.TextIter#}+{#import Graphics.UI.Gtk.SourceView.Types#} {# context lib="gtk" prefix="gtk" #} -{# enum SourceSearchFlags {underscoreToCase} deriving(Eq,Bounded,Show,Read) #}--instance Flags SourceSearchFlags- -- methods --- | same as 'textIterForwardSearch' but allows--- case insensitive search and possibly in the future regular expressions.---+-- | Searches forward for str. Any match is returned by setting @matchStart@ to the first character of the+-- match and @matchEnd@ to the first character after the match. The search will not continue past+-- limit. Note that a search is a linear or O(n) operation, so you may wish to use limit to avoid+-- locking up your UI on large buffers.+-- +-- If the 'SourceSearchVisibleOnly' flag is present, the match may have invisible text+-- interspersed in str. i.e. str will be a possibly-noncontiguous subsequence of the matched+-- range. similarly, if you specify 'SourceSearchTextOnly', the match may have pixbufs or child+-- widgets mixed inside the matched range. If these flags are not given, the match must be exact; the+-- special 0xFFFC character in str will match embedded pixbufs or child widgets. If you specify the+-- 'SourceSearchCaseInsensitive' flag, the text will be matched regardless of what case it is in.+-- +-- Same as 'textIterForwardSearch', but supports case insensitive searching. sourceIterForwardSearch :: TextIter -> String -> [SourceSearchFlags] -> Maybe TextIter -> IO (Maybe (TextIter, TextIter)) sourceIterForwardSearch ti str flags limit = do
Graphics/UI/Gtk/SourceView/SourceLanguage.chs view
@@ -2,12 +2,13 @@ -- -*-haskell-*- -- GIMP Toolkit (GTK) Widget SourceView ----- Author : Peter Gavin+-- Author : Peter Gavin, Andy Stewart -- derived from sourceview bindings by Axel Simon and Duncan Coutts -- -- Created: 18 December 2008 -- -- Copyright (C) 2004-2008 Peter Gavin, Duncan Coutts, Axel Simon+-- Copyright (C) Andy Stewart -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public@@ -25,8 +26,16 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceLanguage (+-- * Description+-- | 'SourceLanguage' encapsulates syntax and highlighting styles for a particular language. Use+-- 'SourceLanguageManager' to obtain a 'SourceLanguage' instance, and+-- 'sourceBufferSetLanguage' to apply it to a 'SourceBuffer'.++-- * Types SourceLanguage, SourceLanguageClass,++-- * Methods castToSourceLanguage, sourceLanguageGetId, sourceLanguageGetName,@@ -35,6 +44,10 @@ sourceLanguageGetMetadata, sourceLanguageGetMimeTypes, sourceLanguageGetGlobs,+ sourceLanguageGetStyleName,+ sourceLanguageGetStyleIds,++-- * Attributes sourceLanguageHidden, sourceLanguageId, sourceLanguageName,@@ -44,82 +57,123 @@ import Control.Monad (liftM) import Data.Maybe (fromMaybe) +import System.Glib.Attributes import System.Glib.FFI import System.Glib.UTFString-{#import System.Glib.Properties#}-import System.Glib.Attributes-{#import Graphics.UI.Gtk.SourceView.Types#}+ {#import Graphics.UI.Gtk.SourceView.SourceStyleScheme#}+{#import Graphics.UI.Gtk.SourceView.Types#}+{#import System.Glib.Properties#} {# context lib="gtk" prefix="gtk" #} - -- methods --- | +-- | Returns the ID of the language. The ID is not locale-dependent. ---sourceLanguageGetId :: SourceLanguage -> IO String+sourceLanguageGetId :: SourceLanguageClass sl => sl+ -> IO String -- ^ returns the ID of language. The returned string is owned by language and should not be freed or modified. sourceLanguageGetId sl =- {#call unsafe source_language_get_id#} sl >>= peekUTFString+ {#call unsafe source_language_get_id#} (toSourceLanguage sl) >>= peekUTFString --- | +-- | Returns the localized name of the language. ---sourceLanguageGetName :: SourceLanguage -> IO String+sourceLanguageGetName :: SourceLanguageClass sl => sl + -> IO String -- ^ returns the name of language. The returned string is owned by language and should not be freed or modified. sourceLanguageGetName sl =- {#call unsafe source_language_get_name#} sl >>= peekUTFString+ {#call unsafe source_language_get_name#} (toSourceLanguage sl) >>= peekUTFString --- | +-- | Returns the localized section of the language. Each language belong to a section (ex. HTML belogs to+-- the Markup section). ---sourceLanguageGetSection :: SourceLanguage -> IO String+sourceLanguageGetSection :: SourceLanguageClass sl => sl + -> IO String -- ^ returns the section of language. The returned string is owned by language and should not be freed or modified. sourceLanguageGetSection sl =- {#call unsafe source_language_get_section#} sl >>= peekUTFString+ {#call unsafe source_language_get_section#} (toSourceLanguage sl) >>= peekUTFString --- |+-- | Returns whether the language should be hidden from the user. ---sourceLanguageGetHidden :: SourceLanguage -> IO Bool+sourceLanguageGetHidden :: SourceLanguageClass sl => sl + -> IO Bool -- ^ returns 'True' if the language should be hidden, 'False' otherwise. sourceLanguageGetHidden sl = liftM toBool $- {#call unsafe source_language_get_hidden#} sl+ {#call unsafe source_language_get_hidden#} (toSourceLanguage sl) -- | ---sourceLanguageGetMetadata :: SourceLanguage -> String -> IO String+sourceLanguageGetMetadata :: SourceLanguageClass sl => sl + -> String -- ^ @name@ metadata property name.+ -> IO String -- ^ returns value of property name stored in the metadata of language or empty if language doesn't contain that metadata sourceLanguageGetMetadata sl name = do- withUTFString name ({#call unsafe source_language_get_metadata#} sl) >>= peekUTFString+ withUTFString name ({#call unsafe source_language_get_metadata#} (toSourceLanguage sl)) >>= peekUTFString --- |+-- | Returns the mime types associated to this language. This is just an utility wrapper around+-- 'sourceLanguageGetMetadata ' to retrieve the "mimetypes" metadata property and split it into+-- an array. ---sourceLanguageGetMimeTypes :: SourceLanguage -> IO [String]+sourceLanguageGetMimeTypes :: SourceLanguageClass sl => sl + -> IO [String] -- ^ returns an array containing the mime types or empty if no mime types are found. The sourceLanguageGetMimeTypes sl = do- mimeTypesArray <- {#call unsafe source_language_get_mime_types#} sl+ mimeTypesArray <- {#call unsafe source_language_get_mime_types#} (toSourceLanguage sl) mimeTypes <- liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 mimeTypesArray {# call g_strfreev #} mimeTypesArray return mimeTypes --- |+-- | Returns the globs associated to this language. This is just an utility wrapper around+-- 'sourceLanguageGetMetadata' to retrieve the "globs" metadata property and split it into an+-- array. ---sourceLanguageGetGlobs :: SourceLanguage -> IO [String]+sourceLanguageGetGlobs :: SourceLanguageClass sl => sl + -> IO [String] -- ^ returns an array containing the globs or empty if no globs are found. sourceLanguageGetGlobs sl = do- globsArray <- {#call unsafe source_language_get_globs#} sl+ globsArray <- {#call unsafe source_language_get_globs#} (toSourceLanguage sl) globs <- liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 globsArray {# call g_strfreev #} globsArray return globs --- |+-- | Returns the name of the style with ID @styleId@ defined by this language.+sourceLanguageGetStyleName :: SourceLanguageClass sl => sl + -> String -- ^ @styleId@ a style ID+ -> IO String -- ^ returns the name of the style with ID @styleId@ defined by this language or empty if the style has no name or there is no style with ID @styleId@ defined by this language. The returned string is owned by the language and must not be modified.+sourceLanguageGetStyleName sl styleId =+ withUTFString styleId $ \styleIdPtr ->+ {#call gtk_source_language_get_style_name#}+ (toSourceLanguage sl)+ styleIdPtr+ >>= peekUTFString++-- | Returns the ids of the styles defined by this language.+sourceLanguageGetStyleIds :: SourceLanguageClass sl => sl + -> IO [String] -- ^ returns an array containing ids of the styles defined by this language or empty if no style is defined. +sourceLanguageGetStyleIds sl = do+ globsArray <- {#call gtk_source_language_get_style_ids#} (toSourceLanguage sl)+ globs <- liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 globsArray+ {# call g_strfreev #} globsArray+ return globs++-- | Whether the language should be hidden from the user.+-- +-- Default value: 'False' ---sourceLanguageHidden :: ReadAttr SourceLanguage Bool+sourceLanguageHidden :: SourceLanguageClass sl => ReadAttr sl Bool sourceLanguageHidden = readAttrFromBoolProperty "hidden" --- |+-- | Language id.+-- +-- Default value: \"\" ---sourceLanguageId :: ReadAttr SourceLanguage String+sourceLanguageId :: SourceLanguageClass sl => ReadAttr sl String sourceLanguageId = readAttrFromStringProperty "id" --- |+-- | Language name.+-- +-- Default value: \"\" ---sourceLanguageName :: ReadAttr SourceLanguage String+sourceLanguageName :: SourceLanguageClass sl => ReadAttr sl String sourceLanguageName = readAttrFromStringProperty "name" --- |+-- | Language section.+-- +-- Default value: \"\" ---sourceLanguageSection :: ReadAttr SourceLanguage String+sourceLanguageSection :: SourceLanguageClass sl => ReadAttr sl String sourceLanguageSection = readAttrFromStringProperty "section"
Graphics/UI/Gtk/SourceView/SourceLanguageManager.chs view
@@ -2,12 +2,13 @@ -- -*-haskell-*- -- GIMP Toolkit (GTK) Widget SourceView ----- Author : Peter Gavin+-- Author : Peter Gavin, Andy Stewart -- derived from sourceview bindings by Axel Simon and Duncan Coutts -- -- Created: 18 December 2008 -- -- Copyright (C) 2004-2008 Peter Gavin, Duncan Coutts, Axel Simon+-- Copyright (C) 2010 Andy Stewart -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public@@ -25,8 +26,18 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceLanguageManager (+-- * Description+-- | 'SourceLanguageManager' is an object which processes language description files and creates and+-- stores 'SourceLanguage' objects, and provides API to access them. Use+-- 'sourceLanguageManagerGetDefault' to retrieve the default instance of+-- 'SourceLanguageManager', and 'sourceLanguageManagerGuessLanguage' to get a+-- 'SourceLanguage' for given file name and content type.++-- * Types SourceLanguageManager, SourceLanguageManagerClass,++-- * Methods castToSourceLanguageManager, sourceLanguageManagerNew, sourceLanguageManagerGetDefault,@@ -34,88 +45,105 @@ sourceLanguageManagerGetSearchPath, sourceLanguageManagerGetLanguageIds, sourceLanguageManagerGetLanguage,- sourceLanguageManagerGuessLanguage+ sourceLanguageManagerGuessLanguage,++-- * Attributes+ sourceLanguageManagerLanguageIds,+ sourceLanguageManagerSearchPath, ) where import Control.Monad (liftM) import Data.Maybe (fromMaybe) +import System.Glib.Attributes import System.Glib.FFI import System.Glib.GObject (constructNewGObject, makeNewGObject)-import System.Glib.UTFString-import System.Glib.Attributes import System.Glib.Properties+import System.Glib.UTFString+ {#import Graphics.UI.Gtk.SourceView.Types#} {# context lib="gtk" prefix="gtk" #} -{# enum SourceSmartHomeEndType {underscoreToCase} deriving (Eq, Bounded, Show, Read) #}---- |+-- | Creates a new language manager. If you do not need more than one language manager or a private+-- language manager instance then use 'sourceLanguageManagerGetDefault' instead. -- sourceLanguageManagerNew :: IO SourceLanguageManager sourceLanguageManagerNew = constructNewGObject mkSourceLanguageManager $ liftM castPtr {#call unsafe source_language_manager_new#} --- |+-- | Returns the default 'SourceLanguageManager' instance. -- sourceLanguageManagerGetDefault :: IO SourceLanguageManager sourceLanguageManagerGetDefault = makeNewGObject mkSourceLanguageManager $ liftM castPtr {#call unsafe source_language_manager_new#} --- |+-- | Sets the list of directories where the lm looks for language files. If dirs is 'Nothing', the search path+-- is reset to default.+-- +-- Note+-- +-- At the moment this function can be called only before the language files are loaded for the first+-- time. In practice to set a custom search path for a 'SourceLanguageManager', you have to call this+-- function right after creating it. ---sourceLanguageManagerSetSearchPath :: SourceLanguageManager -> Maybe [String] -> IO ()+sourceLanguageManagerSetSearchPath :: SourceLanguageManagerClass slm => slm -> Maybe [String] -> IO () sourceLanguageManagerSetSearchPath slm dirs = maybeWith withUTFStringArray0 dirs $ \dirsPtr -> do- {#call unsafe source_language_manager_set_search_path#} slm dirsPtr+ {#call unsafe source_language_manager_set_search_path#} (toSourceLanguageManager slm) dirsPtr --- |+-- | Gets the list directories where lm looks for language files. ---sourceLanguageManagerGetSearchPath :: SourceLanguageManager -> IO [String]+sourceLanguageManagerGetSearchPath :: SourceLanguageManagerClass slm => slm -> IO [String] sourceLanguageManagerGetSearchPath slm = do- dirsPtr <- {#call unsafe source_language_manager_get_search_path#} slm+ dirsPtr <- {#call unsafe source_language_manager_get_search_path#} (toSourceLanguageManager slm) liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 dirsPtr --- |+-- | Returns the ids of the available languages. ---sourceLanguageManagerGetLanguageIds :: SourceLanguageManager -> IO [String]+sourceLanguageManagerGetLanguageIds :: SourceLanguageManagerClass slm => slm -> IO [String] sourceLanguageManagerGetLanguageIds slm = do- idsPtr <- {#call unsafe source_language_manager_get_language_ids#} slm+ idsPtr <- {#call unsafe source_language_manager_get_language_ids#} (toSourceLanguageManager slm) liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 idsPtr --- |+-- | Gets the 'SourceLanguage' identified by the given id in the language manager. ---sourceLanguageManagerGetLanguage :: SourceLanguageManager -> String -> IO (Maybe SourceLanguage)+sourceLanguageManagerGetLanguage :: SourceLanguageManagerClass slm => slm + -> String -- ^ @id@ a language id.+ -> IO (Maybe SourceLanguage) -- ^ returns a 'SourceLanguage', or 'Nothing' if there is no language identified by the given id. sourceLanguageManagerGetLanguage slm id = do slPtr <- liftM castPtr $- withUTFString id ({#call unsafe source_language_manager_get_language#} slm)+ withUTFString id ({#call unsafe source_language_manager_get_language#} (toSourceLanguageManager slm)) if slPtr /= nullPtr then liftM Just $ makeNewGObject mkSourceLanguage $ return slPtr else return Nothing --- |+-- | Picks a 'SourceLanguage' for given file name and content type, according to the information in lang+-- files. Either filename or @contentType@ may be 'Nothing'. ---sourceLanguageManagerGuessLanguage :: SourceLanguageManager -> Maybe String -> Maybe String -> IO (Maybe SourceLanguage)+sourceLanguageManagerGuessLanguage :: SourceLanguageManagerClass slm => slm + -> Maybe String -- ^ @filename@ a filename in Glib filename encoding, or 'Nothing'.+ -> Maybe String -- ^ @contentType@ a content type (as in GIO API), or 'Nothing'.+ -> IO (Maybe SourceLanguage) -- ^ returns a 'SourceLanguage', or 'Nothing' if there is no suitable language for given filename and/or @contentType@. sourceLanguageManagerGuessLanguage slm filename contentType = maybeWith withUTFString filename $ \cFilename -> maybeWith withUTFString contentType $ \cContentType -> do slPtr <- liftM castPtr $- {#call unsafe source_language_manager_guess_language#} slm cFilename cContentType+ {#call unsafe source_language_manager_guess_language#} (toSourceLanguageManager slm) cFilename cContentType if slPtr /= nullPtr then liftM Just $ makeNewGObject mkSourceLanguage $ return slPtr else return Nothing --- |+-- | List of the ids of the available languages. ---sourceLanguageManagerLanguageIds :: ReadAttr SourceLanguageManager [String]+sourceLanguageManagerLanguageIds :: SourceLanguageManagerClass slm => ReadAttr slm [String] sourceLanguageManagerLanguageIds = readAttrFromBoxedOpaqueProperty (liftM (fromMaybe []) . maybePeek peekUTFStringArray0 . castPtr) "language-ids" {#call pure g_strv_get_type#} --- |+-- | List of directories where the language specification files (.lang) are located. ---sourceLanguageManagerSearchPath :: ReadWriteAttr SourceLanguageManager [String] (Maybe [String])+sourceLanguageManagerSearchPath :: SourceLanguageManagerClass slm => ReadWriteAttr slm [String] (Maybe [String]) sourceLanguageManagerSearchPath = newAttr (objectGetPropertyBoxedOpaque (peekUTFStringArray0 . castPtr) gtype "search-path") (objectSetPropertyBoxedOpaque (\dirs f -> maybeWith withUTFStringArray0 dirs (f . castPtr)) gtype "search-path")
Graphics/UI/Gtk/SourceView/SourceMark.chs view
@@ -2,12 +2,13 @@ -- -*-haskell-*- -- GIMP Toolkit (GTK) SourceMark ----- Author : Duncan Coutts+-- Author : Duncan Coutts, Andy Stewart -- derived from GtkTextView bindings by Axel Simon -- -- Created: 26 October 2003 -- -- Copyright (C) 2003-2005 Duncan Coutts, Axel Simon+-- Copyright (C) 2010 Andy Stewart -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public@@ -25,42 +26,98 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceMark (+-- * Description+-- | A 'SourceMark' marks a position in the text where you want to display additional info. It is based+-- on 'TextMark' and thus is still valid after the text has changed though its position may change.+-- +-- 'SourceMarks' are organised in categories which you have to set when you create the mark. Each+-- category can have a pixbuf and a priority associated using @gtkSourceViewSetMarkCategoryPixbuf@+-- and @gtkSourceViewSetMarkCategoryPriority@. The pixbuf will be displayed in the margin at the+-- line where the mark residents if the 'showLineMarks' property is set to 'True'. If there are+-- multiple marks in the same line, the pixbufs will be drawn on top of each other. The mark with the+-- highest priority will be drawn on top.++-- * Types SourceMark,+ SourceMarkClass,++-- * Methods castToSourceMark,+ sourceMarkNew, sourceMarkGetCategory, sourceMarkNext,- sourceMarkPrev+ sourceMarkPrev,++-- * Attributes+ sourceMarkCategory ) where import Control.Monad (liftM) +import System.Glib.Attributes import System.Glib.FFI-import System.Glib.UTFString import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString+ {#import Graphics.UI.Gtk.SourceView.Types#} {# context lib="gtk" prefix="gtk" #} -- methods --- | +-- | Creates a text mark. Add it to a buffer using 'textBufferAddMark'. If name is 'Nothing', the mark+-- is anonymous; otherwise, the mark can be retrieved by name using+-- 'textBufferGetMark'. Normally marks are created using the utility function+-- 'sourceBufferCreateMark'.+sourceMarkNew :: Maybe String -- ^ @name@ Name of the 'SourceMark', can be 'Nothing' when not using a name+ -> String -- ^ @category@ is used to classify marks according to common characteristics (e.g. all the marks representing a bookmark could + -> IO SourceMark+sourceMarkNew name category = + makeNewGObject mkSourceMark $+ maybeWith withUTFString name $ \namePtr ->+ withUTFString category $ \categoryPtr ->+ {#call gtk_source_mark_new#}+ namePtr+ categoryPtr++-- | Returns the mark category -- -sourceMarkGetCategory :: SourceMark -> IO String+sourceMarkGetCategory :: SourceMarkClass mark => mark+ -> IO String -- ^ returns the category of the 'SourceMark' sourceMarkGetCategory mark = do- strPtr <- {#call unsafe source_mark_get_category#} mark+ strPtr <- {#call unsafe source_mark_get_category#} (toSourceMark mark) markType <- peekUTFString strPtr {#call unsafe g_free#} (castPtr strPtr) return markType --- | +-- | Returns the next 'SourceMark' in the buffer or 'Nothing' if the mark was not added to a buffer. If there+-- is no next mark, 'Nothing' will be returned. -- -sourceMarkNext :: SourceMark -> String -> IO SourceMark-sourceMarkNext mark category = makeNewGObject mkSourceMark $- withUTFString category $ {#call unsafe source_mark_next#} mark+-- If category is 'Nothing', looks for marks of any category+-- +sourceMarkNext :: SourceMarkClass mark => mark + -> Maybe String -- ^ @category@ a string specifying the mark category or 'Nothing' + -> IO (Maybe SourceMark) -- ^ returns the next 'SourceMark' or 'Nothing' +sourceMarkNext mark category = + maybeNull (makeNewGObject mkSourceMark) $+ maybeWith withUTFString category $ {#call unsafe source_mark_next#} (toSourceMark mark) --- | +-- | Returns the previous 'SourceMark' in the buffer or 'Nothing' if the mark was not added to a buffer. If+-- there is no previous mark, 'Nothing' is returned. -- -sourceMarkPrev :: SourceMark -> String -> IO SourceMark-sourceMarkPrev mark category = makeNewGObject mkSourceMark $- withUTFString category $ {#call unsafe source_mark_prev#} mark+-- If category is 'Nothing', looks for marks of any category+-- +sourceMarkPrev :: SourceMarkClass mark => mark + -> Maybe String -- ^ @category@ a string specifying the mark category or 'Nothing' + -> IO (Maybe SourceMark) -- ^ returns the previous 'SourceMark' or 'Nothing' +sourceMarkPrev mark category = + maybeNull (makeNewGObject mkSourceMark) $+ maybeWith withUTFString category $ {#call unsafe source_mark_prev#} (toSourceMark mark) +-- | The category of the 'SourceMark', classifies the mark and controls which pixbuf is used and with+-- which priority it is drawn.+-- Default value: \"\"+--+sourceMarkCategory :: SourceMarkClass mark => Attr mark String+sourceMarkCategory = newAttrFromStringProperty "category"
Graphics/UI/Gtk/SourceView/SourceStyle/Internal.chs view
@@ -34,15 +34,16 @@ import Control.Monad (liftM, sequence) import Data.Maybe (catMaybes) +import Graphics.UI.Gtk.SourceView.SourceStyle import System.Glib.FFI-{#import System.Glib.GObject#} (objectNew, constructNewGObject) import System.Glib.GType (GType)-import qualified System.Glib.GTypeConstants as GType import System.Glib.GValue (GValue, valueInit, allocaGValue) import System.Glib.GValueTypes (valueSetString, valueSetBool)-{#import System.Glib.Properties#}+import qualified System.Glib.GTypeConstants as GType+ {#import Graphics.UI.Gtk.SourceView.Types#}-import Graphics.UI.Gtk.SourceView.SourceStyle+{#import System.Glib.GObject#} (objectNew, constructNewGObject)+{#import System.Glib.Properties#} {# context lib="gtk" prefix="gtk" #}
Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs view
@@ -25,7 +25,19 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceStyleScheme (+-- * Description+-- | 'SourceStyleScheme' contains all the text styles to be used in 'SourceView' and+-- 'SourceBuffer'. For instance, it contains text styles for syntax highlighting, it may contain+-- foreground and background color for non-highlighted text, color for the line numbers, etc.+-- +-- Style schemes are stored in XML files. The format of a scheme file is the documented in the style+-- scheme reference.++-- * Types SourceStyleScheme,+ SourceStyleSchemeClass,++-- * Methods castToSourceStyleScheme, sourceStyleSchemeGetId, sourceStyleSchemeGetName,@@ -33,6 +45,8 @@ sourceStyleSchemeGetAuthors, sourceStyleSchemeGetFilename, sourceStyleSchemeGetStyle,++-- * Attributes sourceStyleSchemeDescription, sourceStyleSchemeFilename, sourceStyleSchemeId,@@ -41,14 +55,15 @@ import Control.Monad (liftM) +import Graphics.UI.Gtk.SourceView.SourceStyle+import System.Glib.Attributes import System.Glib.FFI-import System.Glib.UTFString import System.Glib.GObject (constructNewGObject)-import System.Glib.Attributes-{#import System.Glib.Properties#}-{#import Graphics.UI.Gtk.SourceView.Types#}-import Graphics.UI.Gtk.SourceView.SourceStyle+import System.Glib.UTFString+ {#import Graphics.UI.Gtk.SourceView.SourceStyle.Internal#}+{#import Graphics.UI.Gtk.SourceView.Types#}+{#import System.Glib.Properties#} {# context lib="gtk" prefix="gtk" #} @@ -56,58 +71,73 @@ -- | -- -sourceStyleSchemeGetId :: SourceStyleScheme -> IO String+sourceStyleSchemeGetId :: SourceStyleSchemeClass sss => sss+ -> IO String -- ^ returns scheme id. sourceStyleSchemeGetId ss =- {#call source_style_scheme_get_id#} ss >>= peekUTFString+ {#call source_style_scheme_get_id#} (toSourceStyleScheme ss) >>= peekUTFString -- | -- -sourceStyleSchemeGetName :: SourceStyleScheme -> IO String+sourceStyleSchemeGetName :: SourceStyleSchemeClass sss => sss + -> IO String -- ^ returns scheme name. sourceStyleSchemeGetName ss =- {#call source_style_scheme_get_name#} ss >>= peekUTFString+ {#call source_style_scheme_get_name#} (toSourceStyleScheme ss) >>= peekUTFString -- | -- -sourceStyleSchemeGetDescription :: SourceStyleScheme -> IO String+sourceStyleSchemeGetDescription :: SourceStyleSchemeClass sss => sss + -> IO String -- ^ returns scheme description (if defined) or empty. sourceStyleSchemeGetDescription ss =- {#call source_style_scheme_get_description#} ss >>= peekUTFString+ {#call source_style_scheme_get_description#} (toSourceStyleScheme ss) >>= peekUTFString -- | ---sourceStyleSchemeGetAuthors :: SourceStyleScheme -> IO [String]+sourceStyleSchemeGetAuthors :: SourceStyleSchemeClass sss => sss + -> IO [String] -- ^ returns an array containing the scheme authors or empty if no author is specified by the style scheme. sourceStyleSchemeGetAuthors ss =- {#call source_style_scheme_get_authors#} ss >>= peekUTFStringArray0+ {#call source_style_scheme_get_authors#} (toSourceStyleScheme ss) >>= peekUTFStringArray0 -- | -- -sourceStyleSchemeGetFilename :: SourceStyleScheme -> IO String+sourceStyleSchemeGetFilename :: SourceStyleSchemeClass sss => sss + -> IO String -- ^ returns scheme file name if the scheme was created parsing a style scheme file or empty in the other cases. sourceStyleSchemeGetFilename ss =- {#call source_style_scheme_get_filename#} ss >>= peekUTFString+ {#call source_style_scheme_get_filename#} (toSourceStyleScheme ss) >>= peekUTFString -- | -- -sourceStyleSchemeGetStyle :: SourceStyleScheme -> String -> IO SourceStyle+sourceStyleSchemeGetStyle :: SourceStyleSchemeClass sss => sss + -> String -- ^ @styleId@ id of the style to retrieve.+ -> IO SourceStyle -- ^ returns style which corresponds to @styleId@ in the scheme sourceStyleSchemeGetStyle ss id = do styleObj <- makeNewGObject mkSourceStyleObject $- withUTFString id ({#call source_style_scheme_get_style#} ss)+ withUTFString id ({#call source_style_scheme_get_style#} (toSourceStyleScheme ss)) sourceStyleFromObject styleObj --- |+-- | Style scheme description.+-- +-- Default value: \"\" ---sourceStyleSchemeDescription :: ReadAttr SourceStyleScheme String+sourceStyleSchemeDescription :: SourceStyleSchemeClass sss => ReadAttr sss String sourceStyleSchemeDescription = readAttrFromStringProperty "description" --- |+-- | Style scheme filename or 'Nothing'.+-- +-- Default value: \"\" ---sourceStyleSchemeFilename :: ReadAttr SourceStyleScheme FilePath+sourceStyleSchemeFilename :: SourceStyleSchemeClass sss => ReadAttr sss FilePath sourceStyleSchemeFilename = readAttrFromStringProperty "filename" --- |+-- | Style scheme id, a unique string used to identify the style scheme in 'SourceStyleSchemeManager'.+-- +-- Default value: \"\" ---sourceStyleSchemeId :: ReadAttr SourceStyleScheme String+sourceStyleSchemeId :: SourceStyleSchemeClass sss => ReadAttr sss String sourceStyleSchemeId = readAttrFromStringProperty "id" --- |+-- | Style scheme name, a translatable string to present to user.+-- +-- Default value: \"\" ---sourceStyleSchemeName :: ReadAttr SourceStyleScheme String+sourceStyleSchemeName :: SourceStyleSchemeClass sss => ReadAttr sss String sourceStyleSchemeName = readAttrFromStringProperty "name"
Graphics/UI/Gtk/SourceView/SourceStyleSchemeManager.chs view
@@ -25,8 +25,11 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager (+-- * Types SourceStyleSchemeManager, SourceStyleSchemeManagerClass,++-- * Methods sourceStyleSchemeManagerNew, sourceStyleSchemeManagerGetDefault, sourceStyleSchemeManagerSetSearchPath,@@ -36,6 +39,8 @@ sourceStyleSchemeManagerGetSchemeIds, sourceStyleSchemeManagerGetScheme, sourceStyleSchemeManagerForceRescan,++-- * Attributes sourceStyleSchemeManagerStyleIds, sourceStyleSchemeManagerSearchPath ) where@@ -45,81 +50,95 @@ import Control.Monad (liftM) import Data.Maybe (fromMaybe) +import System.Glib.Attributes import System.Glib.FFI import System.Glib.GObject (constructNewGObject, makeNewGObject) import System.Glib.UTFString-import System.Glib.Attributes-{#import System.Glib.Properties#}-{#import Graphics.UI.Gtk.SourceView.Types#}+ {#import Graphics.UI.Gtk.SourceView.SourceStyleScheme#}+{#import Graphics.UI.Gtk.SourceView.Types#}+{#import System.Glib.Properties#} --- |+-- | Creates a new style manager. If you do not need more than one style manager then use+-- 'sourceStyleSchemeManagerGetDefault' instead. -- sourceStyleSchemeManagerNew :: IO SourceStyleSchemeManager sourceStyleSchemeManagerNew = constructNewGObject mkSourceStyleSchemeManager $ liftM castPtr {#call unsafe source_style_scheme_manager_new#} --- |+-- | Returns the default 'SourceStyleSchemeManager' instance. ---sourceStyleSchemeManagerGetDefault :: IO SourceStyleSchemeManager+sourceStyleSchemeManagerGetDefault :: IO SourceStyleSchemeManager -- ^ returns a 'SourceStyleSchemeManager'. Return value is owned by 'SourceView' library and must not be unref'ed. sourceStyleSchemeManagerGetDefault = makeNewGObject mkSourceStyleSchemeManager $ liftM castPtr {#call unsafe source_style_scheme_manager_get_default#} --- |+-- | Sets the list of directories where the manager looks for style scheme files. If dirs is 'Nothing', the+-- search path is reset to default. ---sourceStyleSchemeManagerSetSearchPath :: SourceStyleSchemeManager -> Maybe [String] -> IO ()+sourceStyleSchemeManagerSetSearchPath :: SourceStyleSchemeManagerClass sssm => sssm -> Maybe [String] -> IO () sourceStyleSchemeManagerSetSearchPath ssm dirs = maybeWith withUTFStringArray0 dirs $ \dirsPtr -> do- {#call unsafe source_style_scheme_manager_set_search_path#} ssm dirsPtr+ {#call unsafe source_style_scheme_manager_set_search_path#} (toSourceStyleSchemeManager ssm) dirsPtr --- |+-- | Appends path to the list of directories where the manager looks for style scheme files. See+-- 'sourceStyleSchemeManagerSetSearchPath' for details. ---sourceStyleSchemeManagerAppendSearchPath :: SourceStyleSchemeManager -> String -> IO ()+sourceStyleSchemeManagerAppendSearchPath :: SourceStyleSchemeManagerClass sssm => sssm + -> String -- ^ @path@ a directory or a filename. + -> IO () sourceStyleSchemeManagerAppendSearchPath ssm dir =- withUTFString dir $ {#call unsafe source_style_scheme_manager_append_search_path#} ssm+ withUTFString dir $ {#call unsafe source_style_scheme_manager_append_search_path#} (toSourceStyleSchemeManager ssm) --- |+-- | Prepends path to the list of directories where the manager looks for style scheme files. See+-- 'sourceStyleSchemeManagerSetSearchPath' for details. ---sourceStyleSchemeManagerPrependSearchPath :: SourceStyleSchemeManager -> String -> IO ()+sourceStyleSchemeManagerPrependSearchPath :: SourceStyleSchemeManagerClass sssm => sssm + -> String -- ^ @path@ a directory or a filename. + -> IO () sourceStyleSchemeManagerPrependSearchPath ssm dir =- withUTFString dir $ {#call unsafe source_style_scheme_manager_prepend_search_path#} ssm+ withUTFString dir $ {#call unsafe source_style_scheme_manager_prepend_search_path#} (toSourceStyleSchemeManager ssm) --- |+-- | Returns the current search path for the manager. See+-- 'sourceStyleSchemeManagerSetSearchPath' for details. ---sourceStyleSchemeManagerGetSearchPath :: SourceStyleSchemeManager -> IO [String]+sourceStyleSchemeManagerGetSearchPath :: SourceStyleSchemeManagerClass sssm => sssm + -> IO [String] sourceStyleSchemeManagerGetSearchPath ssm = do- dirsPtr <- {#call unsafe source_style_scheme_manager_get_search_path#} ssm+ dirsPtr <- {#call unsafe source_style_scheme_manager_get_search_path#} (toSourceStyleSchemeManager ssm) peekUTFStringArray0 dirsPtr --- |+-- | Returns the ids of the available style schemes. ---sourceStyleSchemeManagerGetSchemeIds :: SourceStyleSchemeManager -> IO [String]+sourceStyleSchemeManagerGetSchemeIds :: SourceStyleSchemeManagerClass sssm => sssm -> IO [String] sourceStyleSchemeManagerGetSchemeIds ssm = do- idsPtr <- {#call unsafe source_style_scheme_manager_get_scheme_ids#} ssm+ idsPtr <- {#call unsafe source_style_scheme_manager_get_scheme_ids#} (toSourceStyleSchemeManager ssm) liftM (fromMaybe []) $ maybePeek peekUTFStringArray0 idsPtr --- |+-- | Looks up style scheme by id. ---sourceStyleSchemeManagerGetScheme :: SourceStyleSchemeManager -> String -> IO SourceStyleScheme+sourceStyleSchemeManagerGetScheme :: SourceStyleSchemeManagerClass sssm => sssm + -> String -- ^ @schemeId@ style scheme id to find+ -> IO SourceStyleScheme sourceStyleSchemeManagerGetScheme ssm id = makeNewGObject mkSourceStyleScheme $- withUTFString id $ {#call unsafe source_style_scheme_manager_get_scheme#} ssm+ withUTFString id $ {#call unsafe source_style_scheme_manager_get_scheme#} (toSourceStyleSchemeManager ssm) --- |+-- | Mark any currently cached information about the available style scehems as invalid. All the+-- available style schemes will be reloaded next time the manager is accessed. ---sourceStyleSchemeManagerForceRescan :: SourceStyleSchemeManager -> IO ()-sourceStyleSchemeManagerForceRescan =- {#call unsafe source_style_scheme_manager_force_rescan#}+sourceStyleSchemeManagerForceRescan :: SourceStyleSchemeManagerClass sssm => sssm -> IO ()+sourceStyleSchemeManagerForceRescan ssm =+ {#call unsafe source_style_scheme_manager_force_rescan#} (toSourceStyleSchemeManager ssm) --- |+-- | List of the ids of the available style schemes. ---sourceStyleSchemeManagerStyleIds :: ReadAttr SourceStyleSchemeManager [String]+sourceStyleSchemeManagerStyleIds :: SourceStyleSchemeManagerClass sssm => ReadAttr sssm [String] sourceStyleSchemeManagerStyleIds = readAttrFromBoxedOpaqueProperty (liftM (fromMaybe []) . maybePeek peekUTFStringArray0 . castPtr) "style-ids" {#call pure g_strv_get_type#} --- |+-- | List of directories and files where the style schemes are located. ---sourceStyleSchemeManagerSearchPath :: ReadWriteAttr SourceStyleSchemeManager [String] (Maybe [String])+sourceStyleSchemeManagerSearchPath :: SourceStyleSchemeManagerClass sssm => ReadWriteAttr sssm [String] (Maybe [String]) sourceStyleSchemeManagerSearchPath = newAttr (objectGetPropertyBoxedOpaque (peekUTFStringArray0 . castPtr) gtype "search-path") (objectSetPropertyBoxedOpaque (\dirs f -> maybeWith withUTFStringArray0 dirs (f . castPtr)) gtype "search-path")
+ Graphics/UI/Gtk/SourceView/SourceUndoManager.chs view
@@ -0,0 +1,111 @@+{-# LANGUAGE CPP #-}+-- -*-haskell-*-+-- GIMP Toolkit (GTK) SourceUndoManager+--+-- Author : Andy Stewart+--+-- Created: 08 Aug 2010+--+-- Copyright (C) 2010 Andy Stewart+--+-- This library is free software; you can redistribute it and/or+-- modify it under the terms of the GNU Lesser General Public+-- License as published by the Free Software Foundation; either+-- version 2.1 of the License, or (at your option) any later version.+--+-- This library is distributed in the hope that it will be useful,+-- but WITHOUT ANY WARRANTY; without even the implied warranty of+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU+-- Lesser General Public License for more details.+--+-- |+-- Maintainer : gtk2hs-users@lists.sourceforge.net+-- Stability : provisional+-- Portability : portable (depends on GHC)+--+module Graphics.UI.Gtk.SourceView.SourceUndoManager (+-- * Description+-- | The 'SourceUndoManager' interface can be implemented to provide custom undo management to a+-- 'SourceBuffer'. Use 'sourceBufferSetUndoManager' to install a custom undo manager for a+-- particular source buffer.+-- +-- Use 'sourceUndoManagerCanUndoChanged' and 'sourceUndoManagerCanRedoChanged' when+-- respectively the undo state or redo state of the undo stack has changed.++-- * Types + SourceUndoManager,+ SourceUndoManagerClass,+ +-- * Methods + sourceUndoManagerCanUndo,+ sourceUndoManagerCanRedo,+ sourceUndoManagerUndo,+ sourceUndoManagerRedo,+ sourceUndoManagerBeginNotUndoableAction,+ sourceUndoManagerEndNotUndoableAction,++-- * Signals+ sourceUndoManagerCanRedoChanged,+ sourceUndoManagerCanUndoChanged,+) where++import Control.Monad (liftM)++import System.Glib.Attributes+import System.Glib.FFI+import System.Glib.GObject (makeNewGObject)+import System.Glib.Properties+import System.Glib.UTFString++{#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}++{# context lib="gtk" prefix="gtk" #}++-- | Get whether there are undo operations available.+sourceUndoManagerCanUndo :: SourceUndoManagerClass sum => sum+ -> IO Bool -- ^ returns 'True' if there are undo operations available, 'False' otherwise +sourceUndoManagerCanUndo sm =+ liftM toBool $+ {#call gtk_source_undo_manager_can_undo #} (toSourceUndoManager sm)++-- | Get whether there are redo operations available.+sourceUndoManagerCanRedo :: SourceUndoManagerClass sum => sum+ -> IO Bool -- ^ returns 'True' if there are redo operations available, 'False' otherwise +sourceUndoManagerCanRedo sm =+ liftM toBool $+ {#call gtk_source_undo_manager_can_redo #} (toSourceUndoManager sm)++-- | Perform a single undo. Calling this function when there are no undo operations available is an+-- error. Use @gtkSourceUndoManagerCanUndo@ to find out if there are undo operations available.+sourceUndoManagerUndo :: SourceUndoManagerClass sum => sum -> IO ()+sourceUndoManagerUndo sm =+ {#call gtk_source_undo_manager_undo #} (toSourceUndoManager sm)++-- | Perform a single redo. Calling this function when there are no redo operations available is an+-- error. Use @gtkSourceUndoManagerCanRedo@ to find out if there are redo operations available.+sourceUndoManagerRedo :: SourceUndoManagerClass sum => sum -> IO ()+sourceUndoManagerRedo sm =+ {#call gtk_source_undo_manager_redo #} (toSourceUndoManager sm)++-- | Begin a not undoable action on the buffer. All changes between this call and the call to+-- @gtkSourceUndoManagerEndNotUndoableAction@ cannot be undone. This function should be+-- re-entrant.+sourceUndoManagerBeginNotUndoableAction :: SourceUndoManagerClass sum => sum -> IO ()+sourceUndoManagerBeginNotUndoableAction sm =+ {#call gtk_source_undo_manager_begin_not_undoable_action #} (toSourceUndoManager sm)++-- | Ends a not undoable action on the buffer.+sourceUndoManagerEndNotUndoableAction :: SourceUndoManagerClass sum => sum -> IO ()+sourceUndoManagerEndNotUndoableAction sm =+ {#call gtk_source_undo_manager_end_not_undoable_action #} (toSourceUndoManager sm)++-- | Emitted when the ability to redo has changed.+--+sourceUndoManagerCanRedoChanged :: SourceUndoManagerClass sum => Signal sum (IO ())+sourceUndoManagerCanRedoChanged = Signal $ connect_NONE__NONE "can-redo-changed"++-- | Emitted when the ability to undo has changed.+--+sourceUndoManagerCanUndoChanged :: SourceUndoManagerClass sum => Signal sum (IO ())+sourceUndoManagerCanUndoChanged = Signal $ connect_NONE__NONE "can-undo-changed"
Graphics/UI/Gtk/SourceView/SourceView.chs view
@@ -8,6 +8,7 @@ -- Created: 18 December 2008 -- -- Copyright (C) 2004-2008 Peter Gavin, Duncan Coutts, Axel Simon+-- Copyright (C) 2010 Andy Stewart -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public@@ -25,9 +26,20 @@ -- Portability : portable (depends on GHC) -- module Graphics.UI.Gtk.SourceView.SourceView (+-- * Description+-- | 'SourceView' is the main object of the gtksourceview library. It provides a text view which syntax+-- highlighting, undo/redo and text marks. Use a 'SourceBuffer' to display text with a 'SourceView'.++-- * Types SourceView, SourceViewClass,++-- * Enums SourceSmartHomeEndType(..),+ SourceDrawSpacesFlags(..),+ SourceViewGutterPosition (..),++-- * Methods castToSourceView, sourceViewNew, sourceViewNewWithBuffer,@@ -41,6 +53,13 @@ sourceViewGetInsertSpacesInsteadOfTabs, sourceViewSetSmartHomeEnd, sourceViewGetSmartHomeEnd,+ sourceViewSetMarkCategoryPriority,+ sourceViewGetMarkCategoryPriority,+ sourceViewSetMarkCategoryIconFromPixbuf,+ sourceViewSetMarkCategoryIconFromStock,+ sourceViewSetMarkCategoryIconFromIconName,+ sourceViewSetMarkCategoryBackground,+ sourceViewGetMarkCategoryBackground, sourceViewSetHighlightCurrentLine, sourceViewGetHighlightCurrentLine, sourceViewSetShowLineMarks,@@ -53,9 +72,14 @@ sourceViewGetRightMarginPosition, sourceViewSetTabWidth, sourceViewGetTabWidth,- sourceViewSetMarkCategoryPixbuf,- sourceViewGetMarkCategoryPixbuf,+ sourceViewSetDrawSpaces,+ sourceViewGetDrawSpaces,+ sourceViewGetGutter,++-- * Attributes sourceViewAutoIndent,+ sourceViewCompletion,+ sourceViewDrawSpaces, sourceViewHighlightCurrentLine, sourceViewIndentOnTab, sourceViewIndentWidth,@@ -65,23 +89,40 @@ sourceViewShowRightMargin, sourceViewSmartHomeEnd, sourceViewTabWidth,++-- * Signals sourceViewUndo,- sourceViewRedo+ sourceViewRedo,+ sourceViewMoveLines,+ sourceViewShowCompletion,+ sourceViewLineMarkActivated,++-- * Deprecated+#ifndef DISABLE_DEPRECATED+ sourceViewSetMarkCategoryPixbuf,+ sourceViewGetMarkCategoryPixbuf,+#endif ) where import Control.Monad (liftM)+import Control.Monad.Reader ( runReaderT )+import Data.Maybe (fromMaybe) -import System.Glib.FFI-{#import System.Glib.Properties#}-import System.Glib.Attributes import Graphics.UI.Gtk.Abstract.Object (makeNewObject)-{#import Graphics.UI.Gtk.SourceView.Types#}+import Graphics.UI.Gtk.Abstract.Widget (Color)+import Graphics.UI.Gtk.Gdk.EventM (EventM, EAny)+import Graphics.UI.Gtk.Multiline.TextView (TextWindowType (..))+import Graphics.UI.Gtk.SourceView.Enums+import Graphics.UI.GtkInternals ( TextIter, mkTextIterCopy )+import System.Glib.Attributes+import System.Glib.FFI+ {#import Graphics.UI.Gtk.SourceView.Signals#}+{#import Graphics.UI.Gtk.SourceView.Types#}+{#import System.Glib.Properties#} {# context lib="gtk" prefix="gtk" #} -{# enum SourceSmartHomeEndType {underscoreToCase} deriving (Eq, Bounded, Show, Read) #}- -- | Create a new 'SourceView' widget with a default 'SourceBuffer'. -- sourceViewNew :: IO SourceView@@ -95,210 +136,382 @@ sourceViewNewWithBuffer sb = makeNewObject mkSourceView $ liftM castPtr $ {#call source_view_new_with_buffer#} sb --- | +-- | If 'True' auto indentation of text is enabled. ---sourceViewSetAutoIndent :: SourceViewClass sv => sv -> Bool -> IO ()-sourceViewSetAutoIndent sv newVal =- {#call source_view_set_auto_indent#} (toSourceView sv) (fromBool newVal)+sourceViewSetAutoIndent :: SourceViewClass sv => sv + -> Bool -- ^ @enable@ whether to enable auto indentation. + -> IO ()+sourceViewSetAutoIndent sv enable =+ {#call source_view_set_auto_indent#} (toSourceView sv) (fromBool enable) --- | +-- | Returns whether auto indentation of text is enabled. ---sourceViewGetAutoIndent :: SourceViewClass sv => sv -> IO Bool +sourceViewGetAutoIndent :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if auto indentation is enabled. sourceViewGetAutoIndent sv = liftM toBool $ {#call unsafe source_view_get_auto_indent#} (toSourceView sv) --- | +-- | If 'True', when the tab key is pressed and there is a selection, the selected text is indented of one+-- level instead of being replaced with the \t characters. Shift+Tab unindents the selection. ---sourceViewSetIndentOnTab :: SourceViewClass sv => sv -> Bool -> IO ()-sourceViewSetIndentOnTab sv newVal =- {#call source_view_set_indent_on_tab#} (toSourceView sv) (fromBool newVal)+sourceViewSetIndentOnTab :: SourceViewClass sv => sv + -> Bool -- ^ @enable@ whether to indent a block when tab is pressed. + -> IO ()+sourceViewSetIndentOnTab sv enable =+ {#call source_view_set_indent_on_tab#} (toSourceView sv) (fromBool enable) --- | +-- | Returns whether when the tab key is pressed the current selection should get indented instead of+-- replaced with the \t character. ---sourceViewGetIndentOnTab :: SourceViewClass sv => sv -> IO Bool +sourceViewGetIndentOnTab :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if the selection is indented when tab is pressed. sourceViewGetIndentOnTab sv = liftM toBool $ {#call unsafe source_view_get_indent_on_tab#} (toSourceView sv) --- | +-- | Sets the number of spaces to use for each step of indent. If width is -1, the value of the+-- 'tabWidth' property will be used. ---sourceViewSetIndentWidth :: SourceViewClass sv => sv -> Int -> IO ()-sourceViewSetIndentWidth sv newVal =- {#call source_view_set_indent_width#} (toSourceView sv) (fromIntegral newVal)+sourceViewSetIndentWidth :: SourceViewClass sv => sv + -> Int -- ^ @width@ indent width in characters. + -> IO ()+sourceViewSetIndentWidth sv width =+ {#call source_view_set_indent_width#} (toSourceView sv) (fromIntegral width) --- | +-- | Returns the number of spaces to use for each step of indent. See 'sourceViewSetIndentWidth'+-- for details. ---sourceViewGetIndentWidth :: SourceViewClass sv => sv -> IO Int+sourceViewGetIndentWidth :: SourceViewClass sv => sv + -> IO Int -- ^ returns indent width. sourceViewGetIndentWidth sv = liftM fromIntegral $ {#call unsafe source_view_get_indent_width#} (toSourceView sv) --- | +-- | If 'True' any tabulator character inserted is replaced by a group of space characters. ---sourceViewSetInsertSpacesInsteadOfTabs :: SourceViewClass sv => sv -> Bool -> IO ()-sourceViewSetInsertSpacesInsteadOfTabs sv newVal =- {#call source_view_set_insert_spaces_instead_of_tabs#} (toSourceView sv) (fromBool newVal)+sourceViewSetInsertSpacesInsteadOfTabs :: SourceViewClass sv => sv + -> Bool -- ^ @enable@ whether to insert spaces instead of tabs. + -> IO ()+sourceViewSetInsertSpacesInsteadOfTabs sv enable =+ {#call source_view_set_insert_spaces_instead_of_tabs#} (toSourceView sv) (fromBool enable) --- | +-- | Returns whether when inserting a tabulator character it should be replaced by a group of space+-- characters. ---sourceViewGetInsertSpacesInsteadOfTabs :: SourceViewClass sv => sv -> IO Bool +sourceViewGetInsertSpacesInsteadOfTabs :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if spaces are inserted instead of tabs. sourceViewGetInsertSpacesInsteadOfTabs sv = liftM toBool $ {#call unsafe source_view_get_insert_spaces_instead_of_tabs#} (toSourceView sv) --- | +-- | Set the desired movement of the cursor when HOME and END keys are pressed. ---sourceViewSetSmartHomeEnd :: SourceViewClass sv => sv -> SourceSmartHomeEndType -> IO ()+sourceViewSetSmartHomeEnd :: SourceViewClass sv => sv + -> SourceSmartHomeEndType -- ^ @smartHe@ the desired behavior among 'SourceSmartHomeEndType'. + -> IO () sourceViewSetSmartHomeEnd sv newVal = {#call source_view_set_smart_home_end#} (toSourceView sv) (fromIntegral $ fromEnum newVal) --- | +-- | Returns a 'SourceSmartHomeEndType' end value specifying how the cursor will move when HOME and END+-- keys are pressed. ---sourceViewGetSmartHomeEnd :: SourceViewClass sv => sv -> IO SourceSmartHomeEndType+sourceViewGetSmartHomeEnd :: SourceViewClass sv => sv + -> IO SourceSmartHomeEndType -- ^ returns a 'SourceSmartHomeEndTypeend' value. sourceViewGetSmartHomeEnd sv = liftM (toEnum . fromIntegral) $ {#call unsafe source_view_get_smart_home_end#} (toSourceView sv) --- | +-- | If show is 'True' the current line is highlighted. ---sourceViewSetHighlightCurrentLine :: SourceViewClass sv => sv -> Bool -> IO ()+sourceViewSetHighlightCurrentLine :: SourceViewClass sv => sv + -> Bool -- ^ @show@ whether to highlight the current line + -> IO () sourceViewSetHighlightCurrentLine sv newVal = {#call source_view_set_highlight_current_line#} (toSourceView sv) (fromBool newVal) --- | +-- | Returns whether the current line is highlighted ---sourceViewGetHighlightCurrentLine :: SourceViewClass sv => sv -> IO Bool +sourceViewGetHighlightCurrentLine :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if the current line is highlighted. sourceViewGetHighlightCurrentLine sv = liftM toBool $ {#call unsafe source_view_get_highlight_current_line#} (toSourceView sv) --- | +-- | If 'True' line marks will be displayed beside the text. ---sourceViewSetShowLineMarks :: SourceViewClass sv => sv -> Bool -> IO ()+sourceViewSetShowLineMarks :: SourceViewClass sv => sv + -> Bool -- ^ @show@ whether line marks should be displayed. + -> IO () sourceViewSetShowLineMarks sv newVal = {#call source_view_set_show_line_marks#} (toSourceView sv) (fromBool newVal) --- | +-- | Returns whether line marks are displayed beside the text. ---sourceViewGetShowLineMarks :: SourceViewClass sv => sv -> IO Bool +sourceViewGetShowLineMarks :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if the line marks are displayed. sourceViewGetShowLineMarks sv = liftM toBool $ {#call unsafe source_view_get_show_line_marks#} (toSourceView sv) ---- | +-- | If 'True' line numbers will be displayed beside the text. ---sourceViewSetShowLineNumbers :: SourceViewClass sv => sv -> Bool -> IO ()+sourceViewSetShowLineNumbers :: SourceViewClass sv => sv + -> Bool -- ^ @show@ whether line numbers should be displayed. + -> IO () sourceViewSetShowLineNumbers sv newVal = {#call source_view_set_show_line_numbers#} (toSourceView sv) (fromBool newVal) --- | +-- | Returns whether line numbers are displayed beside the text. ---sourceViewGetShowLineNumbers :: SourceViewClass sv => sv -> IO Bool +sourceViewGetShowLineNumbers :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if the line numbers are displayed. sourceViewGetShowLineNumbers sv = liftM toBool $ {#call unsafe source_view_get_show_line_numbers#} (toSourceView sv) --- | +-- | If 'True' a right margin is displayed ---sourceViewSetShowRightMargin :: SourceViewClass sv => sv -> Bool -> IO ()+sourceViewSetShowRightMargin :: SourceViewClass sv => sv + -> Bool -- ^ @show@ whether to show a right margin. + -> IO () sourceViewSetShowRightMargin sv newVal = {#call source_view_set_show_right_margin#} (toSourceView sv) (fromBool newVal) --- | +-- | Returns whether a right margin is displayed. ---sourceViewGetShowRightMargin :: SourceViewClass sv => sv -> IO Bool+sourceViewGetShowRightMargin :: SourceViewClass sv => sv + -> IO Bool -- ^ returns 'True' if the right margin is shown. sourceViewGetShowRightMargin sv = liftM toBool $ {#call source_view_get_show_right_margin#} (toSourceView sv) --- | +-- | Sets the position of the right margin in the given view. ---sourceViewSetRightMarginPosition :: SourceViewClass sv => sv -> Word -> IO ()+sourceViewSetRightMarginPosition :: SourceViewClass sv => sv + -> Word -- ^ @pos@ the width in characters where to position the right margin. + -> IO () sourceViewSetRightMarginPosition sv margin = {#call source_view_set_right_margin_position#} (toSourceView sv) (fromIntegral margin) --- | +-- | Gets the position of the right margin in the given view. ---sourceViewGetRightMarginPosition :: SourceViewClass sv => sv -> IO Int +sourceViewGetRightMarginPosition :: SourceViewClass sv => sv + -> IO Int -- ^ returns the position of the right margin. sourceViewGetRightMarginPosition sv = liftM fromIntegral $ {#call unsafe source_view_get_right_margin_position#} (toSourceView sv) --- | +-- | Sets the width of tabulation in characters. ---sourceViewSetTabWidth :: SourceViewClass sv => sv -> Int -> IO ()+sourceViewSetTabWidth :: SourceViewClass sv => sv + -> Int -- ^ @width@ width of tab in characters. + -> IO () sourceViewSetTabWidth sv width = {#call source_view_set_tab_width#} (toSourceView sv) (fromIntegral width) --- | +-- | Returns the width of tabulation in characters. ---sourceViewGetTabWidth :: SourceViewClass sv => sv -> IO Int +sourceViewGetTabWidth :: SourceViewClass sv => sv + -> IO Int -- ^ returns width of tab. sourceViewGetTabWidth sv = liftM fromIntegral $ {#call unsafe source_view_get_tab_width#} (toSourceView sv) --- |+-- | Set if and how the spaces should be visualized. Specifying flags as 0 will disable display of+-- spaces.+sourceViewSetDrawSpaces :: SourceViewClass sv => sv+ -> SourceDrawSpacesFlags -- ^ @flags@ 'SourceDrawSpacesFlags' specifing how white spaces should be displayed+ -> IO ()+sourceViewSetDrawSpaces view flags =+ {#call gtk_source_view_set_draw_spaces #} + (toSourceView view)+ (fromIntegral $ fromEnum flags)++-- | Returns the 'SourceDrawSpacesFlags' specifying if and how spaces should be displayed for this view.+sourceViewGetDrawSpaces :: SourceViewClass sv => sv+ -> IO SourceDrawSpacesFlags -- ^ returns the 'SourceDrawSpacesFlags', 0 if no spaces should be drawn. +sourceViewGetDrawSpaces view = + liftM (toEnum . fromIntegral) $+ {#call gtk_source_view_get_draw_spaces #}+ (toSourceView view)++-- | Returns the 'SourceGutter' object associated with @windowType@ for view. Only 'TextWindowLeft'+-- and 'TextWindowRight' are supported, respectively corresponding to the left and right+-- gutter. The line numbers and mark category icons are rendered in the gutter corresponding to+-- 'TextWindowLeft'.+sourceViewGetGutter :: SourceViewClass sv => sv + -> TextWindowType -- ^ @windowType@ the gutter window type + -> IO SourceGutter+sourceViewGetGutter sv windowType =+ makeNewGObject mkSourceGutter $+ {#call gtk_source_view_get_gutter #}+ (toSourceView sv)+ (fromIntegral $ fromEnum windowType)++-- | Set the priority for the given mark category. When there are multiple marks on the same line, marks+-- of categories with higher priorities will be drawn on top. ---sourceViewSetMarkCategoryPriority :: SourceViewClass sv => sv -> String -> Int -> IO ()+sourceViewSetMarkCategoryPriority :: SourceViewClass sv => sv + -> String -- ^ @category@ a mark category. + -> Int -- ^ @priority@ the priority for the category + -> IO () sourceViewSetMarkCategoryPriority sv markerType priority = withCString markerType $ \strPtr -> {#call source_view_set_mark_category_priority#} (toSourceView sv) strPtr (fromIntegral priority) --- |+-- | Gets the priority which is associated with the given category. ---sourceViewGetMarkCategoryPriority :: SourceViewClass sv => sv -> String -> IO Int+sourceViewGetMarkCategoryPriority :: SourceViewClass sv => sv + -> String -- ^ @category@ a mark category. + -> IO Int -- ^ returns the priority or if category exists but no priority was set, it defaults to 0. sourceViewGetMarkCategoryPriority sv markerType = withCString markerType $ \strPtr -> liftM fromIntegral $ {#call unsafe source_view_get_mark_category_priority#} (toSourceView sv) strPtr ---- |----sourceViewSetMarkCategoryPixbuf :: SourceViewClass sv => sv -> String -> Pixbuf -> IO ()-sourceViewSetMarkCategoryPixbuf sv markerType marker = withCString markerType $ \strPtr ->- {#call source_view_set_mark_category_pixbuf#} (toSourceView sv) strPtr marker+-- | Sets the icon to be used for category to pixbuf. If pixbuf is 'Nothing', the icon is unset.+sourceViewSetMarkCategoryIconFromPixbuf :: SourceViewClass sv => sv+ -> String -- ^ @category@ a mark category. + -> Maybe Pixbuf -- ^ @pixbuf@ a 'Pixbuf' or 'Nothing'. + -> IO ()+sourceViewSetMarkCategoryIconFromPixbuf sv category pixbuf =+ withCString category $ \categoryPtr ->+ {#call gtk_source_view_set_mark_category_icon_from_pixbuf #}+ (toSourceView sv)+ categoryPtr+ (fromMaybe (Pixbuf nullForeignPtr) pixbuf) --- |----sourceViewGetMarkCategoryPixbuf :: SourceViewClass sv => sv -> String -> IO Pixbuf-sourceViewGetMarkCategoryPixbuf sv markerType = withCString markerType $ \strPtr ->- constructNewGObject mkPixbuf $- {#call unsafe source_view_get_mark_category_pixbuf#} (toSourceView sv) strPtr+-- | Sets the icon to be used for category to the stock item @stockId@. If @stockId@ is 'Nothing', the icon is+-- unset.+sourceViewSetMarkCategoryIconFromStock :: SourceViewClass sv => sv+ -> String -- ^ @category@ a mark category. + -> Maybe String -- ^ @stockId@ the stock id or 'Nothing'. + -> IO ()+sourceViewSetMarkCategoryIconFromStock sv category stockId =+ withCString category $ \categoryPtr ->+ maybeWith withCString stockId $ \stockIdPtr ->+ {#call gtk_source_view_set_mark_category_icon_from_stock #}+ (toSourceView sv)+ categoryPtr+ stockIdPtr --- |+-- | Sets the icon to be used for category to the named theme item name. If name is 'Nothing', the icon is+-- unset.+sourceViewSetMarkCategoryIconFromIconName :: SourceViewClass sv => sv+ -> String -- ^ @category@ a mark category. + -> Maybe String -- ^ @name@ the themed icon name or 'Nothing'. + -> IO ()+sourceViewSetMarkCategoryIconFromIconName sv category name =+ withCString category $ \categoryPtr ->+ maybeWith withCString name $ \namePtr ->+ {#call gtk_source_view_set_mark_category_icon_from_icon_name #}+ (toSourceView sv)+ categoryPtr+ namePtr++-- | Sets given background color for mark category. If color is 'Nothing', the background color is unset.+sourceViewSetMarkCategoryBackground :: SourceViewClass sv => sv+ -> String -- ^ @category@ a mark category. + -> Maybe Color -- ^ @color@ background color or 'Nothing' to unset it. + -> IO ()+sourceViewSetMarkCategoryBackground sv category color =+ let withMB :: Storable a => Maybe a -> (Ptr a -> IO b) -> IO b+ withMB Nothing f = f nullPtr+ withMB (Just x) f = with x f+ in withCString category $ \categoryPtr ->+ withMB color $ \colorPtr ->+ {#call gtk_source_view_set_mark_category_background #}+ (toSourceView sv)+ categoryPtr+ (castPtr colorPtr)++-- | Gets the background color associated with given category.+sourceViewGetMarkCategoryBackground :: SourceViewClass sv => sv+ -> String -- ^ @category@ a mark category.+ -> Color -- ^ @dest@ destination 'Color' structure to fill in.+ -> IO Bool -- ^ returns 'True' if background color for category was set and dest is set to a valid color, or 'False' otherwise.+sourceViewGetMarkCategoryBackground sv category color = + liftM toBool $+ withCString category $ \ categoryPtr ->+ with color $ \ colorPtr ->+ {#call gtk_source_view_get_mark_category_background #}+ (toSourceView sv)+ categoryPtr+ (castPtr colorPtr)++-- | Whether to enable auto indentation.+-- +-- Default value: 'False' -- sourceViewAutoIndent :: SourceViewClass sv => Attr sv Bool sourceViewAutoIndent = newAttrFromBoolProperty "auto-indent" --- |+-- | The completion object associated with the view. --+sourceViewCompletion :: SourceViewClass sv => ReadAttr sv SourceCompletion+sourceViewCompletion = readAttrFromObjectProperty "completion"+ {#call pure unsafe gtk_source_completion_get_type #}++-- | Set if and how the spaces should be visualized.+--+sourceViewDrawSpaces :: SourceViewClass sv => Attr sv SourceDrawSpacesFlags+sourceViewDrawSpaces = newAttrFromEnumProperty "draw-spaces" {#call fun gtk_source_draw_spaces_flags_get_type#}++-- | Whether to highlight the current line.+-- +-- Default value: 'False'+-- sourceViewHighlightCurrentLine :: SourceViewClass sv => Attr sv Bool sourceViewHighlightCurrentLine = newAttrFromBoolProperty "highlight-current-line" --- |+-- | Whether to indent the selected text when the tab key is pressed.+-- +-- Default value: 'True' -- sourceViewIndentOnTab :: SourceViewClass sv => Attr sv Bool sourceViewIndentOnTab = newAttrFromBoolProperty "indent-on-tab" --- |+-- | Width of an indentation step expressed in number of spaces.+-- +-- Allowed values: [GMaxulong,32]+-- +-- Default value: -1 -- sourceViewIndentWidth :: SourceViewClass sv => Attr sv Int sourceViewIndentWidth = newAttrFromIntProperty "indent-width" --- |+-- | Whether to insert spaces instead of tabs.+-- +-- Default value: 'False' -- sourceViewInsertSpacesInsteadOfTabs :: SourceViewClass sv => Attr sv Bool sourceViewInsertSpacesInsteadOfTabs = newAttrFromBoolProperty "insert-spaces-instead-of-tabs" --- |+-- | Position of the right margin.+-- +-- Allowed values: [1,200]+-- +-- Default value: 80 -- sourceViewRightMarginPosition :: SourceViewClass sv => Attr sv Int sourceViewRightMarginPosition = newAttrFromUIntProperty "right-margin-position" --- |+-- | Whether to display line numbers+-- +-- Default value: 'False' -- sourceViewShowLineNumbers :: SourceViewClass sv => Attr sv Bool sourceViewShowLineNumbers = newAttrFromBoolProperty "show-line-numbers" --- |+-- | Whether to display line mark pixbufs+-- +-- Default value: 'False' -- sourceViewShowRightMargin :: SourceViewClass sv => Attr sv Bool sourceViewShowRightMargin = newAttrFromBoolProperty "show-right-margin" --- |+-- | Set the behavior of the HOME and END keys.+-- +-- Default value: 'SourceSmartHomeEndDisabled'+-- +-- Since 2.0 -- sourceViewSmartHomeEnd :: SourceViewClass sv => Attr sv SourceSmartHomeEndType sourceViewSmartHomeEnd = newAttrFromEnumProperty "smart-home-end" {#call fun gtk_source_smart_home_end_type_get_type#} --- |+-- | Width of an tab character expressed in number of spaces.+-- +-- Allowed values: [1,32]+-- +-- Default value: 8 -- sourceViewTabWidth :: SourceViewClass sv => Attr sv Int sourceViewTabWidth = newAttrFromUIntProperty "tab-width"@@ -312,3 +525,44 @@ -- sourceViewRedo :: SourceViewClass sv => Signal sv (IO ()) sourceViewRedo = Signal $ connect_NONE__NONE "redo"++-- | The 'moveLines' signal is a keybinding which gets emitted when the user initiates moving a+-- line. The default binding key is Alt+Up/Down arrow. And moves the currently selected lines, or the+-- current line by count. For the moment, only count of -1 or 1 is valid.+sourceViewMoveLines :: SourceViewClass sv => Signal sv (Bool -> Int -> IO ())+sourceViewMoveLines = Signal $ connect_BOOL_INT__NONE "move-lines"++-- | The 'showCompletion' signal is a keybinding signal which gets emitted when the user initiates a+-- completion in default mode.+-- +-- Applications should not connect to it, but may emit it with @gSignalEmitByName@ if they need to+-- control the default mode completion activation.+sourceViewShowCompletion :: SourceViewClass sv => Signal sv (IO ())+sourceViewShowCompletion = Signal $ connect_NONE__NONE "show-completion"++-- | Emitted when a line mark has been activated (for instance when there was a button press in the line+-- marks gutter). You can use iter to determine on which line the activation took place.+sourceViewLineMarkActivated :: SourceViewClass sv => Signal sv (TextIter -> EventM EAny ())+sourceViewLineMarkActivated = + Signal (\after obj fun -> + connect_PTR_BOXED__NONE "line-mark-activated" mkTextIterCopy after obj+ (\eventPtr iter -> runReaderT (fun iter) eventPtr)+ )++-- * Deprecated+#ifndef DISABLE_DEPRECATED+-- | 'sourceViewSetMarkCategoryPixbuf' is deprecated and should not be used in newly-written+-- code. Use 'sourceViewSetMarkCategoryIconFromPixbuf' instead+--+sourceViewSetMarkCategoryPixbuf :: SourceViewClass sv => sv -> String -> Pixbuf -> IO ()+sourceViewSetMarkCategoryPixbuf sv markerType marker = withCString markerType $ \strPtr ->+ {#call source_view_set_mark_category_pixbuf#} (toSourceView sv) strPtr marker++-- | 'sourceViewGetMarkCategoryPixbuf' is deprecated and should not be used in newly-written code.+--+sourceViewGetMarkCategoryPixbuf :: SourceViewClass sv => sv -> String -> IO Pixbuf+sourceViewGetMarkCategoryPixbuf sv markerType = withCString markerType $ \strPtr ->+ constructNewGObject mkPixbuf $+ {#call unsafe source_view_get_mark_category_pixbuf#} (toSourceView sv) strPtr+#endif+
Graphics/UI/Gtk/SourceView/Types.chs view
@@ -35,6 +35,30 @@ module Graphics.UI.Gtk.SourceView.Types ( module Graphics.UI.GtkInternals,+ SourceGutter(SourceGutter), SourceGutterClass,+ toSourceGutter, + mkSourceGutter, unSourceGutter,+ castToSourceGutter, gTypeSourceGutter,+ SourceUndoManager(SourceUndoManager), SourceUndoManagerClass,+ toSourceUndoManager, + mkSourceUndoManager, unSourceUndoManager,+ castToSourceUndoManager, gTypeSourceUndoManager,+ SourceCompletionProvider(SourceCompletionProvider), SourceCompletionProviderClass,+ toSourceCompletionProvider, + mkSourceCompletionProvider, unSourceCompletionProvider,+ castToSourceCompletionProvider, gTypeSourceCompletionProvider,+ SourceCompletionProposal(SourceCompletionProposal), SourceCompletionProposalClass,+ toSourceCompletionProposal, + mkSourceCompletionProposal, unSourceCompletionProposal,+ castToSourceCompletionProposal, gTypeSourceCompletionProposal,+ SourceCompletionContext(SourceCompletionContext), SourceCompletionContextClass,+ toSourceCompletionContext, + mkSourceCompletionContext, unSourceCompletionContext,+ castToSourceCompletionContext, gTypeSourceCompletionContext,+ SourceCompletionItem(SourceCompletionItem), SourceCompletionItemClass,+ toSourceCompletionItem, + mkSourceCompletionItem, unSourceCompletionItem,+ castToSourceCompletionItem, gTypeSourceCompletionItem, SourceBuffer(SourceBuffer), SourceBufferClass, toSourceBuffer, mkSourceBuffer, unSourceBuffer,@@ -43,6 +67,14 @@ toSourceMark, mkSourceMark, unSourceMark, castToSourceMark, gTypeSourceMark,+ SourceCompletion(SourceCompletion), SourceCompletionClass,+ toSourceCompletion, + mkSourceCompletion, unSourceCompletion,+ castToSourceCompletion, gTypeSourceCompletion,+ SourceCompletionInfo(SourceCompletionInfo), SourceCompletionInfoClass,+ toSourceCompletionInfo, + mkSourceCompletionInfo, unSourceCompletionInfo,+ castToSourceCompletionInfo, gTypeSourceCompletionInfo, SourceView(SourceView), SourceViewClass, toSourceView, mkSourceView, unSourceView,@@ -89,6 +121,144 @@ | otherwise -> error $ "Cannot cast object to " ++ objTypeName +-- *************************************************************** SourceGutter++{#pointer *SourceGutter foreign newtype #} deriving (Eq,Ord)++mkSourceGutter = (SourceGutter, objectUnrefFromMainloop)+unSourceGutter (SourceGutter o) = o++class GObjectClass o => SourceGutterClass o+toSourceGutter :: SourceGutterClass o => o -> SourceGutter+toSourceGutter = unsafeCastGObject . toGObject++instance SourceGutterClass SourceGutter+instance GObjectClass SourceGutter where+ toGObject = GObject . castForeignPtr . unSourceGutter+ unsafeCastGObject = SourceGutter . castForeignPtr . unGObject++castToSourceGutter :: GObjectClass obj => obj -> SourceGutter+castToSourceGutter = castTo gTypeSourceGutter "SourceGutter"++gTypeSourceGutter :: GType+gTypeSourceGutter =+ {# call fun unsafe gtk_source_gutter_get_type #}++-- ********************************************************** SourceUndoManager++{#pointer *SourceUndoManager foreign newtype #} deriving (Eq,Ord)++mkSourceUndoManager = (SourceUndoManager, objectUnrefFromMainloop)+unSourceUndoManager (SourceUndoManager o) = o++class GObjectClass o => SourceUndoManagerClass o+toSourceUndoManager :: SourceUndoManagerClass o => o -> SourceUndoManager+toSourceUndoManager = unsafeCastGObject . toGObject++instance SourceUndoManagerClass SourceUndoManager+instance GObjectClass SourceUndoManager where+ toGObject = GObject . castForeignPtr . unSourceUndoManager+ unsafeCastGObject = SourceUndoManager . castForeignPtr . unGObject++castToSourceUndoManager :: GObjectClass obj => obj -> SourceUndoManager+castToSourceUndoManager = castTo gTypeSourceUndoManager "SourceUndoManager"++gTypeSourceUndoManager :: GType+gTypeSourceUndoManager =+ {# call fun unsafe gtk_source_undo_manager_get_type #}++-- *************************************************** SourceCompletionProvider++{#pointer *SourceCompletionProvider foreign newtype #} deriving (Eq,Ord)++mkSourceCompletionProvider = (SourceCompletionProvider, objectUnrefFromMainloop)+unSourceCompletionProvider (SourceCompletionProvider o) = o++class GObjectClass o => SourceCompletionProviderClass o+toSourceCompletionProvider :: SourceCompletionProviderClass o => o -> SourceCompletionProvider+toSourceCompletionProvider = unsafeCastGObject . toGObject++instance SourceCompletionProviderClass SourceCompletionProvider+instance GObjectClass SourceCompletionProvider where+ toGObject = GObject . castForeignPtr . unSourceCompletionProvider+ unsafeCastGObject = SourceCompletionProvider . castForeignPtr . unGObject++castToSourceCompletionProvider :: GObjectClass obj => obj -> SourceCompletionProvider+castToSourceCompletionProvider = castTo gTypeSourceCompletionProvider "SourceCompletionProvider"++gTypeSourceCompletionProvider :: GType+gTypeSourceCompletionProvider =+ {# call fun unsafe gtk_source_completion_provider_get_type #}++-- *************************************************** SourceCompletionProposal++{#pointer *SourceCompletionProposal foreign newtype #} deriving (Eq,Ord)++mkSourceCompletionProposal = (SourceCompletionProposal, objectUnrefFromMainloop)+unSourceCompletionProposal (SourceCompletionProposal o) = o++class GObjectClass o => SourceCompletionProposalClass o+toSourceCompletionProposal :: SourceCompletionProposalClass o => o -> SourceCompletionProposal+toSourceCompletionProposal = unsafeCastGObject . toGObject++instance SourceCompletionProposalClass SourceCompletionProposal+instance GObjectClass SourceCompletionProposal where+ toGObject = GObject . castForeignPtr . unSourceCompletionProposal+ unsafeCastGObject = SourceCompletionProposal . castForeignPtr . unGObject++castToSourceCompletionProposal :: GObjectClass obj => obj -> SourceCompletionProposal+castToSourceCompletionProposal = castTo gTypeSourceCompletionProposal "SourceCompletionProposal"++gTypeSourceCompletionProposal :: GType+gTypeSourceCompletionProposal =+ {# call fun unsafe gtk_source_completion_proposal_get_type #}++-- **************************************************** SourceCompletionContext++{#pointer *SourceCompletionContext foreign newtype #} deriving (Eq,Ord)++mkSourceCompletionContext = (SourceCompletionContext, objectUnrefFromMainloop)+unSourceCompletionContext (SourceCompletionContext o) = o++class GObjectClass o => SourceCompletionContextClass o+toSourceCompletionContext :: SourceCompletionContextClass o => o -> SourceCompletionContext+toSourceCompletionContext = unsafeCastGObject . toGObject++instance SourceCompletionContextClass SourceCompletionContext+instance GObjectClass SourceCompletionContext where+ toGObject = GObject . castForeignPtr . unSourceCompletionContext+ unsafeCastGObject = SourceCompletionContext . castForeignPtr . unGObject++castToSourceCompletionContext :: GObjectClass obj => obj -> SourceCompletionContext+castToSourceCompletionContext = castTo gTypeSourceCompletionContext "SourceCompletionContext"++gTypeSourceCompletionContext :: GType+gTypeSourceCompletionContext =+ {# call fun unsafe gtk_source_completion_context_get_type #}++-- ******************************************************* SourceCompletionItem++{#pointer *SourceCompletionItem foreign newtype #} deriving (Eq,Ord)++mkSourceCompletionItem = (SourceCompletionItem, objectUnrefFromMainloop)+unSourceCompletionItem (SourceCompletionItem o) = o++class GObjectClass o => SourceCompletionItemClass o+toSourceCompletionItem :: SourceCompletionItemClass o => o -> SourceCompletionItem+toSourceCompletionItem = unsafeCastGObject . toGObject++instance SourceCompletionItemClass SourceCompletionItem+instance GObjectClass SourceCompletionItem where+ toGObject = GObject . castForeignPtr . unSourceCompletionItem+ unsafeCastGObject = SourceCompletionItem . castForeignPtr . unGObject++castToSourceCompletionItem :: GObjectClass obj => obj -> SourceCompletionItem+castToSourceCompletionItem = castTo gTypeSourceCompletionItem "SourceCompletionItem"++gTypeSourceCompletionItem :: GType+gTypeSourceCompletionItem =+ {# call fun unsafe gtk_source_completion_item_get_type #}+ -- *************************************************************** SourceBuffer {#pointer *SourceBuffer foreign newtype #} deriving (Eq,Ord)@@ -136,6 +306,58 @@ gTypeSourceMark :: GType gTypeSourceMark = {# call fun unsafe gtk_source_mark_get_type #}++-- *********************************************************** SourceCompletion++{#pointer *SourceCompletion foreign newtype #} deriving (Eq,Ord)++mkSourceCompletion = (SourceCompletion, objectUnrefFromMainloop)+unSourceCompletion (SourceCompletion o) = o++class ObjectClass o => SourceCompletionClass o+toSourceCompletion :: SourceCompletionClass o => o -> SourceCompletion+toSourceCompletion = unsafeCastGObject . toGObject++instance SourceCompletionClass SourceCompletion+instance ObjectClass SourceCompletion+instance GObjectClass SourceCompletion where+ toGObject = GObject . castForeignPtr . unSourceCompletion+ unsafeCastGObject = SourceCompletion . castForeignPtr . unGObject++castToSourceCompletion :: GObjectClass obj => obj -> SourceCompletion+castToSourceCompletion = castTo gTypeSourceCompletion "SourceCompletion"++gTypeSourceCompletion :: GType+gTypeSourceCompletion =+ {# call fun unsafe gtk_source_completion_get_type #}++-- ******************************************************* SourceCompletionInfo++{#pointer *SourceCompletionInfo foreign newtype #} deriving (Eq,Ord)++mkSourceCompletionInfo = (SourceCompletionInfo, objectUnrefFromMainloop)+unSourceCompletionInfo (SourceCompletionInfo o) = o++class WindowClass o => SourceCompletionInfoClass o+toSourceCompletionInfo :: SourceCompletionInfoClass o => o -> SourceCompletionInfo+toSourceCompletionInfo = unsafeCastGObject . toGObject++instance SourceCompletionInfoClass SourceCompletionInfo+instance WindowClass SourceCompletionInfo+instance BinClass SourceCompletionInfo+instance ContainerClass SourceCompletionInfo+instance WidgetClass SourceCompletionInfo+instance ObjectClass SourceCompletionInfo+instance GObjectClass SourceCompletionInfo where+ toGObject = GObject . castForeignPtr . unSourceCompletionInfo+ unsafeCastGObject = SourceCompletionInfo . castForeignPtr . unGObject++castToSourceCompletionInfo :: GObjectClass obj => obj -> SourceCompletionInfo+castToSourceCompletionInfo = castTo gTypeSourceCompletionInfo "SourceCompletionInfo"++gTypeSourceCompletionInfo :: GType+gTypeSourceCompletionInfo =+ {# call fun unsafe gtk_source_completion_info_get_type #} -- ***************************************************************** SourceView
demo/SourceViewTest.hs view
@@ -38,7 +38,7 @@ scrolledWindowSetPolicy sw PolicyAutomatic PolicyAutomatic sw `scrolledWindowSetShadowType` ShadowIn win `containerAdd` sw- + -- show the widget and run the main loop windowSetDefaultSize win 400 500 widgetShowAll win
gtksourceview2.cabal view
@@ -1,5 +1,5 @@ Name: gtksourceview2-Version: 0.11.1+Version: 0.12.0 License: LGPL-2.1 License-file: COPYING Copyright: (c) 2001-2010 The Gtk2Hs Team@@ -37,7 +37,7 @@ Source-Repository head type: darcs location: http://code.haskell.org/gtksourceview/-+ Library build-depends: base >= 4 && < 5, array, containers, haskell98, mtl, glib >= 0.11 && < 0.12, @@ -47,7 +47,15 @@ exposed-modules: Graphics.UI.Gtk.SourceView+ Graphics.UI.Gtk.SourceView.Enums Graphics.UI.Gtk.SourceView.SourceBuffer+ Graphics.UI.Gtk.SourceView.SourceCompletion+ Graphics.UI.Gtk.SourceView.SourceCompletionContext+ Graphics.UI.Gtk.SourceView.SourceCompletionInfo+ Graphics.UI.Gtk.SourceView.SourceCompletionItem+ Graphics.UI.Gtk.SourceView.SourceCompletionProposal+ Graphics.UI.Gtk.SourceView.SourceCompletionProvider+ Graphics.UI.Gtk.SourceView.SourceGutter Graphics.UI.Gtk.SourceView.SourceIter Graphics.UI.Gtk.SourceView.SourceLanguage Graphics.UI.Gtk.SourceView.SourceLanguageManager@@ -55,6 +63,7 @@ Graphics.UI.Gtk.SourceView.SourceStyle Graphics.UI.Gtk.SourceView.SourceStyleScheme Graphics.UI.Gtk.SourceView.SourceStyleSchemeManager+ Graphics.UI.Gtk.SourceView.SourceUndoManager Graphics.UI.Gtk.SourceView.SourceView other-modules: Graphics.UI.Gtk.SourceView.SourceStyle.Internal
gtksourceview2.h view
@@ -7,3 +7,5 @@ #include <gtksourceview/gtksourcestyleschememanager.h> #include <gtksourceview/gtksourceview.h> #include <gtksourceview/gtksourceview-typebuiltins.h>+#include <gtksourceview/gtksourceundomanager.h>+#include <gtksourceview/gtksourcecompletionitem.h>
hierarchy.list view
@@ -17,6 +17,12 @@ GObject + GtkSourceGutter if gtksourceview2+ GtkSourceUndoManager if gtksourceview2+ GtkSourceCompletionProvider if gtksourceview2+ GtkSourceCompletionProposal if gtksourceview2+ GtkSourceCompletionContext if gtksourceview2+ GtkSourceCompletionItem if gtksourceview2 GdkDrawable GdkWindow as DrawWindow, gdk_window_object_get_type # GdkDrawableImplX11@@ -49,6 +55,7 @@ GtkSourceMarker if sourceview GtkSourceMark if gtksourceview2 GtkObject+ GtkSourceCompletion if gtksourceview2 GtkWidget GtkMisc GtkLabel@@ -79,6 +86,7 @@ GtkListItem if deprecated # GtkTreeItem GtkWindow+ GtkSourceCompletionInfo if gtksourceview2 GtkDialog GtkAboutDialog if gtk-2.6 GtkColorSelectionDialog
marshal.list view
@@ -43,4 +43,10 @@ # If it is a Boxed type check that the reference counting is right. NONE:NONE+NONE:OBJECT NONE:BOXED,BOXED+NONE:BOOL,INT+NONE:POINTER,BOXED+NONE:OBJECT,POINTER,BOXED+BOOL:OBJECT,BOXED,OBJECT+NONE:ENUM,INT