{- | 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.Gtk.Objects.CellRendererCombo ( -- * Exported types CellRendererCombo(..) , CellRendererComboK , toCellRendererCombo , noCellRendererCombo , -- * Methods -- ** cellRendererComboNew cellRendererComboNew , -- * Properties -- ** HasEntry CellRendererComboHasEntryPropertyInfo , constructCellRendererComboHasEntry , getCellRendererComboHasEntry , setCellRendererComboHasEntry , -- ** Model CellRendererComboModelPropertyInfo , constructCellRendererComboModel , getCellRendererComboModel , setCellRendererComboModel , -- ** TextColumn CellRendererComboTextColumnPropertyInfo , constructCellRendererComboTextColumn , getCellRendererComboTextColumn , setCellRendererComboTextColumn , -- * Signals -- ** Changed CellRendererComboChangedCallback , CellRendererComboChangedCallbackC , CellRendererComboChangedSignalInfo , afterCellRendererComboChanged , cellRendererComboChangedCallbackWrapper , cellRendererComboChangedClosure , mkCellRendererComboChangedCallback , noCellRendererComboChangedCallback , onCellRendererComboChanged , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import GI.Gtk.Types import GI.Gtk.Callbacks import qualified GI.GObject as GObject newtype CellRendererCombo = CellRendererCombo (ForeignPtr CellRendererCombo) foreign import ccall "gtk_cell_renderer_combo_get_type" c_gtk_cell_renderer_combo_get_type :: IO GType type instance ParentTypes CellRendererCombo = CellRendererComboParentTypes type CellRendererComboParentTypes = '[CellRendererText, CellRenderer, GObject.Object] instance GObject CellRendererCombo where gobjectIsInitiallyUnowned _ = True gobjectType _ = c_gtk_cell_renderer_combo_get_type class GObject o => CellRendererComboK o instance (GObject o, IsDescendantOf CellRendererCombo o) => CellRendererComboK o toCellRendererCombo :: CellRendererComboK o => o -> IO CellRendererCombo toCellRendererCombo = unsafeCastTo CellRendererCombo noCellRendererCombo :: Maybe CellRendererCombo noCellRendererCombo = Nothing -- signal CellRendererCombo::changed type CellRendererComboChangedCallback = T.Text -> TreeIter -> IO () noCellRendererComboChangedCallback :: Maybe CellRendererComboChangedCallback noCellRendererComboChangedCallback = Nothing type CellRendererComboChangedCallbackC = Ptr () -> -- object CString -> Ptr TreeIter -> Ptr () -> -- user_data IO () foreign import ccall "wrapper" mkCellRendererComboChangedCallback :: CellRendererComboChangedCallbackC -> IO (FunPtr CellRendererComboChangedCallbackC) cellRendererComboChangedClosure :: CellRendererComboChangedCallback -> IO Closure cellRendererComboChangedClosure cb = newCClosure =<< mkCellRendererComboChangedCallback wrapped where wrapped = cellRendererComboChangedCallbackWrapper cb cellRendererComboChangedCallbackWrapper :: CellRendererComboChangedCallback -> Ptr () -> CString -> Ptr TreeIter -> Ptr () -> IO () cellRendererComboChangedCallbackWrapper _cb _ path_string new_iter _ = do path_string' <- cstringToText path_string new_iter' <- (newBoxed TreeIter) new_iter _cb path_string' new_iter' onCellRendererComboChanged :: (GObject a, MonadIO m) => a -> CellRendererComboChangedCallback -> m SignalHandlerId onCellRendererComboChanged obj cb = liftIO $ connectCellRendererComboChanged obj cb SignalConnectBefore afterCellRendererComboChanged :: (GObject a, MonadIO m) => a -> CellRendererComboChangedCallback -> m SignalHandlerId afterCellRendererComboChanged obj cb = connectCellRendererComboChanged obj cb SignalConnectAfter connectCellRendererComboChanged :: (GObject a, MonadIO m) => a -> CellRendererComboChangedCallback -> SignalConnectMode -> m SignalHandlerId connectCellRendererComboChanged obj cb after = liftIO $ do cb' <- mkCellRendererComboChangedCallback (cellRendererComboChangedCallbackWrapper cb) connectSignalFunPtr obj "changed" cb' after -- VVV Prop "has-entry" -- Type: TBasicType TBoolean -- Flags: [PropertyReadable,PropertyWritable] getCellRendererComboHasEntry :: (MonadIO m, CellRendererComboK o) => o -> m Bool getCellRendererComboHasEntry obj = liftIO $ getObjectPropertyBool obj "has-entry" setCellRendererComboHasEntry :: (MonadIO m, CellRendererComboK o) => o -> Bool -> m () setCellRendererComboHasEntry obj val = liftIO $ setObjectPropertyBool obj "has-entry" val constructCellRendererComboHasEntry :: Bool -> IO ([Char], GValue) constructCellRendererComboHasEntry val = constructObjectPropertyBool "has-entry" val data CellRendererComboHasEntryPropertyInfo instance AttrInfo CellRendererComboHasEntryPropertyInfo where type AttrAllowedOps CellRendererComboHasEntryPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint CellRendererComboHasEntryPropertyInfo = (~) Bool type AttrBaseTypeConstraint CellRendererComboHasEntryPropertyInfo = CellRendererComboK type AttrGetType CellRendererComboHasEntryPropertyInfo = Bool type AttrLabel CellRendererComboHasEntryPropertyInfo = "CellRendererCombo::has-entry" attrGet _ = getCellRendererComboHasEntry attrSet _ = setCellRendererComboHasEntry attrConstruct _ = constructCellRendererComboHasEntry -- VVV Prop "model" -- Type: TInterface "Gtk" "TreeModel" -- Flags: [PropertyReadable,PropertyWritable] getCellRendererComboModel :: (MonadIO m, CellRendererComboK o) => o -> m TreeModel getCellRendererComboModel obj = liftIO $ getObjectPropertyObject obj "model" TreeModel setCellRendererComboModel :: (MonadIO m, CellRendererComboK o, TreeModelK a) => o -> a -> m () setCellRendererComboModel obj val = liftIO $ setObjectPropertyObject obj "model" val constructCellRendererComboModel :: (TreeModelK a) => a -> IO ([Char], GValue) constructCellRendererComboModel val = constructObjectPropertyObject "model" val data CellRendererComboModelPropertyInfo instance AttrInfo CellRendererComboModelPropertyInfo where type AttrAllowedOps CellRendererComboModelPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint CellRendererComboModelPropertyInfo = TreeModelK type AttrBaseTypeConstraint CellRendererComboModelPropertyInfo = CellRendererComboK type AttrGetType CellRendererComboModelPropertyInfo = TreeModel type AttrLabel CellRendererComboModelPropertyInfo = "CellRendererCombo::model" attrGet _ = getCellRendererComboModel attrSet _ = setCellRendererComboModel attrConstruct _ = constructCellRendererComboModel -- VVV Prop "text-column" -- Type: TBasicType TInt32 -- Flags: [PropertyReadable,PropertyWritable] getCellRendererComboTextColumn :: (MonadIO m, CellRendererComboK o) => o -> m Int32 getCellRendererComboTextColumn obj = liftIO $ getObjectPropertyCInt obj "text-column" setCellRendererComboTextColumn :: (MonadIO m, CellRendererComboK o) => o -> Int32 -> m () setCellRendererComboTextColumn obj val = liftIO $ setObjectPropertyCInt obj "text-column" val constructCellRendererComboTextColumn :: Int32 -> IO ([Char], GValue) constructCellRendererComboTextColumn val = constructObjectPropertyCInt "text-column" val data CellRendererComboTextColumnPropertyInfo instance AttrInfo CellRendererComboTextColumnPropertyInfo where type AttrAllowedOps CellRendererComboTextColumnPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint CellRendererComboTextColumnPropertyInfo = (~) Int32 type AttrBaseTypeConstraint CellRendererComboTextColumnPropertyInfo = CellRendererComboK type AttrGetType CellRendererComboTextColumnPropertyInfo = Int32 type AttrLabel CellRendererComboTextColumnPropertyInfo = "CellRendererCombo::text-column" attrGet _ = getCellRendererComboTextColumn attrSet _ = setCellRendererComboTextColumn attrConstruct _ = constructCellRendererComboTextColumn type instance AttributeList CellRendererCombo = CellRendererComboAttributeList type CellRendererComboAttributeList = ('[ '("align-set", CellRendererTextAlignSetPropertyInfo), '("alignment", CellRendererTextAlignmentPropertyInfo), '("attributes", CellRendererTextAttributesPropertyInfo), '("background", CellRendererTextBackgroundPropertyInfo), '("background-gdk", CellRendererTextBackgroundGdkPropertyInfo), '("background-rgba", CellRendererTextBackgroundRgbaPropertyInfo), '("background-set", CellRendererTextBackgroundSetPropertyInfo), '("cell-background", CellRendererCellBackgroundPropertyInfo), '("cell-background-gdk", CellRendererCellBackgroundGdkPropertyInfo), '("cell-background-rgba", CellRendererCellBackgroundRgbaPropertyInfo), '("cell-background-set", CellRendererCellBackgroundSetPropertyInfo), '("editable", CellRendererTextEditablePropertyInfo), '("editable-set", CellRendererTextEditableSetPropertyInfo), '("editing", CellRendererEditingPropertyInfo), '("ellipsize", CellRendererTextEllipsizePropertyInfo), '("ellipsize-set", CellRendererTextEllipsizeSetPropertyInfo), '("family", CellRendererTextFamilyPropertyInfo), '("family-set", CellRendererTextFamilySetPropertyInfo), '("font", CellRendererTextFontPropertyInfo), '("font-desc", CellRendererTextFontDescPropertyInfo), '("foreground", CellRendererTextForegroundPropertyInfo), '("foreground-gdk", CellRendererTextForegroundGdkPropertyInfo), '("foreground-rgba", CellRendererTextForegroundRgbaPropertyInfo), '("foreground-set", CellRendererTextForegroundSetPropertyInfo), '("has-entry", CellRendererComboHasEntryPropertyInfo), '("height", CellRendererHeightPropertyInfo), '("is-expanded", CellRendererIsExpandedPropertyInfo), '("is-expander", CellRendererIsExpanderPropertyInfo), '("language", CellRendererTextLanguagePropertyInfo), '("language-set", CellRendererTextLanguageSetPropertyInfo), '("markup", CellRendererTextMarkupPropertyInfo), '("max-width-chars", CellRendererTextMaxWidthCharsPropertyInfo), '("mode", CellRendererModePropertyInfo), '("model", CellRendererComboModelPropertyInfo), '("placeholder-text", CellRendererTextPlaceholderTextPropertyInfo), '("rise", CellRendererTextRisePropertyInfo), '("rise-set", CellRendererTextRiseSetPropertyInfo), '("scale", CellRendererTextScalePropertyInfo), '("scale-set", CellRendererTextScaleSetPropertyInfo), '("sensitive", CellRendererSensitivePropertyInfo), '("single-paragraph-mode", CellRendererTextSingleParagraphModePropertyInfo), '("size", CellRendererTextSizePropertyInfo), '("size-points", CellRendererTextSizePointsPropertyInfo), '("size-set", CellRendererTextSizeSetPropertyInfo), '("stretch", CellRendererTextStretchPropertyInfo), '("stretch-set", CellRendererTextStretchSetPropertyInfo), '("strikethrough", CellRendererTextStrikethroughPropertyInfo), '("strikethrough-set", CellRendererTextStrikethroughSetPropertyInfo), '("style", CellRendererTextStylePropertyInfo), '("style-set", CellRendererTextStyleSetPropertyInfo), '("text", CellRendererTextTextPropertyInfo), '("text-column", CellRendererComboTextColumnPropertyInfo), '("underline", CellRendererTextUnderlinePropertyInfo), '("underline-set", CellRendererTextUnderlineSetPropertyInfo), '("variant", CellRendererTextVariantPropertyInfo), '("variant-set", CellRendererTextVariantSetPropertyInfo), '("visible", CellRendererVisiblePropertyInfo), '("weight", CellRendererTextWeightPropertyInfo), '("weight-set", CellRendererTextWeightSetPropertyInfo), '("width", CellRendererWidthPropertyInfo), '("width-chars", CellRendererTextWidthCharsPropertyInfo), '("wrap-mode", CellRendererTextWrapModePropertyInfo), '("wrap-width", CellRendererTextWrapWidthPropertyInfo), '("xalign", CellRendererXalignPropertyInfo), '("xpad", CellRendererXpadPropertyInfo), '("yalign", CellRendererYalignPropertyInfo), '("ypad", CellRendererYpadPropertyInfo)] :: [(Symbol, *)]) data CellRendererComboChangedSignalInfo instance SignalInfo CellRendererComboChangedSignalInfo where type HaskellCallbackType CellRendererComboChangedSignalInfo = CellRendererComboChangedCallback connectSignal _ = connectCellRendererComboChanged type instance SignalList CellRendererCombo = CellRendererComboSignalList type CellRendererComboSignalList = ('[ '("changed", CellRendererComboChangedSignalInfo), '("edited", CellRendererTextEditedSignalInfo), '("editing-canceled", CellRendererEditingCanceledSignalInfo), '("editing-started", CellRendererEditingStartedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method CellRendererCombo::new -- method type : Constructor -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TInterface "Gtk" "CellRendererCombo" -- throws : False -- Skip return : False foreign import ccall "gtk_cell_renderer_combo_new" gtk_cell_renderer_combo_new :: IO (Ptr CellRendererCombo) cellRendererComboNew :: (MonadIO m) => m CellRendererCombo cellRendererComboNew = liftIO $ do result <- gtk_cell_renderer_combo_new checkUnexpectedReturnNULL "gtk_cell_renderer_combo_new" result result' <- (newObject CellRendererCombo) result return result'