{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.GtkSource.Objects.View
    ( 

-- * Exported types
    View(..)                                ,
    IsView                                  ,
    toView                                  ,
    noView                                  ,


 -- * Methods
-- ** getAutoIndent #method:getAutoIndent#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetAutoIndentMethodInfo             ,
#endif
    viewGetAutoIndent                       ,


-- ** getBackgroundPattern #method:getBackgroundPattern#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetBackgroundPatternMethodInfo      ,
#endif
    viewGetBackgroundPattern                ,


-- ** getCompletion #method:getCompletion#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetCompletionMethodInfo             ,
#endif
    viewGetCompletion                       ,


-- ** getDrawSpaces #method:getDrawSpaces#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetDrawSpacesMethodInfo             ,
#endif
    viewGetDrawSpaces                       ,


-- ** getGutter #method:getGutter#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetGutterMethodInfo                 ,
#endif
    viewGetGutter                           ,


-- ** getHighlightCurrentLine #method:getHighlightCurrentLine#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetHighlightCurrentLineMethodInfo   ,
#endif
    viewGetHighlightCurrentLine             ,


-- ** getIndentOnTab #method:getIndentOnTab#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetIndentOnTabMethodInfo            ,
#endif
    viewGetIndentOnTab                      ,


-- ** getIndentWidth #method:getIndentWidth#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetIndentWidthMethodInfo            ,
#endif
    viewGetIndentWidth                      ,


-- ** getInsertSpacesInsteadOfTabs #method:getInsertSpacesInsteadOfTabs#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetInsertSpacesInsteadOfTabsMethodInfo,
#endif
    viewGetInsertSpacesInsteadOfTabs        ,


-- ** getMarkAttributes #method:getMarkAttributes#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetMarkAttributesMethodInfo         ,
#endif
    viewGetMarkAttributes                   ,


-- ** getRightMarginPosition #method:getRightMarginPosition#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetRightMarginPositionMethodInfo    ,
#endif
    viewGetRightMarginPosition              ,


-- ** getShowLineMarks #method:getShowLineMarks#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetShowLineMarksMethodInfo          ,
#endif
    viewGetShowLineMarks                    ,


-- ** getShowLineNumbers #method:getShowLineNumbers#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetShowLineNumbersMethodInfo        ,
#endif
    viewGetShowLineNumbers                  ,


-- ** getShowRightMargin #method:getShowRightMargin#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetShowRightMarginMethodInfo        ,
#endif
    viewGetShowRightMargin                  ,


-- ** getSmartBackspace #method:getSmartBackspace#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetSmartBackspaceMethodInfo         ,
#endif
    viewGetSmartBackspace                   ,


-- ** getSmartHomeEnd #method:getSmartHomeEnd#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetSmartHomeEndMethodInfo           ,
#endif
    viewGetSmartHomeEnd                     ,


-- ** getSpaceDrawer #method:getSpaceDrawer#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetSpaceDrawerMethodInfo            ,
#endif
    viewGetSpaceDrawer                      ,


-- ** getTabWidth #method:getTabWidth#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetTabWidthMethodInfo               ,
#endif
    viewGetTabWidth                         ,


-- ** getVisualColumn #method:getVisualColumn#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewGetVisualColumnMethodInfo           ,
#endif
    viewGetVisualColumn                     ,


-- ** indentLines #method:indentLines#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewIndentLinesMethodInfo               ,
#endif
    viewIndentLines                         ,


-- ** new #method:new#
    viewNew                                 ,


-- ** newWithBuffer #method:newWithBuffer#
    viewNewWithBuffer                       ,


-- ** setAutoIndent #method:setAutoIndent#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetAutoIndentMethodInfo             ,
#endif
    viewSetAutoIndent                       ,


-- ** setBackgroundPattern #method:setBackgroundPattern#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetBackgroundPatternMethodInfo      ,
#endif
    viewSetBackgroundPattern                ,


-- ** setDrawSpaces #method:setDrawSpaces#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetDrawSpacesMethodInfo             ,
#endif
    viewSetDrawSpaces                       ,


-- ** setHighlightCurrentLine #method:setHighlightCurrentLine#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetHighlightCurrentLineMethodInfo   ,
#endif
    viewSetHighlightCurrentLine             ,


-- ** setIndentOnTab #method:setIndentOnTab#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetIndentOnTabMethodInfo            ,
#endif
    viewSetIndentOnTab                      ,


-- ** setIndentWidth #method:setIndentWidth#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetIndentWidthMethodInfo            ,
#endif
    viewSetIndentWidth                      ,


-- ** setInsertSpacesInsteadOfTabs #method:setInsertSpacesInsteadOfTabs#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetInsertSpacesInsteadOfTabsMethodInfo,
#endif
    viewSetInsertSpacesInsteadOfTabs        ,


-- ** setMarkAttributes #method:setMarkAttributes#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetMarkAttributesMethodInfo         ,
#endif
    viewSetMarkAttributes                   ,


-- ** setRightMarginPosition #method:setRightMarginPosition#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetRightMarginPositionMethodInfo    ,
#endif
    viewSetRightMarginPosition              ,


-- ** setShowLineMarks #method:setShowLineMarks#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetShowLineMarksMethodInfo          ,
#endif
    viewSetShowLineMarks                    ,


-- ** setShowLineNumbers #method:setShowLineNumbers#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetShowLineNumbersMethodInfo        ,
#endif
    viewSetShowLineNumbers                  ,


-- ** setShowRightMargin #method:setShowRightMargin#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetShowRightMarginMethodInfo        ,
#endif
    viewSetShowRightMargin                  ,


-- ** setSmartBackspace #method:setSmartBackspace#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetSmartBackspaceMethodInfo         ,
#endif
    viewSetSmartBackspace                   ,


-- ** setSmartHomeEnd #method:setSmartHomeEnd#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetSmartHomeEndMethodInfo           ,
#endif
    viewSetSmartHomeEnd                     ,


-- ** setTabWidth #method:setTabWidth#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSetTabWidthMethodInfo               ,
#endif
    viewSetTabWidth                         ,


-- ** unindentLines #method:unindentLines#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewUnindentLinesMethodInfo             ,
#endif
    viewUnindentLines                       ,




 -- * Properties
-- ** autoIndent #attr:autoIndent#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewAutoIndentPropertyInfo              ,
#endif
    constructViewAutoIndent                 ,
    getViewAutoIndent                       ,
    setViewAutoIndent                       ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewAutoIndent                          ,
#endif


-- ** backgroundPattern #attr:backgroundPattern#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewBackgroundPatternPropertyInfo       ,
#endif
    constructViewBackgroundPattern          ,
    getViewBackgroundPattern                ,
    setViewBackgroundPattern                ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewBackgroundPattern                   ,
#endif


-- ** completion #attr:completion#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewCompletionPropertyInfo              ,
#endif
    getViewCompletion                       ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewCompletion                          ,
#endif


-- ** drawSpaces #attr:drawSpaces#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewDrawSpacesPropertyInfo              ,
#endif
    constructViewDrawSpaces                 ,
    getViewDrawSpaces                       ,
    setViewDrawSpaces                       ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewDrawSpaces                          ,
#endif


-- ** highlightCurrentLine #attr:highlightCurrentLine#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewHighlightCurrentLinePropertyInfo    ,
#endif
    constructViewHighlightCurrentLine       ,
    getViewHighlightCurrentLine             ,
    setViewHighlightCurrentLine             ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewHighlightCurrentLine                ,
#endif


-- ** indentOnTab #attr:indentOnTab#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewIndentOnTabPropertyInfo             ,
#endif
    constructViewIndentOnTab                ,
    getViewIndentOnTab                      ,
    setViewIndentOnTab                      ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewIndentOnTab                         ,
#endif


-- ** indentWidth #attr:indentWidth#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewIndentWidthPropertyInfo             ,
#endif
    constructViewIndentWidth                ,
    getViewIndentWidth                      ,
    setViewIndentWidth                      ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewIndentWidth                         ,
#endif


-- ** insertSpacesInsteadOfTabs #attr:insertSpacesInsteadOfTabs#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewInsertSpacesInsteadOfTabsPropertyInfo,
#endif
    constructViewInsertSpacesInsteadOfTabs  ,
    getViewInsertSpacesInsteadOfTabs        ,
    setViewInsertSpacesInsteadOfTabs        ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewInsertSpacesInsteadOfTabs           ,
#endif


-- ** rightMarginPosition #attr:rightMarginPosition#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewRightMarginPositionPropertyInfo     ,
#endif
    constructViewRightMarginPosition        ,
    getViewRightMarginPosition              ,
    setViewRightMarginPosition              ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewRightMarginPosition                 ,
#endif


-- ** showLineMarks #attr:showLineMarks#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewShowLineMarksPropertyInfo           ,
#endif
    constructViewShowLineMarks              ,
    getViewShowLineMarks                    ,
    setViewShowLineMarks                    ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewShowLineMarks                       ,
#endif


-- ** showLineNumbers #attr:showLineNumbers#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewShowLineNumbersPropertyInfo         ,
#endif
    constructViewShowLineNumbers            ,
    getViewShowLineNumbers                  ,
    setViewShowLineNumbers                  ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewShowLineNumbers                     ,
#endif


-- ** showRightMargin #attr:showRightMargin#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewShowRightMarginPropertyInfo         ,
#endif
    constructViewShowRightMargin            ,
    getViewShowRightMargin                  ,
    setViewShowRightMargin                  ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewShowRightMargin                     ,
#endif


-- ** smartBackspace #attr:smartBackspace#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSmartBackspacePropertyInfo          ,
#endif
    constructViewSmartBackspace             ,
    getViewSmartBackspace                   ,
    setViewSmartBackspace                   ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewSmartBackspace                      ,
#endif


-- ** smartHomeEnd #attr:smartHomeEnd#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSmartHomeEndPropertyInfo            ,
#endif
    constructViewSmartHomeEnd               ,
    getViewSmartHomeEnd                     ,
    setViewSmartHomeEnd                     ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewSmartHomeEnd                        ,
#endif


-- ** spaceDrawer #attr:spaceDrawer#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSpaceDrawerPropertyInfo             ,
#endif
    getViewSpaceDrawer                      ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewSpaceDrawer                         ,
#endif


-- ** tabWidth #attr:tabWidth#
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewTabWidthPropertyInfo                ,
#endif
    constructViewTabWidth                   ,
    getViewTabWidth                         ,
    setViewTabWidth                         ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    viewTabWidth                            ,
#endif




 -- * Signals
-- ** changeCase #signal:changeCase#
    C_ViewChangeCaseCallback                ,
    ViewChangeCaseCallback                  ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewChangeCaseSignalInfo                ,
#endif
    afterViewChangeCase                     ,
    genClosure_ViewChangeCase               ,
    mk_ViewChangeCaseCallback               ,
    noViewChangeCaseCallback                ,
    onViewChangeCase                        ,
    wrap_ViewChangeCaseCallback             ,


-- ** changeNumber #signal:changeNumber#
    C_ViewChangeNumberCallback              ,
    ViewChangeNumberCallback                ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewChangeNumberSignalInfo              ,
#endif
    afterViewChangeNumber                   ,
    genClosure_ViewChangeNumber             ,
    mk_ViewChangeNumberCallback             ,
    noViewChangeNumberCallback              ,
    onViewChangeNumber                      ,
    wrap_ViewChangeNumberCallback           ,


-- ** joinLines #signal:joinLines#
    C_ViewJoinLinesCallback                 ,
    ViewJoinLinesCallback                   ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewJoinLinesSignalInfo                 ,
#endif
    afterViewJoinLines                      ,
    genClosure_ViewJoinLines                ,
    mk_ViewJoinLinesCallback                ,
    noViewJoinLinesCallback                 ,
    onViewJoinLines                         ,
    wrap_ViewJoinLinesCallback              ,


-- ** lineMarkActivated #signal:lineMarkActivated#
    C_ViewLineMarkActivatedCallback         ,
    ViewLineMarkActivatedCallback           ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewLineMarkActivatedSignalInfo         ,
#endif
    afterViewLineMarkActivated              ,
    genClosure_ViewLineMarkActivated        ,
    mk_ViewLineMarkActivatedCallback        ,
    noViewLineMarkActivatedCallback         ,
    onViewLineMarkActivated                 ,
    wrap_ViewLineMarkActivatedCallback      ,


-- ** moveLines #signal:moveLines#
    C_ViewMoveLinesCallback                 ,
    ViewMoveLinesCallback                   ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewMoveLinesSignalInfo                 ,
#endif
    afterViewMoveLines                      ,
    genClosure_ViewMoveLines                ,
    mk_ViewMoveLinesCallback                ,
    noViewMoveLinesCallback                 ,
    onViewMoveLines                         ,
    wrap_ViewMoveLinesCallback              ,


-- ** moveToMatchingBracket #signal:moveToMatchingBracket#
    C_ViewMoveToMatchingBracketCallback     ,
    ViewMoveToMatchingBracketCallback       ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewMoveToMatchingBracketSignalInfo     ,
#endif
    afterViewMoveToMatchingBracket          ,
    genClosure_ViewMoveToMatchingBracket    ,
    mk_ViewMoveToMatchingBracketCallback    ,
    noViewMoveToMatchingBracketCallback     ,
    onViewMoveToMatchingBracket             ,
    wrap_ViewMoveToMatchingBracketCallback  ,


-- ** moveWords #signal:moveWords#
    C_ViewMoveWordsCallback                 ,
    ViewMoveWordsCallback                   ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewMoveWordsSignalInfo                 ,
#endif
    afterViewMoveWords                      ,
    genClosure_ViewMoveWords                ,
    mk_ViewMoveWordsCallback                ,
    noViewMoveWordsCallback                 ,
    onViewMoveWords                         ,
    wrap_ViewMoveWordsCallback              ,


-- ** redo #signal:redo#
    C_ViewRedoCallback                      ,
    ViewRedoCallback                        ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewRedoSignalInfo                      ,
#endif
    afterViewRedo                           ,
    genClosure_ViewRedo                     ,
    mk_ViewRedoCallback                     ,
    noViewRedoCallback                      ,
    onViewRedo                              ,
    wrap_ViewRedoCallback                   ,


-- ** showCompletion #signal:showCompletion#
    C_ViewShowCompletionCallback            ,
    ViewShowCompletionCallback              ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewShowCompletionSignalInfo            ,
#endif
    afterViewShowCompletion                 ,
    genClosure_ViewShowCompletion           ,
    mk_ViewShowCompletionCallback           ,
    noViewShowCompletionCallback            ,
    onViewShowCompletion                    ,
    wrap_ViewShowCompletionCallback         ,


-- ** smartHomeEnd #signal:smartHomeEnd#
    C_ViewSmartHomeEndCallback              ,
    ViewSmartHomeEndCallback                ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewSmartHomeEndSignalInfo              ,
#endif
    afterViewSmartHomeEnd                   ,
    genClosure_ViewSmartHomeEnd             ,
    mk_ViewSmartHomeEndCallback             ,
    noViewSmartHomeEndCallback              ,
    onViewSmartHomeEnd                      ,
    wrap_ViewSmartHomeEndCallback           ,


-- ** undo #signal:undo#
    C_ViewUndoCallback                      ,
    ViewUndoCallback                        ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    ViewUndoSignalInfo                      ,
#endif
    afterViewUndo                           ,
    genClosure_ViewUndo                     ,
    mk_ViewUndoCallback                     ,
    noViewUndoCallback                      ,
    onViewUndo                              ,
    wrap_ViewUndoCallback                   ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Unions.Event as Gdk.Event
import qualified GI.Gtk.Enums as Gtk.Enums
import qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import qualified GI.Gtk.Interfaces.Scrollable as Gtk.Scrollable
import qualified GI.Gtk.Objects.Container as Gtk.Container
import qualified GI.Gtk.Objects.TextView as Gtk.TextView
import qualified GI.Gtk.Objects.Widget as Gtk.Widget
import qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
import {-# SOURCE #-} qualified GI.GtkSource.Enums as GtkSource.Enums
import {-# SOURCE #-} qualified GI.GtkSource.Flags as GtkSource.Flags
import {-# SOURCE #-} qualified GI.GtkSource.Objects.Buffer as GtkSource.Buffer
import {-# SOURCE #-} qualified GI.GtkSource.Objects.Completion as GtkSource.Completion
import {-# SOURCE #-} qualified GI.GtkSource.Objects.Gutter as GtkSource.Gutter
import {-# SOURCE #-} qualified GI.GtkSource.Objects.MarkAttributes as GtkSource.MarkAttributes
import {-# SOURCE #-} qualified GI.GtkSource.Objects.SpaceDrawer as GtkSource.SpaceDrawer

newtype View = View (ManagedPtr View)
foreign import ccall "gtk_source_view_get_type"
    c_gtk_source_view_get_type :: IO GType

instance GObject View where
    gobjectType _ = c_gtk_source_view_get_type
    

class GObject o => IsView o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError View a) =>
    IsView a
#endif
instance IsView View
instance Gtk.TextView.IsTextView View
instance Gtk.Container.IsContainer View
instance Gtk.Widget.IsWidget View
instance GObject.Object.IsObject View
instance Atk.ImplementorIface.IsImplementorIface View
instance Gtk.Buildable.IsBuildable View
instance Gtk.Scrollable.IsScrollable View

toView :: (MonadIO m, IsView o) => o -> m View
toView = liftIO . unsafeCastTo View

noView :: Maybe View
noView = Nothing

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveViewMethod (t :: Symbol) (o :: *) :: * where
    ResolveViewMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
    ResolveViewMethod "add" o = Gtk.Container.ContainerAddMethodInfo
    ResolveViewMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
    ResolveViewMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
    ResolveViewMethod "addChildAtAnchor" o = Gtk.TextView.TextViewAddChildAtAnchorMethodInfo
    ResolveViewMethod "addChildInWindow" o = Gtk.TextView.TextViewAddChildInWindowMethodInfo
    ResolveViewMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
    ResolveViewMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
    ResolveViewMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
    ResolveViewMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
    ResolveViewMethod "backwardDisplayLine" o = Gtk.TextView.TextViewBackwardDisplayLineMethodInfo
    ResolveViewMethod "backwardDisplayLineStart" o = Gtk.TextView.TextViewBackwardDisplayLineStartMethodInfo
    ResolveViewMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveViewMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveViewMethod "bufferToWindowCoords" o = Gtk.TextView.TextViewBufferToWindowCoordsMethodInfo
    ResolveViewMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
    ResolveViewMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
    ResolveViewMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
    ResolveViewMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
    ResolveViewMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
    ResolveViewMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
    ResolveViewMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
    ResolveViewMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
    ResolveViewMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
    ResolveViewMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
    ResolveViewMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
    ResolveViewMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
    ResolveViewMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
    ResolveViewMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
    ResolveViewMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
    ResolveViewMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
    ResolveViewMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
    ResolveViewMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
    ResolveViewMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
    ResolveViewMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
    ResolveViewMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
    ResolveViewMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
    ResolveViewMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
    ResolveViewMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
    ResolveViewMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
    ResolveViewMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
    ResolveViewMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
    ResolveViewMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
    ResolveViewMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
    ResolveViewMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
    ResolveViewMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
    ResolveViewMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
    ResolveViewMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
    ResolveViewMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
    ResolveViewMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
    ResolveViewMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
    ResolveViewMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
    ResolveViewMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
    ResolveViewMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
    ResolveViewMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
    ResolveViewMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
    ResolveViewMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
    ResolveViewMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
    ResolveViewMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
    ResolveViewMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
    ResolveViewMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
    ResolveViewMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
    ResolveViewMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
    ResolveViewMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
    ResolveViewMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
    ResolveViewMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
    ResolveViewMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
    ResolveViewMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveViewMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
    ResolveViewMethod "forwardDisplayLine" o = Gtk.TextView.TextViewForwardDisplayLineMethodInfo
    ResolveViewMethod "forwardDisplayLineEnd" o = Gtk.TextView.TextViewForwardDisplayLineEndMethodInfo
    ResolveViewMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
    ResolveViewMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveViewMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
    ResolveViewMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
    ResolveViewMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
    ResolveViewMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
    ResolveViewMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
    ResolveViewMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
    ResolveViewMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
    ResolveViewMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
    ResolveViewMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
    ResolveViewMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
    ResolveViewMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
    ResolveViewMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
    ResolveViewMethod "imContextFilterKeypress" o = Gtk.TextView.TextViewImContextFilterKeypressMethodInfo
    ResolveViewMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
    ResolveViewMethod "indentLines" o = ViewIndentLinesMethodInfo
    ResolveViewMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
    ResolveViewMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
    ResolveViewMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
    ResolveViewMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
    ResolveViewMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
    ResolveViewMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
    ResolveViewMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
    ResolveViewMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveViewMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
    ResolveViewMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
    ResolveViewMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
    ResolveViewMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
    ResolveViewMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
    ResolveViewMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
    ResolveViewMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
    ResolveViewMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
    ResolveViewMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
    ResolveViewMethod "mnemonicActivate" o = Gtk.Widget.WidgetMnemonicActivateMethodInfo
    ResolveViewMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
    ResolveViewMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
    ResolveViewMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
    ResolveViewMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
    ResolveViewMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
    ResolveViewMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
    ResolveViewMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
    ResolveViewMethod "moveChild" o = Gtk.TextView.TextViewMoveChildMethodInfo
    ResolveViewMethod "moveMarkOnscreen" o = Gtk.TextView.TextViewMoveMarkOnscreenMethodInfo
    ResolveViewMethod "moveVisually" o = Gtk.TextView.TextViewMoveVisuallyMethodInfo
    ResolveViewMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveViewMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveViewMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
    ResolveViewMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
    ResolveViewMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
    ResolveViewMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
    ResolveViewMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
    ResolveViewMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
    ResolveViewMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
    ResolveViewMethod "placeCursorOnscreen" o = Gtk.TextView.TextViewPlaceCursorOnscreenMethodInfo
    ResolveViewMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
    ResolveViewMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
    ResolveViewMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
    ResolveViewMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
    ResolveViewMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
    ResolveViewMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
    ResolveViewMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
    ResolveViewMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
    ResolveViewMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
    ResolveViewMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveViewMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveViewMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
    ResolveViewMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
    ResolveViewMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
    ResolveViewMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
    ResolveViewMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
    ResolveViewMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
    ResolveViewMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
    ResolveViewMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
    ResolveViewMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
    ResolveViewMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveViewMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveViewMethod "resetCursorBlink" o = Gtk.TextView.TextViewResetCursorBlinkMethodInfo
    ResolveViewMethod "resetImContext" o = Gtk.TextView.TextViewResetImContextMethodInfo
    ResolveViewMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
    ResolveViewMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
    ResolveViewMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
    ResolveViewMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveViewMethod "scrollMarkOnscreen" o = Gtk.TextView.TextViewScrollMarkOnscreenMethodInfo
    ResolveViewMethod "scrollToIter" o = Gtk.TextView.TextViewScrollToIterMethodInfo
    ResolveViewMethod "scrollToMark" o = Gtk.TextView.TextViewScrollToMarkMethodInfo
    ResolveViewMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
    ResolveViewMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
    ResolveViewMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
    ResolveViewMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
    ResolveViewMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
    ResolveViewMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
    ResolveViewMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
    ResolveViewMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
    ResolveViewMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
    ResolveViewMethod "startsDisplayLine" o = Gtk.TextView.TextViewStartsDisplayLineMethodInfo
    ResolveViewMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveViewMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveViewMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
    ResolveViewMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
    ResolveViewMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
    ResolveViewMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveViewMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
    ResolveViewMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
    ResolveViewMethod "unindentLines" o = ViewUnindentLinesMethodInfo
    ResolveViewMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
    ResolveViewMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
    ResolveViewMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
    ResolveViewMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveViewMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
    ResolveViewMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
    ResolveViewMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
    ResolveViewMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveViewMethod "windowToBufferCoords" o = Gtk.TextView.TextViewWindowToBufferCoordsMethodInfo
    ResolveViewMethod "getAcceptsTab" o = Gtk.TextView.TextViewGetAcceptsTabMethodInfo
    ResolveViewMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
    ResolveViewMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
    ResolveViewMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
    ResolveViewMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
    ResolveViewMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
    ResolveViewMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
    ResolveViewMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
    ResolveViewMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
    ResolveViewMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
    ResolveViewMethod "getAutoIndent" o = ViewGetAutoIndentMethodInfo
    ResolveViewMethod "getBackgroundPattern" o = ViewGetBackgroundPatternMethodInfo
    ResolveViewMethod "getBorder" o = Gtk.Scrollable.ScrollableGetBorderMethodInfo
    ResolveViewMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
    ResolveViewMethod "getBorderWindowSize" o = Gtk.TextView.TextViewGetBorderWindowSizeMethodInfo
    ResolveViewMethod "getBottomMargin" o = Gtk.TextView.TextViewGetBottomMarginMethodInfo
    ResolveViewMethod "getBuffer" o = Gtk.TextView.TextViewGetBufferMethodInfo
    ResolveViewMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
    ResolveViewMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
    ResolveViewMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
    ResolveViewMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
    ResolveViewMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
    ResolveViewMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
    ResolveViewMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
    ResolveViewMethod "getCompletion" o = ViewGetCompletionMethodInfo
    ResolveViewMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
    ResolveViewMethod "getCursorLocations" o = Gtk.TextView.TextViewGetCursorLocationsMethodInfo
    ResolveViewMethod "getCursorVisible" o = Gtk.TextView.TextViewGetCursorVisibleMethodInfo
    ResolveViewMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveViewMethod "getDefaultAttributes" o = Gtk.TextView.TextViewGetDefaultAttributesMethodInfo
    ResolveViewMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
    ResolveViewMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
    ResolveViewMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
    ResolveViewMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
    ResolveViewMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
    ResolveViewMethod "getDrawSpaces" o = ViewGetDrawSpacesMethodInfo
    ResolveViewMethod "getEditable" o = Gtk.TextView.TextViewGetEditableMethodInfo
    ResolveViewMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
    ResolveViewMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
    ResolveViewMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
    ResolveViewMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
    ResolveViewMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
    ResolveViewMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
    ResolveViewMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
    ResolveViewMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
    ResolveViewMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
    ResolveViewMethod "getGutter" o = ViewGetGutterMethodInfo
    ResolveViewMethod "getHadjustment" o = Gtk.TextView.TextViewGetHadjustmentMethodInfo
    ResolveViewMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
    ResolveViewMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
    ResolveViewMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
    ResolveViewMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
    ResolveViewMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
    ResolveViewMethod "getHighlightCurrentLine" o = ViewGetHighlightCurrentLineMethodInfo
    ResolveViewMethod "getHscrollPolicy" o = Gtk.Scrollable.ScrollableGetHscrollPolicyMethodInfo
    ResolveViewMethod "getIndent" o = Gtk.TextView.TextViewGetIndentMethodInfo
    ResolveViewMethod "getIndentOnTab" o = ViewGetIndentOnTabMethodInfo
    ResolveViewMethod "getIndentWidth" o = ViewGetIndentWidthMethodInfo
    ResolveViewMethod "getInputHints" o = Gtk.TextView.TextViewGetInputHintsMethodInfo
    ResolveViewMethod "getInputPurpose" o = Gtk.TextView.TextViewGetInputPurposeMethodInfo
    ResolveViewMethod "getInsertSpacesInsteadOfTabs" o = ViewGetInsertSpacesInsteadOfTabsMethodInfo
    ResolveViewMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
    ResolveViewMethod "getIterAtLocation" o = Gtk.TextView.TextViewGetIterAtLocationMethodInfo
    ResolveViewMethod "getIterAtPosition" o = Gtk.TextView.TextViewGetIterAtPositionMethodInfo
    ResolveViewMethod "getIterLocation" o = Gtk.TextView.TextViewGetIterLocationMethodInfo
    ResolveViewMethod "getJustification" o = Gtk.TextView.TextViewGetJustificationMethodInfo
    ResolveViewMethod "getLeftMargin" o = Gtk.TextView.TextViewGetLeftMarginMethodInfo
    ResolveViewMethod "getLineAtY" o = Gtk.TextView.TextViewGetLineAtYMethodInfo
    ResolveViewMethod "getLineYrange" o = Gtk.TextView.TextViewGetLineYrangeMethodInfo
    ResolveViewMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
    ResolveViewMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
    ResolveViewMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
    ResolveViewMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
    ResolveViewMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
    ResolveViewMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
    ResolveViewMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
    ResolveViewMethod "getMarkAttributes" o = ViewGetMarkAttributesMethodInfo
    ResolveViewMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
    ResolveViewMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
    ResolveViewMethod "getMonospace" o = Gtk.TextView.TextViewGetMonospaceMethodInfo
    ResolveViewMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
    ResolveViewMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
    ResolveViewMethod "getOpacity" o = Gtk.Widget.WidgetGetOpacityMethodInfo
    ResolveViewMethod "getOverwrite" o = Gtk.TextView.TextViewGetOverwriteMethodInfo
    ResolveViewMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
    ResolveViewMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
    ResolveViewMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
    ResolveViewMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
    ResolveViewMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
    ResolveViewMethod "getPixelsAboveLines" o = Gtk.TextView.TextViewGetPixelsAboveLinesMethodInfo
    ResolveViewMethod "getPixelsBelowLines" o = Gtk.TextView.TextViewGetPixelsBelowLinesMethodInfo
    ResolveViewMethod "getPixelsInsideWrap" o = Gtk.TextView.TextViewGetPixelsInsideWrapMethodInfo
    ResolveViewMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
    ResolveViewMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
    ResolveViewMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
    ResolveViewMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
    ResolveViewMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
    ResolveViewMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
    ResolveViewMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
    ResolveViewMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveViewMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveViewMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
    ResolveViewMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
    ResolveViewMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
    ResolveViewMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
    ResolveViewMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
    ResolveViewMethod "getRightMargin" o = Gtk.TextView.TextViewGetRightMarginMethodInfo
    ResolveViewMethod "getRightMarginPosition" o = ViewGetRightMarginPositionMethodInfo
    ResolveViewMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
    ResolveViewMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
    ResolveViewMethod "getScreen" o = Gtk.Widget.WidgetGetScreenMethodInfo
    ResolveViewMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
    ResolveViewMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
    ResolveViewMethod "getShowLineMarks" o = ViewGetShowLineMarksMethodInfo
    ResolveViewMethod "getShowLineNumbers" o = ViewGetShowLineNumbersMethodInfo
    ResolveViewMethod "getShowRightMargin" o = ViewGetShowRightMarginMethodInfo
    ResolveViewMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
    ResolveViewMethod "getSmartBackspace" o = ViewGetSmartBackspaceMethodInfo
    ResolveViewMethod "getSmartHomeEnd" o = ViewGetSmartHomeEndMethodInfo
    ResolveViewMethod "getSpaceDrawer" o = ViewGetSpaceDrawerMethodInfo
    ResolveViewMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
    ResolveViewMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
    ResolveViewMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
    ResolveViewMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
    ResolveViewMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
    ResolveViewMethod "getTabWidth" o = ViewGetTabWidthMethodInfo
    ResolveViewMethod "getTabs" o = Gtk.TextView.TextViewGetTabsMethodInfo
    ResolveViewMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
    ResolveViewMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
    ResolveViewMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
    ResolveViewMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
    ResolveViewMethod "getTopMargin" o = Gtk.TextView.TextViewGetTopMarginMethodInfo
    ResolveViewMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
    ResolveViewMethod "getVadjustment" o = Gtk.TextView.TextViewGetVadjustmentMethodInfo
    ResolveViewMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
    ResolveViewMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
    ResolveViewMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
    ResolveViewMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
    ResolveViewMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
    ResolveViewMethod "getVisibleRect" o = Gtk.TextView.TextViewGetVisibleRectMethodInfo
    ResolveViewMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
    ResolveViewMethod "getVisualColumn" o = ViewGetVisualColumnMethodInfo
    ResolveViewMethod "getVscrollPolicy" o = Gtk.Scrollable.ScrollableGetVscrollPolicyMethodInfo
    ResolveViewMethod "getWindow" o = Gtk.TextView.TextViewGetWindowMethodInfo
    ResolveViewMethod "getWindowType" o = Gtk.TextView.TextViewGetWindowTypeMethodInfo
    ResolveViewMethod "getWrapMode" o = Gtk.TextView.TextViewGetWrapModeMethodInfo
    ResolveViewMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
    ResolveViewMethod "setAcceptsTab" o = Gtk.TextView.TextViewSetAcceptsTabMethodInfo
    ResolveViewMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
    ResolveViewMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
    ResolveViewMethod "setAutoIndent" o = ViewSetAutoIndentMethodInfo
    ResolveViewMethod "setBackgroundPattern" o = ViewSetBackgroundPatternMethodInfo
    ResolveViewMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
    ResolveViewMethod "setBorderWindowSize" o = Gtk.TextView.TextViewSetBorderWindowSizeMethodInfo
    ResolveViewMethod "setBottomMargin" o = Gtk.TextView.TextViewSetBottomMarginMethodInfo
    ResolveViewMethod "setBuffer" o = Gtk.TextView.TextViewSetBufferMethodInfo
    ResolveViewMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
    ResolveViewMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
    ResolveViewMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
    ResolveViewMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
    ResolveViewMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
    ResolveViewMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
    ResolveViewMethod "setCursorVisible" o = Gtk.TextView.TextViewSetCursorVisibleMethodInfo
    ResolveViewMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveViewMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
    ResolveViewMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
    ResolveViewMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
    ResolveViewMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
    ResolveViewMethod "setDrawSpaces" o = ViewSetDrawSpacesMethodInfo
    ResolveViewMethod "setEditable" o = Gtk.TextView.TextViewSetEditableMethodInfo
    ResolveViewMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
    ResolveViewMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
    ResolveViewMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
    ResolveViewMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
    ResolveViewMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
    ResolveViewMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
    ResolveViewMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
    ResolveViewMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
    ResolveViewMethod "setHadjustment" o = Gtk.Scrollable.ScrollableSetHadjustmentMethodInfo
    ResolveViewMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
    ResolveViewMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
    ResolveViewMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
    ResolveViewMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
    ResolveViewMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
    ResolveViewMethod "setHighlightCurrentLine" o = ViewSetHighlightCurrentLineMethodInfo
    ResolveViewMethod "setHscrollPolicy" o = Gtk.Scrollable.ScrollableSetHscrollPolicyMethodInfo
    ResolveViewMethod "setIndent" o = Gtk.TextView.TextViewSetIndentMethodInfo
    ResolveViewMethod "setIndentOnTab" o = ViewSetIndentOnTabMethodInfo
    ResolveViewMethod "setIndentWidth" o = ViewSetIndentWidthMethodInfo
    ResolveViewMethod "setInputHints" o = Gtk.TextView.TextViewSetInputHintsMethodInfo
    ResolveViewMethod "setInputPurpose" o = Gtk.TextView.TextViewSetInputPurposeMethodInfo
    ResolveViewMethod "setInsertSpacesInsteadOfTabs" o = ViewSetInsertSpacesInsteadOfTabsMethodInfo
    ResolveViewMethod "setJustification" o = Gtk.TextView.TextViewSetJustificationMethodInfo
    ResolveViewMethod "setLeftMargin" o = Gtk.TextView.TextViewSetLeftMarginMethodInfo
    ResolveViewMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
    ResolveViewMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
    ResolveViewMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
    ResolveViewMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
    ResolveViewMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
    ResolveViewMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
    ResolveViewMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
    ResolveViewMethod "setMarkAttributes" o = ViewSetMarkAttributesMethodInfo
    ResolveViewMethod "setMonospace" o = Gtk.TextView.TextViewSetMonospaceMethodInfo
    ResolveViewMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
    ResolveViewMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
    ResolveViewMethod "setOpacity" o = Gtk.Widget.WidgetSetOpacityMethodInfo
    ResolveViewMethod "setOverwrite" o = Gtk.TextView.TextViewSetOverwriteMethodInfo
    ResolveViewMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
    ResolveViewMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
    ResolveViewMethod "setPixelsAboveLines" o = Gtk.TextView.TextViewSetPixelsAboveLinesMethodInfo
    ResolveViewMethod "setPixelsBelowLines" o = Gtk.TextView.TextViewSetPixelsBelowLinesMethodInfo
    ResolveViewMethod "setPixelsInsideWrap" o = Gtk.TextView.TextViewSetPixelsInsideWrapMethodInfo
    ResolveViewMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveViewMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
    ResolveViewMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
    ResolveViewMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
    ResolveViewMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
    ResolveViewMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
    ResolveViewMethod "setRightMargin" o = Gtk.TextView.TextViewSetRightMarginMethodInfo
    ResolveViewMethod "setRightMarginPosition" o = ViewSetRightMarginPositionMethodInfo
    ResolveViewMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
    ResolveViewMethod "setShowLineMarks" o = ViewSetShowLineMarksMethodInfo
    ResolveViewMethod "setShowLineNumbers" o = ViewSetShowLineNumbersMethodInfo
    ResolveViewMethod "setShowRightMargin" o = ViewSetShowRightMarginMethodInfo
    ResolveViewMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
    ResolveViewMethod "setSmartBackspace" o = ViewSetSmartBackspaceMethodInfo
    ResolveViewMethod "setSmartHomeEnd" o = ViewSetSmartHomeEndMethodInfo
    ResolveViewMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
    ResolveViewMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
    ResolveViewMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
    ResolveViewMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
    ResolveViewMethod "setTabWidth" o = ViewSetTabWidthMethodInfo
    ResolveViewMethod "setTabs" o = Gtk.TextView.TextViewSetTabsMethodInfo
    ResolveViewMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
    ResolveViewMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
    ResolveViewMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
    ResolveViewMethod "setTopMargin" o = Gtk.TextView.TextViewSetTopMarginMethodInfo
    ResolveViewMethod "setVadjustment" o = Gtk.Scrollable.ScrollableSetVadjustmentMethodInfo
    ResolveViewMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
    ResolveViewMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
    ResolveViewMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
    ResolveViewMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
    ResolveViewMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
    ResolveViewMethod "setVscrollPolicy" o = Gtk.Scrollable.ScrollableSetVscrollPolicyMethodInfo
    ResolveViewMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
    ResolveViewMethod "setWrapMode" o = Gtk.TextView.TextViewSetWrapModeMethodInfo
    ResolveViewMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveViewMethod t View, O.MethodInfo info View p) => O.IsLabelProxy t (View -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveViewMethod t View, O.MethodInfo info View p) => O.IsLabel t (View -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif

#endif

-- signal View::change-case
type ViewChangeCaseCallback =
    GtkSource.Enums.ChangeCaseType ->
    IO ()

noViewChangeCaseCallback :: Maybe ViewChangeCaseCallback
noViewChangeCaseCallback = Nothing

type C_ViewChangeCaseCallback =
    Ptr () ->                               -- object
    CUInt ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewChangeCaseCallback :: C_ViewChangeCaseCallback -> IO (FunPtr C_ViewChangeCaseCallback)

genClosure_ViewChangeCase :: ViewChangeCaseCallback -> IO Closure
genClosure_ViewChangeCase cb = do
    let cb' = wrap_ViewChangeCaseCallback cb
    mk_ViewChangeCaseCallback cb' >>= newCClosure


wrap_ViewChangeCaseCallback ::
    ViewChangeCaseCallback ->
    Ptr () ->
    CUInt ->
    Ptr () ->
    IO ()
wrap_ViewChangeCaseCallback _cb _ caseType _ = do
    let caseType' = (toEnum . fromIntegral) caseType
    _cb  caseType'


onViewChangeCase :: (IsView a, MonadIO m) => a -> ViewChangeCaseCallback -> m SignalHandlerId
onViewChangeCase obj cb = liftIO $ do
    let cb' = wrap_ViewChangeCaseCallback cb
    cb'' <- mk_ViewChangeCaseCallback cb'
    connectSignalFunPtr obj "change-case" cb'' SignalConnectBefore

afterViewChangeCase :: (IsView a, MonadIO m) => a -> ViewChangeCaseCallback -> m SignalHandlerId
afterViewChangeCase obj cb = liftIO $ do
    let cb' = wrap_ViewChangeCaseCallback cb
    cb'' <- mk_ViewChangeCaseCallback cb'
    connectSignalFunPtr obj "change-case" cb'' SignalConnectAfter


-- signal View::change-number
type ViewChangeNumberCallback =
    Int32 ->
    IO ()

noViewChangeNumberCallback :: Maybe ViewChangeNumberCallback
noViewChangeNumberCallback = Nothing

type C_ViewChangeNumberCallback =
    Ptr () ->                               -- object
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewChangeNumberCallback :: C_ViewChangeNumberCallback -> IO (FunPtr C_ViewChangeNumberCallback)

genClosure_ViewChangeNumber :: ViewChangeNumberCallback -> IO Closure
genClosure_ViewChangeNumber cb = do
    let cb' = wrap_ViewChangeNumberCallback cb
    mk_ViewChangeNumberCallback cb' >>= newCClosure


wrap_ViewChangeNumberCallback ::
    ViewChangeNumberCallback ->
    Ptr () ->
    Int32 ->
    Ptr () ->
    IO ()
wrap_ViewChangeNumberCallback _cb _ count _ = do
    _cb  count


onViewChangeNumber :: (IsView a, MonadIO m) => a -> ViewChangeNumberCallback -> m SignalHandlerId
onViewChangeNumber obj cb = liftIO $ do
    let cb' = wrap_ViewChangeNumberCallback cb
    cb'' <- mk_ViewChangeNumberCallback cb'
    connectSignalFunPtr obj "change-number" cb'' SignalConnectBefore

afterViewChangeNumber :: (IsView a, MonadIO m) => a -> ViewChangeNumberCallback -> m SignalHandlerId
afterViewChangeNumber obj cb = liftIO $ do
    let cb' = wrap_ViewChangeNumberCallback cb
    cb'' <- mk_ViewChangeNumberCallback cb'
    connectSignalFunPtr obj "change-number" cb'' SignalConnectAfter


-- signal View::join-lines
type ViewJoinLinesCallback =
    IO ()

noViewJoinLinesCallback :: Maybe ViewJoinLinesCallback
noViewJoinLinesCallback = Nothing

type C_ViewJoinLinesCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewJoinLinesCallback :: C_ViewJoinLinesCallback -> IO (FunPtr C_ViewJoinLinesCallback)

genClosure_ViewJoinLines :: ViewJoinLinesCallback -> IO Closure
genClosure_ViewJoinLines cb = do
    let cb' = wrap_ViewJoinLinesCallback cb
    mk_ViewJoinLinesCallback cb' >>= newCClosure


wrap_ViewJoinLinesCallback ::
    ViewJoinLinesCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_ViewJoinLinesCallback _cb _ _ = do
    _cb 


onViewJoinLines :: (IsView a, MonadIO m) => a -> ViewJoinLinesCallback -> m SignalHandlerId
onViewJoinLines obj cb = liftIO $ do
    let cb' = wrap_ViewJoinLinesCallback cb
    cb'' <- mk_ViewJoinLinesCallback cb'
    connectSignalFunPtr obj "join-lines" cb'' SignalConnectBefore

afterViewJoinLines :: (IsView a, MonadIO m) => a -> ViewJoinLinesCallback -> m SignalHandlerId
afterViewJoinLines obj cb = liftIO $ do
    let cb' = wrap_ViewJoinLinesCallback cb
    cb'' <- mk_ViewJoinLinesCallback cb'
    connectSignalFunPtr obj "join-lines" cb'' SignalConnectAfter


-- signal View::line-mark-activated
type ViewLineMarkActivatedCallback =
    Gtk.TextIter.TextIter ->
    Gdk.Event.Event ->
    IO ()

noViewLineMarkActivatedCallback :: Maybe ViewLineMarkActivatedCallback
noViewLineMarkActivatedCallback = Nothing

type C_ViewLineMarkActivatedCallback =
    Ptr () ->                               -- object
    Ptr Gtk.TextIter.TextIter ->
    Ptr Gdk.Event.Event ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewLineMarkActivatedCallback :: C_ViewLineMarkActivatedCallback -> IO (FunPtr C_ViewLineMarkActivatedCallback)

genClosure_ViewLineMarkActivated :: ViewLineMarkActivatedCallback -> IO Closure
genClosure_ViewLineMarkActivated cb = do
    let cb' = wrap_ViewLineMarkActivatedCallback cb
    mk_ViewLineMarkActivatedCallback cb' >>= newCClosure


wrap_ViewLineMarkActivatedCallback ::
    ViewLineMarkActivatedCallback ->
    Ptr () ->
    Ptr Gtk.TextIter.TextIter ->
    Ptr Gdk.Event.Event ->
    Ptr () ->
    IO ()
wrap_ViewLineMarkActivatedCallback _cb _ iter event _ = do
    B.ManagedPtr.withTransient Gtk.TextIter.TextIter iter $ \iter' -> do
        B.ManagedPtr.withTransient Gdk.Event.Event event $ \event' -> do
            _cb  iter' event'


onViewLineMarkActivated :: (IsView a, MonadIO m) => a -> ViewLineMarkActivatedCallback -> m SignalHandlerId
onViewLineMarkActivated obj cb = liftIO $ do
    let cb' = wrap_ViewLineMarkActivatedCallback cb
    cb'' <- mk_ViewLineMarkActivatedCallback cb'
    connectSignalFunPtr obj "line-mark-activated" cb'' SignalConnectBefore

afterViewLineMarkActivated :: (IsView a, MonadIO m) => a -> ViewLineMarkActivatedCallback -> m SignalHandlerId
afterViewLineMarkActivated obj cb = liftIO $ do
    let cb' = wrap_ViewLineMarkActivatedCallback cb
    cb'' <- mk_ViewLineMarkActivatedCallback cb'
    connectSignalFunPtr obj "line-mark-activated" cb'' SignalConnectAfter


-- signal View::move-lines
type ViewMoveLinesCallback =
    Bool ->
    Int32 ->
    IO ()

noViewMoveLinesCallback :: Maybe ViewMoveLinesCallback
noViewMoveLinesCallback = Nothing

type C_ViewMoveLinesCallback =
    Ptr () ->                               -- object
    CInt ->
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewMoveLinesCallback :: C_ViewMoveLinesCallback -> IO (FunPtr C_ViewMoveLinesCallback)

genClosure_ViewMoveLines :: ViewMoveLinesCallback -> IO Closure
genClosure_ViewMoveLines cb = do
    let cb' = wrap_ViewMoveLinesCallback cb
    mk_ViewMoveLinesCallback cb' >>= newCClosure


wrap_ViewMoveLinesCallback ::
    ViewMoveLinesCallback ->
    Ptr () ->
    CInt ->
    Int32 ->
    Ptr () ->
    IO ()
wrap_ViewMoveLinesCallback _cb _ copy count _ = do
    let copy' = (/= 0) copy
    _cb  copy' count


onViewMoveLines :: (IsView a, MonadIO m) => a -> ViewMoveLinesCallback -> m SignalHandlerId
onViewMoveLines obj cb = liftIO $ do
    let cb' = wrap_ViewMoveLinesCallback cb
    cb'' <- mk_ViewMoveLinesCallback cb'
    connectSignalFunPtr obj "move-lines" cb'' SignalConnectBefore

afterViewMoveLines :: (IsView a, MonadIO m) => a -> ViewMoveLinesCallback -> m SignalHandlerId
afterViewMoveLines obj cb = liftIO $ do
    let cb' = wrap_ViewMoveLinesCallback cb
    cb'' <- mk_ViewMoveLinesCallback cb'
    connectSignalFunPtr obj "move-lines" cb'' SignalConnectAfter


-- signal View::move-to-matching-bracket
type ViewMoveToMatchingBracketCallback =
    Bool ->
    IO ()

noViewMoveToMatchingBracketCallback :: Maybe ViewMoveToMatchingBracketCallback
noViewMoveToMatchingBracketCallback = Nothing

type C_ViewMoveToMatchingBracketCallback =
    Ptr () ->                               -- object
    CInt ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewMoveToMatchingBracketCallback :: C_ViewMoveToMatchingBracketCallback -> IO (FunPtr C_ViewMoveToMatchingBracketCallback)

genClosure_ViewMoveToMatchingBracket :: ViewMoveToMatchingBracketCallback -> IO Closure
genClosure_ViewMoveToMatchingBracket cb = do
    let cb' = wrap_ViewMoveToMatchingBracketCallback cb
    mk_ViewMoveToMatchingBracketCallback cb' >>= newCClosure


wrap_ViewMoveToMatchingBracketCallback ::
    ViewMoveToMatchingBracketCallback ->
    Ptr () ->
    CInt ->
    Ptr () ->
    IO ()
wrap_ViewMoveToMatchingBracketCallback _cb _ extendSelection _ = do
    let extendSelection' = (/= 0) extendSelection
    _cb  extendSelection'


onViewMoveToMatchingBracket :: (IsView a, MonadIO m) => a -> ViewMoveToMatchingBracketCallback -> m SignalHandlerId
onViewMoveToMatchingBracket obj cb = liftIO $ do
    let cb' = wrap_ViewMoveToMatchingBracketCallback cb
    cb'' <- mk_ViewMoveToMatchingBracketCallback cb'
    connectSignalFunPtr obj "move-to-matching-bracket" cb'' SignalConnectBefore

afterViewMoveToMatchingBracket :: (IsView a, MonadIO m) => a -> ViewMoveToMatchingBracketCallback -> m SignalHandlerId
afterViewMoveToMatchingBracket obj cb = liftIO $ do
    let cb' = wrap_ViewMoveToMatchingBracketCallback cb
    cb'' <- mk_ViewMoveToMatchingBracketCallback cb'
    connectSignalFunPtr obj "move-to-matching-bracket" cb'' SignalConnectAfter


-- signal View::move-words
type ViewMoveWordsCallback =
    Int32 ->
    IO ()

noViewMoveWordsCallback :: Maybe ViewMoveWordsCallback
noViewMoveWordsCallback = Nothing

type C_ViewMoveWordsCallback =
    Ptr () ->                               -- object
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewMoveWordsCallback :: C_ViewMoveWordsCallback -> IO (FunPtr C_ViewMoveWordsCallback)

genClosure_ViewMoveWords :: ViewMoveWordsCallback -> IO Closure
genClosure_ViewMoveWords cb = do
    let cb' = wrap_ViewMoveWordsCallback cb
    mk_ViewMoveWordsCallback cb' >>= newCClosure


wrap_ViewMoveWordsCallback ::
    ViewMoveWordsCallback ->
    Ptr () ->
    Int32 ->
    Ptr () ->
    IO ()
wrap_ViewMoveWordsCallback _cb _ count _ = do
    _cb  count


onViewMoveWords :: (IsView a, MonadIO m) => a -> ViewMoveWordsCallback -> m SignalHandlerId
onViewMoveWords obj cb = liftIO $ do
    let cb' = wrap_ViewMoveWordsCallback cb
    cb'' <- mk_ViewMoveWordsCallback cb'
    connectSignalFunPtr obj "move-words" cb'' SignalConnectBefore

afterViewMoveWords :: (IsView a, MonadIO m) => a -> ViewMoveWordsCallback -> m SignalHandlerId
afterViewMoveWords obj cb = liftIO $ do
    let cb' = wrap_ViewMoveWordsCallback cb
    cb'' <- mk_ViewMoveWordsCallback cb'
    connectSignalFunPtr obj "move-words" cb'' SignalConnectAfter


-- signal View::redo
type ViewRedoCallback =
    IO ()

noViewRedoCallback :: Maybe ViewRedoCallback
noViewRedoCallback = Nothing

type C_ViewRedoCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewRedoCallback :: C_ViewRedoCallback -> IO (FunPtr C_ViewRedoCallback)

genClosure_ViewRedo :: ViewRedoCallback -> IO Closure
genClosure_ViewRedo cb = do
    let cb' = wrap_ViewRedoCallback cb
    mk_ViewRedoCallback cb' >>= newCClosure


wrap_ViewRedoCallback ::
    ViewRedoCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_ViewRedoCallback _cb _ _ = do
    _cb 


onViewRedo :: (IsView a, MonadIO m) => a -> ViewRedoCallback -> m SignalHandlerId
onViewRedo obj cb = liftIO $ do
    let cb' = wrap_ViewRedoCallback cb
    cb'' <- mk_ViewRedoCallback cb'
    connectSignalFunPtr obj "redo" cb'' SignalConnectBefore

afterViewRedo :: (IsView a, MonadIO m) => a -> ViewRedoCallback -> m SignalHandlerId
afterViewRedo obj cb = liftIO $ do
    let cb' = wrap_ViewRedoCallback cb
    cb'' <- mk_ViewRedoCallback cb'
    connectSignalFunPtr obj "redo" cb'' SignalConnectAfter


-- signal View::show-completion
type ViewShowCompletionCallback =
    IO ()

noViewShowCompletionCallback :: Maybe ViewShowCompletionCallback
noViewShowCompletionCallback = Nothing

type C_ViewShowCompletionCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewShowCompletionCallback :: C_ViewShowCompletionCallback -> IO (FunPtr C_ViewShowCompletionCallback)

genClosure_ViewShowCompletion :: ViewShowCompletionCallback -> IO Closure
genClosure_ViewShowCompletion cb = do
    let cb' = wrap_ViewShowCompletionCallback cb
    mk_ViewShowCompletionCallback cb' >>= newCClosure


wrap_ViewShowCompletionCallback ::
    ViewShowCompletionCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_ViewShowCompletionCallback _cb _ _ = do
    _cb 


onViewShowCompletion :: (IsView a, MonadIO m) => a -> ViewShowCompletionCallback -> m SignalHandlerId
onViewShowCompletion obj cb = liftIO $ do
    let cb' = wrap_ViewShowCompletionCallback cb
    cb'' <- mk_ViewShowCompletionCallback cb'
    connectSignalFunPtr obj "show-completion" cb'' SignalConnectBefore

afterViewShowCompletion :: (IsView a, MonadIO m) => a -> ViewShowCompletionCallback -> m SignalHandlerId
afterViewShowCompletion obj cb = liftIO $ do
    let cb' = wrap_ViewShowCompletionCallback cb
    cb'' <- mk_ViewShowCompletionCallback cb'
    connectSignalFunPtr obj "show-completion" cb'' SignalConnectAfter


-- signal View::smart-home-end
type ViewSmartHomeEndCallback =
    Gtk.TextIter.TextIter ->
    Int32 ->
    IO ()

noViewSmartHomeEndCallback :: Maybe ViewSmartHomeEndCallback
noViewSmartHomeEndCallback = Nothing

type C_ViewSmartHomeEndCallback =
    Ptr () ->                               -- object
    Ptr Gtk.TextIter.TextIter ->
    Int32 ->
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewSmartHomeEndCallback :: C_ViewSmartHomeEndCallback -> IO (FunPtr C_ViewSmartHomeEndCallback)

genClosure_ViewSmartHomeEnd :: ViewSmartHomeEndCallback -> IO Closure
genClosure_ViewSmartHomeEnd cb = do
    let cb' = wrap_ViewSmartHomeEndCallback cb
    mk_ViewSmartHomeEndCallback cb' >>= newCClosure


wrap_ViewSmartHomeEndCallback ::
    ViewSmartHomeEndCallback ->
    Ptr () ->
    Ptr Gtk.TextIter.TextIter ->
    Int32 ->
    Ptr () ->
    IO ()
wrap_ViewSmartHomeEndCallback _cb _ iter count _ = do
    B.ManagedPtr.withTransient Gtk.TextIter.TextIter iter $ \iter' -> do
        _cb  iter' count


onViewSmartHomeEnd :: (IsView a, MonadIO m) => a -> ViewSmartHomeEndCallback -> m SignalHandlerId
onViewSmartHomeEnd obj cb = liftIO $ do
    let cb' = wrap_ViewSmartHomeEndCallback cb
    cb'' <- mk_ViewSmartHomeEndCallback cb'
    connectSignalFunPtr obj "smart-home-end" cb'' SignalConnectBefore

afterViewSmartHomeEnd :: (IsView a, MonadIO m) => a -> ViewSmartHomeEndCallback -> m SignalHandlerId
afterViewSmartHomeEnd obj cb = liftIO $ do
    let cb' = wrap_ViewSmartHomeEndCallback cb
    cb'' <- mk_ViewSmartHomeEndCallback cb'
    connectSignalFunPtr obj "smart-home-end" cb'' SignalConnectAfter


-- signal View::undo
type ViewUndoCallback =
    IO ()

noViewUndoCallback :: Maybe ViewUndoCallback
noViewUndoCallback = Nothing

type C_ViewUndoCallback =
    Ptr () ->                               -- object
    Ptr () ->                               -- user_data
    IO ()

foreign import ccall "wrapper"
    mk_ViewUndoCallback :: C_ViewUndoCallback -> IO (FunPtr C_ViewUndoCallback)

genClosure_ViewUndo :: ViewUndoCallback -> IO Closure
genClosure_ViewUndo cb = do
    let cb' = wrap_ViewUndoCallback cb
    mk_ViewUndoCallback cb' >>= newCClosure


wrap_ViewUndoCallback ::
    ViewUndoCallback ->
    Ptr () ->
    Ptr () ->
    IO ()
wrap_ViewUndoCallback _cb _ _ = do
    _cb 


onViewUndo :: (IsView a, MonadIO m) => a -> ViewUndoCallback -> m SignalHandlerId
onViewUndo obj cb = liftIO $ do
    let cb' = wrap_ViewUndoCallback cb
    cb'' <- mk_ViewUndoCallback cb'
    connectSignalFunPtr obj "undo" cb'' SignalConnectBefore

afterViewUndo :: (IsView a, MonadIO m) => a -> ViewUndoCallback -> m SignalHandlerId
afterViewUndo obj cb = liftIO $ do
    let cb' = wrap_ViewUndoCallback cb
    cb'' <- mk_ViewUndoCallback cb'
    connectSignalFunPtr obj "undo" cb'' SignalConnectAfter


-- VVV Prop "auto-indent"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewAutoIndent :: (MonadIO m, IsView o) => o -> m Bool
getViewAutoIndent obj = liftIO $ getObjectPropertyBool obj "auto-indent"

setViewAutoIndent :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewAutoIndent obj val = liftIO $ setObjectPropertyBool obj "auto-indent" val

constructViewAutoIndent :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewAutoIndent val = constructObjectPropertyBool "auto-indent" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewAutoIndentPropertyInfo
instance AttrInfo ViewAutoIndentPropertyInfo where
    type AttrAllowedOps ViewAutoIndentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewAutoIndentPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewAutoIndentPropertyInfo = IsView
    type AttrGetType ViewAutoIndentPropertyInfo = Bool
    type AttrLabel ViewAutoIndentPropertyInfo = "auto-indent"
    type AttrOrigin ViewAutoIndentPropertyInfo = View
    attrGet _ = getViewAutoIndent
    attrSet _ = setViewAutoIndent
    attrConstruct _ = constructViewAutoIndent
    attrClear _ = undefined
#endif

-- VVV Prop "background-pattern"
   -- Type: TInterface (Name {namespace = "GtkSource", name = "BackgroundPatternType"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewBackgroundPattern :: (MonadIO m, IsView o) => o -> m GtkSource.Enums.BackgroundPatternType
getViewBackgroundPattern obj = liftIO $ getObjectPropertyEnum obj "background-pattern"

setViewBackgroundPattern :: (MonadIO m, IsView o) => o -> GtkSource.Enums.BackgroundPatternType -> m ()
setViewBackgroundPattern obj val = liftIO $ setObjectPropertyEnum obj "background-pattern" val

constructViewBackgroundPattern :: (IsView o) => GtkSource.Enums.BackgroundPatternType -> IO (GValueConstruct o)
constructViewBackgroundPattern val = constructObjectPropertyEnum "background-pattern" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewBackgroundPatternPropertyInfo
instance AttrInfo ViewBackgroundPatternPropertyInfo where
    type AttrAllowedOps ViewBackgroundPatternPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewBackgroundPatternPropertyInfo = (~) GtkSource.Enums.BackgroundPatternType
    type AttrBaseTypeConstraint ViewBackgroundPatternPropertyInfo = IsView
    type AttrGetType ViewBackgroundPatternPropertyInfo = GtkSource.Enums.BackgroundPatternType
    type AttrLabel ViewBackgroundPatternPropertyInfo = "background-pattern"
    type AttrOrigin ViewBackgroundPatternPropertyInfo = View
    attrGet _ = getViewBackgroundPattern
    attrSet _ = setViewBackgroundPattern
    attrConstruct _ = constructViewBackgroundPattern
    attrClear _ = undefined
#endif

-- VVV Prop "completion"
   -- Type: TInterface (Name {namespace = "GtkSource", name = "Completion"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getViewCompletion :: (MonadIO m, IsView o) => o -> m GtkSource.Completion.Completion
getViewCompletion obj = liftIO $ checkUnexpectedNothing "getViewCompletion" $ getObjectPropertyObject obj "completion" GtkSource.Completion.Completion

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewCompletionPropertyInfo
instance AttrInfo ViewCompletionPropertyInfo where
    type AttrAllowedOps ViewCompletionPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ViewCompletionPropertyInfo = (~) ()
    type AttrBaseTypeConstraint ViewCompletionPropertyInfo = IsView
    type AttrGetType ViewCompletionPropertyInfo = GtkSource.Completion.Completion
    type AttrLabel ViewCompletionPropertyInfo = "completion"
    type AttrOrigin ViewCompletionPropertyInfo = View
    attrGet _ = getViewCompletion
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "draw-spaces"
   -- Type: TInterface (Name {namespace = "GtkSource", name = "DrawSpacesFlags"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewDrawSpaces :: (MonadIO m, IsView o) => o -> m [GtkSource.Flags.DrawSpacesFlags]
getViewDrawSpaces obj = liftIO $ getObjectPropertyFlags obj "draw-spaces"

setViewDrawSpaces :: (MonadIO m, IsView o) => o -> [GtkSource.Flags.DrawSpacesFlags] -> m ()
setViewDrawSpaces obj val = liftIO $ setObjectPropertyFlags obj "draw-spaces" val

constructViewDrawSpaces :: (IsView o) => [GtkSource.Flags.DrawSpacesFlags] -> IO (GValueConstruct o)
constructViewDrawSpaces val = constructObjectPropertyFlags "draw-spaces" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewDrawSpacesPropertyInfo
instance AttrInfo ViewDrawSpacesPropertyInfo where
    type AttrAllowedOps ViewDrawSpacesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewDrawSpacesPropertyInfo = (~) [GtkSource.Flags.DrawSpacesFlags]
    type AttrBaseTypeConstraint ViewDrawSpacesPropertyInfo = IsView
    type AttrGetType ViewDrawSpacesPropertyInfo = [GtkSource.Flags.DrawSpacesFlags]
    type AttrLabel ViewDrawSpacesPropertyInfo = "draw-spaces"
    type AttrOrigin ViewDrawSpacesPropertyInfo = View
    attrGet _ = getViewDrawSpaces
    attrSet _ = setViewDrawSpaces
    attrConstruct _ = constructViewDrawSpaces
    attrClear _ = undefined
#endif

-- VVV Prop "highlight-current-line"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewHighlightCurrentLine :: (MonadIO m, IsView o) => o -> m Bool
getViewHighlightCurrentLine obj = liftIO $ getObjectPropertyBool obj "highlight-current-line"

setViewHighlightCurrentLine :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewHighlightCurrentLine obj val = liftIO $ setObjectPropertyBool obj "highlight-current-line" val

constructViewHighlightCurrentLine :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewHighlightCurrentLine val = constructObjectPropertyBool "highlight-current-line" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewHighlightCurrentLinePropertyInfo
instance AttrInfo ViewHighlightCurrentLinePropertyInfo where
    type AttrAllowedOps ViewHighlightCurrentLinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewHighlightCurrentLinePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewHighlightCurrentLinePropertyInfo = IsView
    type AttrGetType ViewHighlightCurrentLinePropertyInfo = Bool
    type AttrLabel ViewHighlightCurrentLinePropertyInfo = "highlight-current-line"
    type AttrOrigin ViewHighlightCurrentLinePropertyInfo = View
    attrGet _ = getViewHighlightCurrentLine
    attrSet _ = setViewHighlightCurrentLine
    attrConstruct _ = constructViewHighlightCurrentLine
    attrClear _ = undefined
#endif

-- VVV Prop "indent-on-tab"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewIndentOnTab :: (MonadIO m, IsView o) => o -> m Bool
getViewIndentOnTab obj = liftIO $ getObjectPropertyBool obj "indent-on-tab"

setViewIndentOnTab :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewIndentOnTab obj val = liftIO $ setObjectPropertyBool obj "indent-on-tab" val

constructViewIndentOnTab :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewIndentOnTab val = constructObjectPropertyBool "indent-on-tab" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewIndentOnTabPropertyInfo
instance AttrInfo ViewIndentOnTabPropertyInfo where
    type AttrAllowedOps ViewIndentOnTabPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewIndentOnTabPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewIndentOnTabPropertyInfo = IsView
    type AttrGetType ViewIndentOnTabPropertyInfo = Bool
    type AttrLabel ViewIndentOnTabPropertyInfo = "indent-on-tab"
    type AttrOrigin ViewIndentOnTabPropertyInfo = View
    attrGet _ = getViewIndentOnTab
    attrSet _ = setViewIndentOnTab
    attrConstruct _ = constructViewIndentOnTab
    attrClear _ = undefined
#endif

-- VVV Prop "indent-width"
   -- Type: TBasicType TInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewIndentWidth :: (MonadIO m, IsView o) => o -> m Int32
getViewIndentWidth obj = liftIO $ getObjectPropertyInt32 obj "indent-width"

setViewIndentWidth :: (MonadIO m, IsView o) => o -> Int32 -> m ()
setViewIndentWidth obj val = liftIO $ setObjectPropertyInt32 obj "indent-width" val

constructViewIndentWidth :: (IsView o) => Int32 -> IO (GValueConstruct o)
constructViewIndentWidth val = constructObjectPropertyInt32 "indent-width" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewIndentWidthPropertyInfo
instance AttrInfo ViewIndentWidthPropertyInfo where
    type AttrAllowedOps ViewIndentWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewIndentWidthPropertyInfo = (~) Int32
    type AttrBaseTypeConstraint ViewIndentWidthPropertyInfo = IsView
    type AttrGetType ViewIndentWidthPropertyInfo = Int32
    type AttrLabel ViewIndentWidthPropertyInfo = "indent-width"
    type AttrOrigin ViewIndentWidthPropertyInfo = View
    attrGet _ = getViewIndentWidth
    attrSet _ = setViewIndentWidth
    attrConstruct _ = constructViewIndentWidth
    attrClear _ = undefined
#endif

-- VVV Prop "insert-spaces-instead-of-tabs"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewInsertSpacesInsteadOfTabs :: (MonadIO m, IsView o) => o -> m Bool
getViewInsertSpacesInsteadOfTabs obj = liftIO $ getObjectPropertyBool obj "insert-spaces-instead-of-tabs"

setViewInsertSpacesInsteadOfTabs :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewInsertSpacesInsteadOfTabs obj val = liftIO $ setObjectPropertyBool obj "insert-spaces-instead-of-tabs" val

constructViewInsertSpacesInsteadOfTabs :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewInsertSpacesInsteadOfTabs val = constructObjectPropertyBool "insert-spaces-instead-of-tabs" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewInsertSpacesInsteadOfTabsPropertyInfo
instance AttrInfo ViewInsertSpacesInsteadOfTabsPropertyInfo where
    type AttrAllowedOps ViewInsertSpacesInsteadOfTabsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewInsertSpacesInsteadOfTabsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewInsertSpacesInsteadOfTabsPropertyInfo = IsView
    type AttrGetType ViewInsertSpacesInsteadOfTabsPropertyInfo = Bool
    type AttrLabel ViewInsertSpacesInsteadOfTabsPropertyInfo = "insert-spaces-instead-of-tabs"
    type AttrOrigin ViewInsertSpacesInsteadOfTabsPropertyInfo = View
    attrGet _ = getViewInsertSpacesInsteadOfTabs
    attrSet _ = setViewInsertSpacesInsteadOfTabs
    attrConstruct _ = constructViewInsertSpacesInsteadOfTabs
    attrClear _ = undefined
#endif

-- VVV Prop "right-margin-position"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewRightMarginPosition :: (MonadIO m, IsView o) => o -> m Word32
getViewRightMarginPosition obj = liftIO $ getObjectPropertyUInt32 obj "right-margin-position"

setViewRightMarginPosition :: (MonadIO m, IsView o) => o -> Word32 -> m ()
setViewRightMarginPosition obj val = liftIO $ setObjectPropertyUInt32 obj "right-margin-position" val

constructViewRightMarginPosition :: (IsView o) => Word32 -> IO (GValueConstruct o)
constructViewRightMarginPosition val = constructObjectPropertyUInt32 "right-margin-position" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewRightMarginPositionPropertyInfo
instance AttrInfo ViewRightMarginPositionPropertyInfo where
    type AttrAllowedOps ViewRightMarginPositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewRightMarginPositionPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint ViewRightMarginPositionPropertyInfo = IsView
    type AttrGetType ViewRightMarginPositionPropertyInfo = Word32
    type AttrLabel ViewRightMarginPositionPropertyInfo = "right-margin-position"
    type AttrOrigin ViewRightMarginPositionPropertyInfo = View
    attrGet _ = getViewRightMarginPosition
    attrSet _ = setViewRightMarginPosition
    attrConstruct _ = constructViewRightMarginPosition
    attrClear _ = undefined
#endif

-- VVV Prop "show-line-marks"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewShowLineMarks :: (MonadIO m, IsView o) => o -> m Bool
getViewShowLineMarks obj = liftIO $ getObjectPropertyBool obj "show-line-marks"

setViewShowLineMarks :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewShowLineMarks obj val = liftIO $ setObjectPropertyBool obj "show-line-marks" val

constructViewShowLineMarks :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewShowLineMarks val = constructObjectPropertyBool "show-line-marks" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewShowLineMarksPropertyInfo
instance AttrInfo ViewShowLineMarksPropertyInfo where
    type AttrAllowedOps ViewShowLineMarksPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewShowLineMarksPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewShowLineMarksPropertyInfo = IsView
    type AttrGetType ViewShowLineMarksPropertyInfo = Bool
    type AttrLabel ViewShowLineMarksPropertyInfo = "show-line-marks"
    type AttrOrigin ViewShowLineMarksPropertyInfo = View
    attrGet _ = getViewShowLineMarks
    attrSet _ = setViewShowLineMarks
    attrConstruct _ = constructViewShowLineMarks
    attrClear _ = undefined
#endif

-- VVV Prop "show-line-numbers"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewShowLineNumbers :: (MonadIO m, IsView o) => o -> m Bool
getViewShowLineNumbers obj = liftIO $ getObjectPropertyBool obj "show-line-numbers"

setViewShowLineNumbers :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewShowLineNumbers obj val = liftIO $ setObjectPropertyBool obj "show-line-numbers" val

constructViewShowLineNumbers :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewShowLineNumbers val = constructObjectPropertyBool "show-line-numbers" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewShowLineNumbersPropertyInfo
instance AttrInfo ViewShowLineNumbersPropertyInfo where
    type AttrAllowedOps ViewShowLineNumbersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewShowLineNumbersPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewShowLineNumbersPropertyInfo = IsView
    type AttrGetType ViewShowLineNumbersPropertyInfo = Bool
    type AttrLabel ViewShowLineNumbersPropertyInfo = "show-line-numbers"
    type AttrOrigin ViewShowLineNumbersPropertyInfo = View
    attrGet _ = getViewShowLineNumbers
    attrSet _ = setViewShowLineNumbers
    attrConstruct _ = constructViewShowLineNumbers
    attrClear _ = undefined
#endif

-- VVV Prop "show-right-margin"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewShowRightMargin :: (MonadIO m, IsView o) => o -> m Bool
getViewShowRightMargin obj = liftIO $ getObjectPropertyBool obj "show-right-margin"

setViewShowRightMargin :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewShowRightMargin obj val = liftIO $ setObjectPropertyBool obj "show-right-margin" val

constructViewShowRightMargin :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewShowRightMargin val = constructObjectPropertyBool "show-right-margin" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewShowRightMarginPropertyInfo
instance AttrInfo ViewShowRightMarginPropertyInfo where
    type AttrAllowedOps ViewShowRightMarginPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewShowRightMarginPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewShowRightMarginPropertyInfo = IsView
    type AttrGetType ViewShowRightMarginPropertyInfo = Bool
    type AttrLabel ViewShowRightMarginPropertyInfo = "show-right-margin"
    type AttrOrigin ViewShowRightMarginPropertyInfo = View
    attrGet _ = getViewShowRightMargin
    attrSet _ = setViewShowRightMargin
    attrConstruct _ = constructViewShowRightMargin
    attrClear _ = undefined
#endif

-- VVV Prop "smart-backspace"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewSmartBackspace :: (MonadIO m, IsView o) => o -> m Bool
getViewSmartBackspace obj = liftIO $ getObjectPropertyBool obj "smart-backspace"

setViewSmartBackspace :: (MonadIO m, IsView o) => o -> Bool -> m ()
setViewSmartBackspace obj val = liftIO $ setObjectPropertyBool obj "smart-backspace" val

constructViewSmartBackspace :: (IsView o) => Bool -> IO (GValueConstruct o)
constructViewSmartBackspace val = constructObjectPropertyBool "smart-backspace" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSmartBackspacePropertyInfo
instance AttrInfo ViewSmartBackspacePropertyInfo where
    type AttrAllowedOps ViewSmartBackspacePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewSmartBackspacePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint ViewSmartBackspacePropertyInfo = IsView
    type AttrGetType ViewSmartBackspacePropertyInfo = Bool
    type AttrLabel ViewSmartBackspacePropertyInfo = "smart-backspace"
    type AttrOrigin ViewSmartBackspacePropertyInfo = View
    attrGet _ = getViewSmartBackspace
    attrSet _ = setViewSmartBackspace
    attrConstruct _ = constructViewSmartBackspace
    attrClear _ = undefined
#endif

-- VVV Prop "smart-home-end"
   -- Type: TInterface (Name {namespace = "GtkSource", name = "SmartHomeEndType"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewSmartHomeEnd :: (MonadIO m, IsView o) => o -> m GtkSource.Enums.SmartHomeEndType
getViewSmartHomeEnd obj = liftIO $ getObjectPropertyEnum obj "smart-home-end"

setViewSmartHomeEnd :: (MonadIO m, IsView o) => o -> GtkSource.Enums.SmartHomeEndType -> m ()
setViewSmartHomeEnd obj val = liftIO $ setObjectPropertyEnum obj "smart-home-end" val

constructViewSmartHomeEnd :: (IsView o) => GtkSource.Enums.SmartHomeEndType -> IO (GValueConstruct o)
constructViewSmartHomeEnd val = constructObjectPropertyEnum "smart-home-end" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSmartHomeEndPropertyInfo
instance AttrInfo ViewSmartHomeEndPropertyInfo where
    type AttrAllowedOps ViewSmartHomeEndPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewSmartHomeEndPropertyInfo = (~) GtkSource.Enums.SmartHomeEndType
    type AttrBaseTypeConstraint ViewSmartHomeEndPropertyInfo = IsView
    type AttrGetType ViewSmartHomeEndPropertyInfo = GtkSource.Enums.SmartHomeEndType
    type AttrLabel ViewSmartHomeEndPropertyInfo = "smart-home-end"
    type AttrOrigin ViewSmartHomeEndPropertyInfo = View
    attrGet _ = getViewSmartHomeEnd
    attrSet _ = setViewSmartHomeEnd
    attrConstruct _ = constructViewSmartHomeEnd
    attrClear _ = undefined
#endif

-- VVV Prop "space-drawer"
   -- Type: TInterface (Name {namespace = "GtkSource", name = "SpaceDrawer"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getViewSpaceDrawer :: (MonadIO m, IsView o) => o -> m GtkSource.SpaceDrawer.SpaceDrawer
getViewSpaceDrawer obj = liftIO $ checkUnexpectedNothing "getViewSpaceDrawer" $ getObjectPropertyObject obj "space-drawer" GtkSource.SpaceDrawer.SpaceDrawer

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSpaceDrawerPropertyInfo
instance AttrInfo ViewSpaceDrawerPropertyInfo where
    type AttrAllowedOps ViewSpaceDrawerPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint ViewSpaceDrawerPropertyInfo = (~) ()
    type AttrBaseTypeConstraint ViewSpaceDrawerPropertyInfo = IsView
    type AttrGetType ViewSpaceDrawerPropertyInfo = GtkSource.SpaceDrawer.SpaceDrawer
    type AttrLabel ViewSpaceDrawerPropertyInfo = "space-drawer"
    type AttrOrigin ViewSpaceDrawerPropertyInfo = View
    attrGet _ = getViewSpaceDrawer
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

-- VVV Prop "tab-width"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just False)

getViewTabWidth :: (MonadIO m, IsView o) => o -> m Word32
getViewTabWidth obj = liftIO $ getObjectPropertyUInt32 obj "tab-width"

setViewTabWidth :: (MonadIO m, IsView o) => o -> Word32 -> m ()
setViewTabWidth obj val = liftIO $ setObjectPropertyUInt32 obj "tab-width" val

constructViewTabWidth :: (IsView o) => Word32 -> IO (GValueConstruct o)
constructViewTabWidth val = constructObjectPropertyUInt32 "tab-width" val

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewTabWidthPropertyInfo
instance AttrInfo ViewTabWidthPropertyInfo where
    type AttrAllowedOps ViewTabWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint ViewTabWidthPropertyInfo = (~) Word32
    type AttrBaseTypeConstraint ViewTabWidthPropertyInfo = IsView
    type AttrGetType ViewTabWidthPropertyInfo = Word32
    type AttrLabel ViewTabWidthPropertyInfo = "tab-width"
    type AttrOrigin ViewTabWidthPropertyInfo = View
    attrGet _ = getViewTabWidth
    attrSet _ = setViewTabWidth
    attrConstruct _ = constructViewTabWidth
    attrClear _ = undefined
#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList View
type instance O.AttributeList View = ViewAttributeList
type ViewAttributeList = ('[ '("acceptsTab", Gtk.TextView.TextViewAcceptsTabPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("autoIndent", ViewAutoIndentPropertyInfo), '("backgroundPattern", ViewBackgroundPatternPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("bottomMargin", Gtk.TextView.TextViewBottomMarginPropertyInfo), '("buffer", Gtk.TextView.TextViewBufferPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("completion", ViewCompletionPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("cursorVisible", Gtk.TextView.TextViewCursorVisiblePropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("drawSpaces", ViewDrawSpacesPropertyInfo), '("editable", Gtk.TextView.TextViewEditablePropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("hadjustment", Gtk.Scrollable.ScrollableHadjustmentPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("highlightCurrentLine", ViewHighlightCurrentLinePropertyInfo), '("hscrollPolicy", Gtk.Scrollable.ScrollableHscrollPolicyPropertyInfo), '("imModule", Gtk.TextView.TextViewImModulePropertyInfo), '("indent", Gtk.TextView.TextViewIndentPropertyInfo), '("indentOnTab", ViewIndentOnTabPropertyInfo), '("indentWidth", ViewIndentWidthPropertyInfo), '("inputHints", Gtk.TextView.TextViewInputHintsPropertyInfo), '("inputPurpose", Gtk.TextView.TextViewInputPurposePropertyInfo), '("insertSpacesInsteadOfTabs", ViewInsertSpacesInsteadOfTabsPropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("justification", Gtk.TextView.TextViewJustificationPropertyInfo), '("leftMargin", Gtk.TextView.TextViewLeftMarginPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("monospace", Gtk.TextView.TextViewMonospacePropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("overwrite", Gtk.TextView.TextViewOverwritePropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("pixelsAboveLines", Gtk.TextView.TextViewPixelsAboveLinesPropertyInfo), '("pixelsBelowLines", Gtk.TextView.TextViewPixelsBelowLinesPropertyInfo), '("pixelsInsideWrap", Gtk.TextView.TextViewPixelsInsideWrapPropertyInfo), '("populateAll", Gtk.TextView.TextViewPopulateAllPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("rightMargin", Gtk.TextView.TextViewRightMarginPropertyInfo), '("rightMarginPosition", ViewRightMarginPositionPropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("showLineMarks", ViewShowLineMarksPropertyInfo), '("showLineNumbers", ViewShowLineNumbersPropertyInfo), '("showRightMargin", ViewShowRightMarginPropertyInfo), '("smartBackspace", ViewSmartBackspacePropertyInfo), '("smartHomeEnd", ViewSmartHomeEndPropertyInfo), '("spaceDrawer", ViewSpaceDrawerPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("tabWidth", ViewTabWidthPropertyInfo), '("tabs", Gtk.TextView.TextViewTabsPropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("topMargin", Gtk.TextView.TextViewTopMarginPropertyInfo), '("vadjustment", Gtk.Scrollable.ScrollableVadjustmentPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("vscrollPolicy", Gtk.Scrollable.ScrollableVscrollPolicyPropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("wrapMode", Gtk.TextView.TextViewWrapModePropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
viewAutoIndent :: AttrLabelProxy "autoIndent"
viewAutoIndent = AttrLabelProxy

viewBackgroundPattern :: AttrLabelProxy "backgroundPattern"
viewBackgroundPattern = AttrLabelProxy

viewCompletion :: AttrLabelProxy "completion"
viewCompletion = AttrLabelProxy

viewDrawSpaces :: AttrLabelProxy "drawSpaces"
viewDrawSpaces = AttrLabelProxy

viewHighlightCurrentLine :: AttrLabelProxy "highlightCurrentLine"
viewHighlightCurrentLine = AttrLabelProxy

viewIndentOnTab :: AttrLabelProxy "indentOnTab"
viewIndentOnTab = AttrLabelProxy

viewIndentWidth :: AttrLabelProxy "indentWidth"
viewIndentWidth = AttrLabelProxy

viewInsertSpacesInsteadOfTabs :: AttrLabelProxy "insertSpacesInsteadOfTabs"
viewInsertSpacesInsteadOfTabs = AttrLabelProxy

viewRightMarginPosition :: AttrLabelProxy "rightMarginPosition"
viewRightMarginPosition = AttrLabelProxy

viewShowLineMarks :: AttrLabelProxy "showLineMarks"
viewShowLineMarks = AttrLabelProxy

viewShowLineNumbers :: AttrLabelProxy "showLineNumbers"
viewShowLineNumbers = AttrLabelProxy

viewShowRightMargin :: AttrLabelProxy "showRightMargin"
viewShowRightMargin = AttrLabelProxy

viewSmartBackspace :: AttrLabelProxy "smartBackspace"
viewSmartBackspace = AttrLabelProxy

viewSmartHomeEnd :: AttrLabelProxy "smartHomeEnd"
viewSmartHomeEnd = AttrLabelProxy

viewSpaceDrawer :: AttrLabelProxy "spaceDrawer"
viewSpaceDrawer = AttrLabelProxy

viewTabWidth :: AttrLabelProxy "tabWidth"
viewTabWidth = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewChangeCaseSignalInfo
instance SignalInfo ViewChangeCaseSignalInfo where
    type HaskellCallbackType ViewChangeCaseSignalInfo = ViewChangeCaseCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewChangeCaseCallback cb
        cb'' <- mk_ViewChangeCaseCallback cb'
        connectSignalFunPtr obj "change-case" cb'' connectMode

data ViewChangeNumberSignalInfo
instance SignalInfo ViewChangeNumberSignalInfo where
    type HaskellCallbackType ViewChangeNumberSignalInfo = ViewChangeNumberCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewChangeNumberCallback cb
        cb'' <- mk_ViewChangeNumberCallback cb'
        connectSignalFunPtr obj "change-number" cb'' connectMode

data ViewJoinLinesSignalInfo
instance SignalInfo ViewJoinLinesSignalInfo where
    type HaskellCallbackType ViewJoinLinesSignalInfo = ViewJoinLinesCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewJoinLinesCallback cb
        cb'' <- mk_ViewJoinLinesCallback cb'
        connectSignalFunPtr obj "join-lines" cb'' connectMode

data ViewLineMarkActivatedSignalInfo
instance SignalInfo ViewLineMarkActivatedSignalInfo where
    type HaskellCallbackType ViewLineMarkActivatedSignalInfo = ViewLineMarkActivatedCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewLineMarkActivatedCallback cb
        cb'' <- mk_ViewLineMarkActivatedCallback cb'
        connectSignalFunPtr obj "line-mark-activated" cb'' connectMode

data ViewMoveLinesSignalInfo
instance SignalInfo ViewMoveLinesSignalInfo where
    type HaskellCallbackType ViewMoveLinesSignalInfo = ViewMoveLinesCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewMoveLinesCallback cb
        cb'' <- mk_ViewMoveLinesCallback cb'
        connectSignalFunPtr obj "move-lines" cb'' connectMode

data ViewMoveToMatchingBracketSignalInfo
instance SignalInfo ViewMoveToMatchingBracketSignalInfo where
    type HaskellCallbackType ViewMoveToMatchingBracketSignalInfo = ViewMoveToMatchingBracketCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewMoveToMatchingBracketCallback cb
        cb'' <- mk_ViewMoveToMatchingBracketCallback cb'
        connectSignalFunPtr obj "move-to-matching-bracket" cb'' connectMode

data ViewMoveWordsSignalInfo
instance SignalInfo ViewMoveWordsSignalInfo where
    type HaskellCallbackType ViewMoveWordsSignalInfo = ViewMoveWordsCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewMoveWordsCallback cb
        cb'' <- mk_ViewMoveWordsCallback cb'
        connectSignalFunPtr obj "move-words" cb'' connectMode

data ViewRedoSignalInfo
instance SignalInfo ViewRedoSignalInfo where
    type HaskellCallbackType ViewRedoSignalInfo = ViewRedoCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewRedoCallback cb
        cb'' <- mk_ViewRedoCallback cb'
        connectSignalFunPtr obj "redo" cb'' connectMode

data ViewShowCompletionSignalInfo
instance SignalInfo ViewShowCompletionSignalInfo where
    type HaskellCallbackType ViewShowCompletionSignalInfo = ViewShowCompletionCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewShowCompletionCallback cb
        cb'' <- mk_ViewShowCompletionCallback cb'
        connectSignalFunPtr obj "show-completion" cb'' connectMode

data ViewSmartHomeEndSignalInfo
instance SignalInfo ViewSmartHomeEndSignalInfo where
    type HaskellCallbackType ViewSmartHomeEndSignalInfo = ViewSmartHomeEndCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewSmartHomeEndCallback cb
        cb'' <- mk_ViewSmartHomeEndCallback cb'
        connectSignalFunPtr obj "smart-home-end" cb'' connectMode

data ViewUndoSignalInfo
instance SignalInfo ViewUndoSignalInfo where
    type HaskellCallbackType ViewUndoSignalInfo = ViewUndoCallback
    connectSignal _ obj cb connectMode = do
        let cb' = wrap_ViewUndoCallback cb
        cb'' <- mk_ViewUndoCallback cb'
        connectSignalFunPtr obj "undo" cb'' connectMode

type instance O.SignalList View = ViewSignalList
type ViewSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("backspace", Gtk.TextView.TextViewBackspaceSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("changeCase", ViewChangeCaseSignalInfo), '("changeNumber", ViewChangeNumberSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("copyClipboard", Gtk.TextView.TextViewCopyClipboardSignalInfo), '("cutClipboard", Gtk.TextView.TextViewCutClipboardSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("deleteFromCursor", Gtk.TextView.TextViewDeleteFromCursorSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("extendSelection", Gtk.TextView.TextViewExtendSelectionSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("insertAtCursor", Gtk.TextView.TextViewInsertAtCursorSignalInfo), '("joinLines", ViewJoinLinesSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("lineMarkActivated", ViewLineMarkActivatedSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveCursor", Gtk.TextView.TextViewMoveCursorSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("moveLines", ViewMoveLinesSignalInfo), '("moveToMatchingBracket", ViewMoveToMatchingBracketSignalInfo), '("moveViewport", Gtk.TextView.TextViewMoveViewportSignalInfo), '("moveWords", ViewMoveWordsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("pasteClipboard", Gtk.TextView.TextViewPasteClipboardSignalInfo), '("populatePopup", Gtk.TextView.TextViewPopulatePopupSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("preeditChanged", Gtk.TextView.TextViewPreeditChangedSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("redo", ViewRedoSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectAll", Gtk.TextView.TextViewSelectAllSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setAnchor", Gtk.TextView.TextViewSetAnchorSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showCompletion", ViewShowCompletionSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("smartHomeEnd", ViewSmartHomeEndSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("toggleCursorVisible", Gtk.TextView.TextViewToggleCursorVisibleSignalInfo), '("toggleOverwrite", Gtk.TextView.TextViewToggleOverwriteSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("undo", ViewUndoSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, *)])

#endif

-- method View::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "View"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_new" gtk_source_view_new :: 
    IO (Ptr View)

{- |
Creates a new 'GI.GtkSource.Objects.View.View'.

By default, an empty 'GI.GtkSource.Objects.Buffer.Buffer' will be lazily created and can be
retrieved with 'GI.Gtk.Objects.TextView.textViewGetBuffer'.

If you want to specify your own buffer, either override the
'GI.Gtk.Structs.TextViewClass.TextViewClass' create_buffer factory method, or use
'GI.GtkSource.Objects.View.viewNewWithBuffer'.
-}
viewNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m View
    {- ^ __Returns:__ a new 'GI.GtkSource.Objects.View.View'. -}
viewNew  = liftIO $ do
    result <- gtk_source_view_new
    checkUnexpectedReturnNULL "viewNew" result
    result' <- (newObject View) result
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif

-- method View::new_with_buffer
-- method type : Constructor
-- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "GtkSource", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "View"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_new_with_buffer" gtk_source_view_new_with_buffer :: 
    Ptr GtkSource.Buffer.Buffer ->          -- buffer : TInterface (Name {namespace = "GtkSource", name = "Buffer"})
    IO (Ptr View)

{- |
Creates a new 'GI.GtkSource.Objects.View.View' widget displaying the buffer
/@buffer@/. One buffer can be shared among many widgets.
-}
viewNewWithBuffer ::
    (B.CallStack.HasCallStack, MonadIO m, GtkSource.Buffer.IsBuffer a) =>
    a
    {- ^ /@buffer@/: a 'GI.GtkSource.Objects.Buffer.Buffer'. -}
    -> m View
    {- ^ __Returns:__ a new 'GI.GtkSource.Objects.View.View'. -}
viewNewWithBuffer buffer = liftIO $ do
    buffer' <- unsafeManagedPtrCastPtr buffer
    result <- gtk_source_view_new_with_buffer buffer'
    checkUnexpectedReturnNULL "viewNewWithBuffer" result
    result' <- (newObject View) result
    touchManagedPtr buffer
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif

-- method View::get_auto_indent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_auto_indent" gtk_source_view_get_auto_indent :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether auto-indentation of text is enabled.
-}
viewGetAutoIndent ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if auto indentation is enabled. -}
viewGetAutoIndent view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_auto_indent view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetAutoIndentMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetAutoIndentMethodInfo a signature where
    overloadedMethod _ = viewGetAutoIndent

#endif

-- method View::get_background_pattern
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "BackgroundPatternType"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_background_pattern" gtk_source_view_get_background_pattern :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CUInt

{- |
Returns the 'GI.GtkSource.Enums.BackgroundPatternType' specifying if and how
the background pattern should be displayed for this /@view@/.

@since 3.16
-}
viewGetBackgroundPattern ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View' -}
    -> m GtkSource.Enums.BackgroundPatternType
    {- ^ __Returns:__ the 'GI.GtkSource.Enums.BackgroundPatternType'. -}
viewGetBackgroundPattern view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_background_pattern view'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetBackgroundPatternMethodInfo
instance (signature ~ (m GtkSource.Enums.BackgroundPatternType), MonadIO m, IsView a) => O.MethodInfo ViewGetBackgroundPatternMethodInfo a signature where
    overloadedMethod _ = viewGetBackgroundPattern

#endif

-- method View::get_completion
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "Completion"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_completion" gtk_source_view_get_completion :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO (Ptr GtkSource.Completion.Completion)

{- |
Gets the 'GI.GtkSource.Objects.Completion.Completion' associated with /@view@/. The returned object is
guaranteed to be the same for the lifetime of /@view@/. Each 'GI.GtkSource.Objects.View.View'
object has a different 'GI.GtkSource.Objects.Completion.Completion'.
-}
viewGetCompletion ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m GtkSource.Completion.Completion
    {- ^ __Returns:__ the 'GI.GtkSource.Objects.Completion.Completion' associated with /@view@/. -}
viewGetCompletion view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_completion view'
    checkUnexpectedReturnNULL "viewGetCompletion" result
    result' <- (newObject GtkSource.Completion.Completion) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetCompletionMethodInfo
instance (signature ~ (m GtkSource.Completion.Completion), MonadIO m, IsView a) => O.MethodInfo ViewGetCompletionMethodInfo a signature where
    overloadedMethod _ = viewGetCompletion

#endif

-- method View::get_draw_spaces
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "DrawSpacesFlags"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_draw_spaces" gtk_source_view_get_draw_spaces :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CUInt

{-# DEPRECATED viewGetDrawSpaces ["(Since version 3.24)","Use 'GI.GtkSource.Objects.SpaceDrawer.spaceDrawerGetTypesForLocations'","instead."] #-}
{- |
Returns the 'GI.GtkSource.Flags.DrawSpacesFlags' specifying if and how spaces
should be displayed for this /@view@/.
-}
viewGetDrawSpaces ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View' -}
    -> m [GtkSource.Flags.DrawSpacesFlags]
    {- ^ __Returns:__ the 'GI.GtkSource.Flags.DrawSpacesFlags', 0 if no spaces should be drawn. -}
viewGetDrawSpaces view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_draw_spaces view'
    let result' = wordToGFlags result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetDrawSpacesMethodInfo
instance (signature ~ (m [GtkSource.Flags.DrawSpacesFlags]), MonadIO m, IsView a) => O.MethodInfo ViewGetDrawSpacesMethodInfo a signature where
    overloadedMethod _ = viewGetDrawSpaces

#endif

-- method View::get_gutter
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "window_type", argType = TInterface (Name {namespace = "Gtk", name = "TextWindowType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gutter window type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "Gutter"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_gutter" gtk_source_view_get_gutter :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CUInt ->                                -- window_type : TInterface (Name {namespace = "Gtk", name = "TextWindowType"})
    IO (Ptr GtkSource.Gutter.Gutter)

{- |
Returns the 'GI.GtkSource.Objects.Gutter.Gutter' object associated with /@windowType@/ for /@view@/.
Only GTK_TEXT_WINDOW_LEFT and GTK_TEXT_WINDOW_RIGHT are supported,
respectively corresponding to the left and right gutter. The line numbers
and mark category icons are rendered in the left gutter.

@since 2.8
-}
viewGetGutter ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Gtk.Enums.TextWindowType
    {- ^ /@windowType@/: the gutter window type. -}
    -> m GtkSource.Gutter.Gutter
    {- ^ __Returns:__ the 'GI.GtkSource.Objects.Gutter.Gutter'. -}
viewGetGutter view windowType = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let windowType' = (fromIntegral . fromEnum) windowType
    result <- gtk_source_view_get_gutter view' windowType'
    checkUnexpectedReturnNULL "viewGetGutter" result
    result' <- (newObject GtkSource.Gutter.Gutter) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetGutterMethodInfo
instance (signature ~ (Gtk.Enums.TextWindowType -> m GtkSource.Gutter.Gutter), MonadIO m, IsView a) => O.MethodInfo ViewGetGutterMethodInfo a signature where
    overloadedMethod _ = viewGetGutter

#endif

-- method View::get_highlight_current_line
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_highlight_current_line" gtk_source_view_get_highlight_current_line :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether the current line is highlighted.
-}
viewGetHighlightCurrentLine ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the current line is highlighted. -}
viewGetHighlightCurrentLine view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_highlight_current_line view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetHighlightCurrentLineMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetHighlightCurrentLineMethodInfo a signature where
    overloadedMethod _ = viewGetHighlightCurrentLine

#endif

-- method View::get_indent_on_tab
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_indent_on_tab" gtk_source_view_get_indent_on_tab :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether when the tab key is pressed the current selection
should get indented instead of replaced with the \\t character.
-}
viewGetIndentOnTab ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the selection is indented when tab is pressed. -}
viewGetIndentOnTab view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_indent_on_tab view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetIndentOnTabMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetIndentOnTabMethodInfo a signature where
    overloadedMethod _ = viewGetIndentOnTab

#endif

-- method View::get_indent_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_indent_width" gtk_source_view_get_indent_width :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO Int32

{- |
Returns the number of spaces to use for each step of indent.
See 'GI.GtkSource.Objects.View.viewSetIndentWidth' for details.
-}
viewGetIndentWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Int32
    {- ^ __Returns:__ indent width. -}
viewGetIndentWidth view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_indent_width view'
    touchManagedPtr view
    return result

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetIndentWidthMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsView a) => O.MethodInfo ViewGetIndentWidthMethodInfo a signature where
    overloadedMethod _ = viewGetIndentWidth

#endif

-- method View::get_insert_spaces_instead_of_tabs
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_insert_spaces_instead_of_tabs" gtk_source_view_get_insert_spaces_instead_of_tabs :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether when inserting a tabulator character it should
be replaced by a group of space characters.
-}
viewGetInsertSpacesInsteadOfTabs ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if spaces are inserted instead of tabs. -}
viewGetInsertSpacesInsteadOfTabs view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_insert_spaces_instead_of_tabs view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetInsertSpacesInsteadOfTabsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetInsertSpacesInsteadOfTabsMethodInfo a signature where
    overloadedMethod _ = viewGetInsertSpacesInsteadOfTabs

#endif

-- method View::get_mark_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the category.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "place where priority of the category will be stored.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "MarkAttributes"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_mark_attributes" gtk_source_view_get_mark_attributes :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CString ->                              -- category : TBasicType TUTF8
    Int32 ->                                -- priority : TBasicType TInt
    IO (Ptr GtkSource.MarkAttributes.MarkAttributes)

{- |
Gets attributes and priority for the /@category@/.
-}
viewGetMarkAttributes ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> T.Text
    {- ^ /@category@/: the category. -}
    -> Int32
    {- ^ /@priority@/: place where priority of the category will be stored. -}
    -> m GtkSource.MarkAttributes.MarkAttributes
    {- ^ __Returns:__ 'GI.GtkSource.Objects.MarkAttributes.MarkAttributes' for the /@category@/.
The object belongs to /@view@/, so it must not be unreffed. -}
viewGetMarkAttributes view category priority = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    category' <- textToCString category
    result <- gtk_source_view_get_mark_attributes view' category' priority
    checkUnexpectedReturnNULL "viewGetMarkAttributes" result
    result' <- (newObject GtkSource.MarkAttributes.MarkAttributes) result
    touchManagedPtr view
    freeMem category'
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetMarkAttributesMethodInfo
instance (signature ~ (T.Text -> Int32 -> m GtkSource.MarkAttributes.MarkAttributes), MonadIO m, IsView a) => O.MethodInfo ViewGetMarkAttributesMethodInfo a signature where
    overloadedMethod _ = viewGetMarkAttributes

#endif

-- method View::get_right_margin_position
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_right_margin_position" gtk_source_view_get_right_margin_position :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO Word32

{- |
Gets the position of the right margin in the given /@view@/.
-}
viewGetRightMarginPosition ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Word32
    {- ^ __Returns:__ the position of the right margin. -}
viewGetRightMarginPosition view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_right_margin_position view'
    touchManagedPtr view
    return result

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetRightMarginPositionMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsView a) => O.MethodInfo ViewGetRightMarginPositionMethodInfo a signature where
    overloadedMethod _ = viewGetRightMarginPosition

#endif

-- method View::get_show_line_marks
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_show_line_marks" gtk_source_view_get_show_line_marks :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether line marks are displayed beside the text.

@since 2.2
-}
viewGetShowLineMarks ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the line marks are displayed. -}
viewGetShowLineMarks view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_show_line_marks view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetShowLineMarksMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetShowLineMarksMethodInfo a signature where
    overloadedMethod _ = viewGetShowLineMarks

#endif

-- method View::get_show_line_numbers
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_show_line_numbers" gtk_source_view_get_show_line_numbers :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether line numbers are displayed beside the text.
-}
viewGetShowLineNumbers ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the line numbers are displayed. -}
viewGetShowLineNumbers view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_show_line_numbers view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetShowLineNumbersMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetShowLineNumbersMethodInfo a signature where
    overloadedMethod _ = viewGetShowLineNumbers

#endif

-- method View::get_show_right_margin
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_show_right_margin" gtk_source_view_get_show_right_margin :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns whether a right margin is displayed.
-}
viewGetShowRightMargin ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if the right margin is shown. -}
viewGetShowRightMargin view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_show_right_margin view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetShowRightMarginMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetShowRightMarginMethodInfo a signature where
    overloadedMethod _ = viewGetShowRightMargin

#endif

-- method View::get_smart_backspace
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_smart_backspace" gtk_source_view_get_smart_backspace :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CInt

{- |
Returns 'True' if pressing the Backspace key will try to delete spaces
up to the previous tab stop.

@since 3.18
-}
viewGetSmartBackspace ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Bool
    {- ^ __Returns:__ 'True' if smart Backspace handling is enabled. -}
viewGetSmartBackspace view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_smart_backspace view'
    let result' = (/= 0) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetSmartBackspaceMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsView a) => O.MethodInfo ViewGetSmartBackspaceMethodInfo a signature where
    overloadedMethod _ = viewGetSmartBackspace

#endif

-- method View::get_smart_home_end
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "SmartHomeEndType"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_smart_home_end" gtk_source_view_get_smart_home_end :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO CUInt

{- |
Returns a 'GI.GtkSource.Enums.SmartHomeEndType' end value specifying
how the cursor will move when HOME and END keys are pressed.
-}
viewGetSmartHomeEnd ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m GtkSource.Enums.SmartHomeEndType
    {- ^ __Returns:__ a 'GI.GtkSource.Enums.SmartHomeEndType' value. -}
viewGetSmartHomeEnd view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_smart_home_end view'
    let result' = (toEnum . fromIntegral) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetSmartHomeEndMethodInfo
instance (signature ~ (m GtkSource.Enums.SmartHomeEndType), MonadIO m, IsView a) => O.MethodInfo ViewGetSmartHomeEndMethodInfo a signature where
    overloadedMethod _ = viewGetSmartHomeEnd

#endif

-- method View::get_space_drawer
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "SpaceDrawer"}))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_space_drawer" gtk_source_view_get_space_drawer :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO (Ptr GtkSource.SpaceDrawer.SpaceDrawer)

{- |
Gets the 'GI.GtkSource.Objects.SpaceDrawer.SpaceDrawer' associated with /@view@/. The returned object is
guaranteed to be the same for the lifetime of /@view@/. Each 'GI.GtkSource.Objects.View.View'
object has a different 'GI.GtkSource.Objects.SpaceDrawer.SpaceDrawer'.

@since 3.24
-}
viewGetSpaceDrawer ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m GtkSource.SpaceDrawer.SpaceDrawer
    {- ^ __Returns:__ the 'GI.GtkSource.Objects.SpaceDrawer.SpaceDrawer' associated with /@view@/. -}
viewGetSpaceDrawer view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_space_drawer view'
    checkUnexpectedReturnNULL "viewGetSpaceDrawer" result
    result' <- (newObject GtkSource.SpaceDrawer.SpaceDrawer) result
    touchManagedPtr view
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetSpaceDrawerMethodInfo
instance (signature ~ (m GtkSource.SpaceDrawer.SpaceDrawer), MonadIO m, IsView a) => O.MethodInfo ViewGetSpaceDrawerMethodInfo a signature where
    overloadedMethod _ = viewGetSpaceDrawer

#endif

-- method View::get_tab_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_tab_width" gtk_source_view_get_tab_width :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    IO Word32

{- |
Returns the width of tabulation in characters.
-}
viewGetTabWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> m Word32
    {- ^ __Returns:__ width of tab. -}
viewGetTabWidth view = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    result <- gtk_source_view_get_tab_width view'
    touchManagedPtr view
    return result

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetTabWidthMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsView a) => O.MethodInfo ViewGetTabWidthMethodInfo a signature where
    overloadedMethod _ = viewGetTabWidth

#endif

-- method View::get_visual_column
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @view.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_get_visual_column" gtk_source_view_get_visual_column :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    Ptr Gtk.TextIter.TextIter ->            -- iter : TInterface (Name {namespace = "Gtk", name = "TextIter"})
    IO Word32

{- |
Determines the visual column at /@iter@/ taking into consideration the
'GI.GtkSource.Objects.View.View':@/tab-width/@ of /@view@/.
-}
viewGetVisualColumn ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Gtk.TextIter.TextIter
    {- ^ /@iter@/: a position in /@view@/. -}
    -> m Word32
    {- ^ __Returns:__ the visual column at /@iter@/. -}
viewGetVisualColumn view iter = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    iter' <- unsafeManagedPtrGetPtr iter
    result <- gtk_source_view_get_visual_column view' iter'
    touchManagedPtr view
    touchManagedPtr iter
    return result

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewGetVisualColumnMethodInfo
instance (signature ~ (Gtk.TextIter.TextIter -> m Word32), MonadIO m, IsView a) => O.MethodInfo ViewGetVisualColumnMethodInfo a signature where
    overloadedMethod _ = viewGetVisualColumn

#endif

-- method View::indent_lines
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkTextIter of the first line to indent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkTextIter of the last line to indent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_indent_lines" gtk_source_view_indent_lines :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
    IO ()

{- |
Insert one indentation level at the beginning of the
specified lines.

@since 3.16
-}
viewIndentLines ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Gtk.TextIter.TextIter
    {- ^ /@start@/: 'GI.Gtk.Structs.TextIter.TextIter' of the first line to indent -}
    -> Gtk.TextIter.TextIter
    {- ^ /@end@/: 'GI.Gtk.Structs.TextIter.TextIter' of the last line to indent -}
    -> m ()
viewIndentLines view start end = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    start' <- unsafeManagedPtrGetPtr start
    end' <- unsafeManagedPtrGetPtr end
    gtk_source_view_indent_lines view' start' end'
    touchManagedPtr view
    touchManagedPtr start
    touchManagedPtr end
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewIndentLinesMethodInfo
instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewIndentLinesMethodInfo a signature where
    overloadedMethod _ = viewIndentLines

#endif

-- method View::set_auto_indent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to enable auto indentation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_auto_indent" gtk_source_view_set_auto_indent :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- enable : TBasicType TBoolean
    IO ()

{- |
If 'True' auto-indentation of text is enabled.

When Enter is pressed to create a new line, the auto-indentation inserts the
same indentation as the previous line. This is \<emphasis>not\<\/emphasis> a
\"smart indentation\" where an indentation level is added or removed depending
on the context.
-}
viewSetAutoIndent ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@enable@/: whether to enable auto indentation. -}
    -> m ()
viewSetAutoIndent view enable = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let enable' = (fromIntegral . fromEnum) enable
    gtk_source_view_set_auto_indent view' enable'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetAutoIndentMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetAutoIndentMethodInfo a signature where
    overloadedMethod _ = viewSetAutoIndent

#endif

-- method View::set_background_pattern
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "background_pattern", argType = TInterface (Name {namespace = "GtkSource", name = "BackgroundPatternType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GtkSourceBackgroundPatternType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_background_pattern" gtk_source_view_set_background_pattern :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CUInt ->                                -- background_pattern : TInterface (Name {namespace = "GtkSource", name = "BackgroundPatternType"})
    IO ()

{- |
Set if and how the background pattern should be displayed.

@since 3.16
-}
viewSetBackgroundPattern ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> GtkSource.Enums.BackgroundPatternType
    {- ^ /@backgroundPattern@/: the 'GI.GtkSource.Enums.BackgroundPatternType'. -}
    -> m ()
viewSetBackgroundPattern view backgroundPattern = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let backgroundPattern' = (fromIntegral . fromEnum) backgroundPattern
    gtk_source_view_set_background_pattern view' backgroundPattern'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetBackgroundPatternMethodInfo
instance (signature ~ (GtkSource.Enums.BackgroundPatternType -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetBackgroundPatternMethodInfo a signature where
    overloadedMethod _ = viewSetBackgroundPattern

#endif

-- method View::set_draw_spaces
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GtkSource", name = "DrawSpacesFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkSourceDrawSpacesFlags specifing how white spaces should\nbe displayed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_draw_spaces" gtk_source_view_set_draw_spaces :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CUInt ->                                -- flags : TInterface (Name {namespace = "GtkSource", name = "DrawSpacesFlags"})
    IO ()

{-# DEPRECATED viewSetDrawSpaces ["(Since version 3.24)","Use 'GI.GtkSource.Objects.SpaceDrawer.spaceDrawerSetTypesForLocations'","instead."] #-}
{- |
Set if and how the spaces should be visualized. Specifying /@flags@/ as 0 will
disable display of spaces.

For a finer-grained method, there is also the GtkSourceTag\'s
'GI.GtkSource.Objects.Tag.Tag':@/draw-spaces/@ property.
-}
viewSetDrawSpaces ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> [GtkSource.Flags.DrawSpacesFlags]
    {- ^ /@flags@/: 'GI.GtkSource.Flags.DrawSpacesFlags' specifing how white spaces should
be displayed -}
    -> m ()
viewSetDrawSpaces view flags = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let flags' = gflagsToWord flags
    gtk_source_view_set_draw_spaces view' flags'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetDrawSpacesMethodInfo
instance (signature ~ ([GtkSource.Flags.DrawSpacesFlags] -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetDrawSpacesMethodInfo a signature where
    overloadedMethod _ = viewSetDrawSpaces

#endif

-- method View::set_highlight_current_line
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "highlight", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to highlight the current line.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_highlight_current_line" gtk_source_view_set_highlight_current_line :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- highlight : TBasicType TBoolean
    IO ()

{- |
If /@highlight@/ is 'True' the current line will be highlighted.
-}
viewSetHighlightCurrentLine ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@highlight@/: whether to highlight the current line. -}
    -> m ()
viewSetHighlightCurrentLine view highlight = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let highlight' = (fromIntegral . fromEnum) highlight
    gtk_source_view_set_highlight_current_line view' highlight'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetHighlightCurrentLineMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetHighlightCurrentLineMethodInfo a signature where
    overloadedMethod _ = viewSetHighlightCurrentLine

#endif

-- method View::set_indent_on_tab
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to indent a block when tab is pressed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_indent_on_tab" gtk_source_view_set_indent_on_tab :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- enable : TBasicType TBoolean
    IO ()

{- |
If 'True', when the tab key is pressed when several lines are selected, the
selected lines are indented of one level instead of being replaced with a \\t
character. Shift+Tab unindents the selection.

If the first or last line is not selected completely, it is also indented or
unindented.

When the selection doesn\'t span several lines, the tab key always replaces
the selection with a normal \\t character.
-}
viewSetIndentOnTab ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@enable@/: whether to indent a block when tab is pressed. -}
    -> m ()
viewSetIndentOnTab view enable = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let enable' = (fromIntegral . fromEnum) enable
    gtk_source_view_set_indent_on_tab view' enable'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetIndentOnTabMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetIndentOnTabMethodInfo a signature where
    overloadedMethod _ = viewSetIndentOnTab

#endif

-- method View::set_indent_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "indent width in characters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_indent_width" gtk_source_view_set_indent_width :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    Int32 ->                                -- width : TBasicType TInt
    IO ()

{- |
Sets the number of spaces to use for each step of indent when the tab key is
pressed. If /@width@/ is -1, the value of the 'GI.GtkSource.Objects.View.View':@/tab-width/@ property
will be used.

The 'GI.GtkSource.Objects.View.View':@/indent-width/@ interacts with the
'GI.GtkSource.Objects.View.View':@/insert-spaces-instead-of-tabs/@ property and
'GI.GtkSource.Objects.View.View':@/tab-width/@. An example will be clearer: if the
'GI.GtkSource.Objects.View.View':@/indent-width/@ is 4 and
'GI.GtkSource.Objects.View.View':@/tab-width/@ is 8 and
'GI.GtkSource.Objects.View.View':@/insert-spaces-instead-of-tabs/@ is 'False', then pressing the tab
key at the beginning of a line will insert 4 spaces. So far so good. Pressing
the tab key a second time will remove the 4 spaces and insert a \\t character
instead (since 'GI.GtkSource.Objects.View.View':@/tab-width/@ is 8). On the other hand, if
'GI.GtkSource.Objects.View.View':@/insert-spaces-instead-of-tabs/@ is 'True', the second tab key
pressed will insert 4 more spaces for a total of 8 spaces in the
'GI.Gtk.Objects.TextBuffer.TextBuffer'.

The test-widget program (available in the GtkSourceView repository) may be
useful to better understand the indentation settings (enable the space
drawing!).
-}
viewSetIndentWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Int32
    {- ^ /@width@/: indent width in characters. -}
    -> m ()
viewSetIndentWidth view width = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    gtk_source_view_set_indent_width view' width
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetIndentWidthMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetIndentWidthMethodInfo a signature where
    overloadedMethod _ = viewSetIndentWidth

#endif

-- method View::set_insert_spaces_instead_of_tabs
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to insert spaces instead of tabs.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_insert_spaces_instead_of_tabs" gtk_source_view_set_insert_spaces_instead_of_tabs :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- enable : TBasicType TBoolean
    IO ()

{- |
If 'True' a tab key pressed is replaced by a group of space characters. Of
course it is still possible to insert a real \\t programmatically with the
'GI.Gtk.Objects.TextBuffer.TextBuffer' API.
-}
viewSetInsertSpacesInsteadOfTabs ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@enable@/: whether to insert spaces instead of tabs. -}
    -> m ()
viewSetInsertSpacesInsteadOfTabs view enable = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let enable' = (fromIntegral . fromEnum) enable
    gtk_source_view_set_insert_spaces_instead_of_tabs view' enable'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetInsertSpacesInsteadOfTabsMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetInsertSpacesInsteadOfTabsMethodInfo a signature where
    overloadedMethod _ = viewSetInsertSpacesInsteadOfTabs

#endif

-- method View::set_mark_attributes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the category.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", argType = TInterface (Name {namespace = "GtkSource", name = "MarkAttributes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mark attributes.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "priority of the category.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_mark_attributes" gtk_source_view_set_mark_attributes :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CString ->                              -- category : TBasicType TUTF8
    Ptr GtkSource.MarkAttributes.MarkAttributes -> -- attributes : TInterface (Name {namespace = "GtkSource", name = "MarkAttributes"})
    Int32 ->                                -- priority : TBasicType TInt
    IO ()

{- |
Sets attributes and priority for the /@category@/.
-}
viewSetMarkAttributes ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a, GtkSource.MarkAttributes.IsMarkAttributes b) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> T.Text
    {- ^ /@category@/: the category. -}
    -> b
    {- ^ /@attributes@/: mark attributes. -}
    -> Int32
    {- ^ /@priority@/: priority of the category. -}
    -> m ()
viewSetMarkAttributes view category attributes priority = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    category' <- textToCString category
    attributes' <- unsafeManagedPtrCastPtr attributes
    gtk_source_view_set_mark_attributes view' category' attributes' priority
    touchManagedPtr view
    touchManagedPtr attributes
    freeMem category'
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetMarkAttributesMethodInfo
instance (signature ~ (T.Text -> b -> Int32 -> m ()), MonadIO m, IsView a, GtkSource.MarkAttributes.IsMarkAttributes b) => O.MethodInfo ViewSetMarkAttributesMethodInfo a signature where
    overloadedMethod _ = viewSetMarkAttributes

#endif

-- method View::set_right_margin_position
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the width in characters where to position the right margin.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_right_margin_position" gtk_source_view_set_right_margin_position :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    Word32 ->                               -- pos : TBasicType TUInt
    IO ()

{- |
Sets the position of the right margin in the given /@view@/.
-}
viewSetRightMarginPosition ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Word32
    {- ^ /@pos@/: the width in characters where to position the right margin. -}
    -> m ()
viewSetRightMarginPosition view pos = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    gtk_source_view_set_right_margin_position view' pos
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetRightMarginPositionMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetRightMarginPositionMethodInfo a signature where
    overloadedMethod _ = viewSetRightMarginPosition

#endif

-- method View::set_show_line_marks
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether line marks should be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_show_line_marks" gtk_source_view_set_show_line_marks :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- show : TBasicType TBoolean
    IO ()

{- |
If 'True' line marks will be displayed beside the text.

@since 2.2
-}
viewSetShowLineMarks ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@show@/: whether line marks should be displayed. -}
    -> m ()
viewSetShowLineMarks view show_ = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let show_' = (fromIntegral . fromEnum) show_
    gtk_source_view_set_show_line_marks view' show_'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetShowLineMarksMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetShowLineMarksMethodInfo a signature where
    overloadedMethod _ = viewSetShowLineMarks

#endif

-- method View::set_show_line_numbers
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether line numbers should be displayed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_show_line_numbers" gtk_source_view_set_show_line_numbers :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- show : TBasicType TBoolean
    IO ()

{- |
If 'True' line numbers will be displayed beside the text.
-}
viewSetShowLineNumbers ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@show@/: whether line numbers should be displayed. -}
    -> m ()
viewSetShowLineNumbers view show_ = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let show_' = (fromIntegral . fromEnum) show_
    gtk_source_view_set_show_line_numbers view' show_'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetShowLineNumbersMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetShowLineNumbersMethodInfo a signature where
    overloadedMethod _ = viewSetShowLineNumbers

#endif

-- method View::set_show_right_margin
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to show a right margin.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_show_right_margin" gtk_source_view_set_show_right_margin :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- show : TBasicType TBoolean
    IO ()

{- |
If 'True' a right margin is displayed.
-}
viewSetShowRightMargin ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@show@/: whether to show a right margin. -}
    -> m ()
viewSetShowRightMargin view show_ = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let show_' = (fromIntegral . fromEnum) show_
    gtk_source_view_set_show_right_margin view' show_'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetShowRightMarginMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetShowRightMarginMethodInfo a signature where
    overloadedMethod _ = viewSetShowRightMargin

#endif

-- method View::set_smart_backspace
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "smart_backspace", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to enable smart Backspace handling.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_smart_backspace" gtk_source_view_set_smart_backspace :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CInt ->                                 -- smart_backspace : TBasicType TBoolean
    IO ()

{- |
When set to 'True', pressing the Backspace key will try to delete spaces
up to the previous tab stop.

@since 3.18
-}
viewSetSmartBackspace ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Bool
    {- ^ /@smartBackspace@/: whether to enable smart Backspace handling. -}
    -> m ()
viewSetSmartBackspace view smartBackspace = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let smartBackspace' = (fromIntegral . fromEnum) smartBackspace
    gtk_source_view_set_smart_backspace view' smartBackspace'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetSmartBackspaceMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetSmartBackspaceMethodInfo a signature where
    overloadedMethod _ = viewSetSmartBackspace

#endif

-- method View::set_smart_home_end
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "smart_home_end", argType = TInterface (Name {namespace = "GtkSource", name = "SmartHomeEndType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired behavior among #GtkSourceSmartHomeEndType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_smart_home_end" gtk_source_view_set_smart_home_end :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    CUInt ->                                -- smart_home_end : TInterface (Name {namespace = "GtkSource", name = "SmartHomeEndType"})
    IO ()

{- |
Set the desired movement of the cursor when HOME and END keys
are pressed.
-}
viewSetSmartHomeEnd ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> GtkSource.Enums.SmartHomeEndType
    {- ^ /@smartHomeEnd@/: the desired behavior among 'GI.GtkSource.Enums.SmartHomeEndType'. -}
    -> m ()
viewSetSmartHomeEnd view smartHomeEnd = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    let smartHomeEnd' = (fromIntegral . fromEnum) smartHomeEnd
    gtk_source_view_set_smart_home_end view' smartHomeEnd'
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetSmartHomeEndMethodInfo
instance (signature ~ (GtkSource.Enums.SmartHomeEndType -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetSmartHomeEndMethodInfo a signature where
    overloadedMethod _ = viewSetSmartHomeEnd

#endif

-- method View::set_tab_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "width", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "width of tab in characters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_set_tab_width" gtk_source_view_set_tab_width :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    Word32 ->                               -- width : TBasicType TUInt
    IO ()

{- |
Sets the width of tabulation in characters. The 'GI.Gtk.Objects.TextBuffer.TextBuffer' still contains
\\t characters, but they can take a different visual width in a 'GI.GtkSource.Objects.View.View'
widget.
-}
viewSetTabWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Word32
    {- ^ /@width@/: width of tab in characters. -}
    -> m ()
viewSetTabWidth view width = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    gtk_source_view_set_tab_width view' width
    touchManagedPtr view
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewSetTabWidthMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewSetTabWidthMethodInfo a signature where
    overloadedMethod _ = viewSetTabWidth

#endif

-- method View::unindent_lines
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "view", argType = TInterface (Name {namespace = "GtkSource", name = "View"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceView.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkTextIter of the first line to indent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkTextIter of the last line to indent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_view_unindent_lines" gtk_source_view_unindent_lines :: 
    Ptr View ->                             -- view : TInterface (Name {namespace = "GtkSource", name = "View"})
    Ptr Gtk.TextIter.TextIter ->            -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"})
    Ptr Gtk.TextIter.TextIter ->            -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"})
    IO ()

{- |
Removes one indentation level at the beginning of the
specified lines.

@since 3.16
-}
viewUnindentLines ::
    (B.CallStack.HasCallStack, MonadIO m, IsView a) =>
    a
    {- ^ /@view@/: a 'GI.GtkSource.Objects.View.View'. -}
    -> Gtk.TextIter.TextIter
    {- ^ /@start@/: 'GI.Gtk.Structs.TextIter.TextIter' of the first line to indent -}
    -> Gtk.TextIter.TextIter
    {- ^ /@end@/: 'GI.Gtk.Structs.TextIter.TextIter' of the last line to indent -}
    -> m ()
viewUnindentLines view start end = liftIO $ do
    view' <- unsafeManagedPtrCastPtr view
    start' <- unsafeManagedPtrGetPtr start
    end' <- unsafeManagedPtrGetPtr end
    gtk_source_view_unindent_lines view' start' end'
    touchManagedPtr view
    touchManagedPtr start
    touchManagedPtr end
    return ()

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ViewUnindentLinesMethodInfo
instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsView a) => O.MethodInfo ViewUnindentLinesMethodInfo a signature where
    overloadedMethod _ = viewUnindentLines

#endif