{-# LINE 2 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
module Graphics.UI.Gtk.Entry.EntryCompletion (
EntryCompletion,
EntryCompletionClass,
castToEntryCompletion, gTypeEntryCompletion,
toEntryCompletion,
entryCompletionNew,
entryCompletionGetEntry,
entryCompletionSetModel,
entryCompletionGetModel,
entryCompletionSetTextModel,
entryCompletionSetMatchFunc,
entryCompletionSetMinimumKeyLength,
entryCompletionGetMinimumKeyLength,
entryCompletionComplete,
entryCompletionInsertActionText,
entryCompletionInsertActionMarkup,
entryCompletionDeleteAction,
entryCompletionSetTextColumn,
entryCompletionInsertPrefix,
entryCompletionGetTextColumn,
entryCompletionSetInlineCompletion,
entryCompletionGetInlineCompletion,
entryCompletionSetPopupCompletion,
entryCompletionGetPopupCompletion,
entryCompletionSetPopupSetWidth,
entryCompletionGetPopupSetWidth,
entryCompletionSetPopupSingleMatch,
entryCompletionGetPopupSingleMatch,
entryCompletionModel,
entryCompletionMinimumKeyLength,
entryCompletionTextColumn,
entryCompletionInlineCompletion,
entryCompletionPopupCompletion,
entryCompletionPopupSetWidth,
entryCompletionPopupSingleMatch,
insertPrefix,
completionActionActivated,
matchSelected,
onInsertPrefix,
afterInsertPrefix,
onActionActivated,
afterActionActivated,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 146 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
import Graphics.UI.Gtk.Signals
{-# LINE 147 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
import Graphics.UI.Gtk.ModelView.Types (TreeIter, peekTreeIter,
TypedTreeModelClass)
import Graphics.UI.Gtk.ModelView.CustomStore (customStoreSetColumn)
import Graphics.UI.Gtk.ModelView.TreeModel (ColumnId(..),
makeColumnIdString,
columnIdToNumber)
{-# LINE 155 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
entryCompletionNew :: IO EntryCompletion
entryCompletionNew =
wrapNewGObject mkEntryCompletion $
gtk_entry_completion_new
{-# LINE 166 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
entryCompletionGetEntry :: EntryCompletion
-> IO (Maybe Entry)
entryCompletionGetEntry self =
maybeNull (makeNewObject mkEntry) $
liftM (castPtr :: Ptr Widget -> Ptr Entry) $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_entry argPtr1)
{-# LINE 178 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionSetModel :: TreeModelClass model => EntryCompletion
-> Maybe model
-> IO ()
entryCompletionSetModel self model =
(\(EntryCompletion arg1) (TreeModel arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_entry_completion_set_model argPtr1 argPtr2)
{-# LINE 189 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(maybe (TreeModel nullForeignPtr) toTreeModel model)
entryCompletionGetModel :: EntryCompletion
-> IO (Maybe TreeModel)
entryCompletionGetModel self =
maybeNull (makeNewGObject mkTreeModel) $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_model argPtr1)
{-# LINE 201 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionSetTextModel :: (TreeModelClass (model string),
TypedTreeModelClass model, GlibString string)
=> EntryCompletion
-> model string
-> IO ()
entryCompletionSetTextModel self model = do
let strCol = makeColumnIdString 0
customStoreSetColumn model strCol id
set self [entryCompletionTextColumn := strCol]
entryCompletionSetMatchFunc :: GlibString string
=> EntryCompletion -> (string -> TreeIter -> IO Bool) -> IO ()
entryCompletionSetMatchFunc ec handler = do
hPtr <- mkHandler_GtkEntryCompletionMatchFunc
(\_ keyPtr iterPtr _ -> do key <- peekUTFString keyPtr
iter <- peek iterPtr
liftM fromBool $ handler key iter)
(\(EntryCompletion arg1) arg2 arg3 arg4 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_match_func argPtr1 arg2 arg3 arg4) ec
(castFunPtr hPtr) (castFunPtrToPtr hPtr) destroyFunPtr
type GtkEntryCompletionMatchFunc =
Ptr EntryCompletion ->
Ptr CChar ->
Ptr TreeIter ->
Ptr () ->
IO (CInt)
{-# LINE 251 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
foreign import ccall "wrapper" mkHandler_GtkEntryCompletionMatchFunc ::
GtkEntryCompletionMatchFunc ->
IO (FunPtr GtkEntryCompletionMatchFunc)
entryCompletionSetMinimumKeyLength :: EntryCompletion
-> Int
-> IO ()
entryCompletionSetMinimumKeyLength self length =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_minimum_key_length argPtr1 arg2)
{-# LINE 267 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromIntegral length)
entryCompletionGetMinimumKeyLength :: EntryCompletion
-> IO Int
entryCompletionGetMinimumKeyLength self =
liftM fromIntegral $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_minimum_key_length argPtr1)
{-# LINE 277 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionComplete :: EntryCompletion -> IO ()
entryCompletionComplete self =
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_complete argPtr1)
{-# LINE 286 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionInsertActionText :: GlibString string => EntryCompletion
-> Int
-> string
-> IO ()
entryCompletionInsertActionText self index text =
withUTFString text $ \textPtr ->
(\(EntryCompletion arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_insert_action_text argPtr1 arg2 arg3)
{-# LINE 299 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromIntegral index)
textPtr
entryCompletionInsertActionMarkup :: GlibString string => EntryCompletion
-> Int
-> string
-> IO ()
entryCompletionInsertActionMarkup self index markup =
withUTFString markup $ \markupPtr ->
(\(EntryCompletion arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_insert_action_markup argPtr1 arg2 arg3)
{-# LINE 313 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromIntegral index)
markupPtr
entryCompletionDeleteAction :: EntryCompletion
-> Int
-> IO ()
entryCompletionDeleteAction self index =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_delete_action argPtr1 arg2)
{-# LINE 324 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromIntegral index)
entryCompletionSetTextColumn :: GlibString string => EntryCompletion
-> ColumnId row string
-> IO ()
entryCompletionSetTextColumn self column =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_text_column argPtr1 arg2)
{-# LINE 341 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
((fromIntegral . columnIdToNumber) column)
entryCompletionInsertPrefix :: EntryCompletion -> IO ()
entryCompletionInsertPrefix self =
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_insert_prefix argPtr1)
{-# LINE 352 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionGetTextColumn :: GlibString string => EntryCompletion
-> IO (ColumnId row string)
entryCompletionGetTextColumn self =
liftM (makeColumnIdString . fromIntegral) $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_text_column argPtr1)
{-# LINE 363 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionSetInlineCompletion :: EntryCompletion
-> Bool
-> IO ()
entryCompletionSetInlineCompletion self inlineCompletion =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_inline_completion argPtr1 arg2)
{-# LINE 375 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromBool inlineCompletion)
entryCompletionGetInlineCompletion :: EntryCompletion
-> IO Bool
entryCompletionGetInlineCompletion self =
liftM toBool $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_inline_completion argPtr1)
{-# LINE 388 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionSetPopupCompletion :: EntryCompletion
-> Bool
-> IO ()
entryCompletionSetPopupCompletion self popupCompletion =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_popup_completion argPtr1 arg2)
{-# LINE 399 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromBool popupCompletion)
entryCompletionGetPopupCompletion :: EntryCompletion
-> IO Bool
entryCompletionGetPopupCompletion self =
liftM toBool $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_popup_completion argPtr1)
{-# LINE 411 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionSetPopupSetWidth :: EntryCompletion
-> Bool
-> IO ()
entryCompletionSetPopupSetWidth self popupSetWidth =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_popup_set_width argPtr1 arg2)
{-# LINE 426 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromBool popupSetWidth)
entryCompletionGetPopupSetWidth :: EntryCompletion
-> IO Bool
entryCompletionGetPopupSetWidth self =
liftM toBool $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_popup_set_width argPtr1)
{-# LINE 440 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionSetPopupSingleMatch :: EntryCompletion
-> Bool
-> IO ()
entryCompletionSetPopupSingleMatch self popupSingleMatch =
(\(EntryCompletion arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_set_popup_single_match argPtr1 arg2)
{-# LINE 454 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
(fromBool popupSingleMatch)
entryCompletionGetPopupSingleMatch :: EntryCompletion
-> IO Bool
entryCompletionGetPopupSingleMatch self =
liftM toBool $
(\(EntryCompletion arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_entry_completion_get_popup_single_match argPtr1)
{-# LINE 468 "./Graphics/UI/Gtk/Entry/EntryCompletion.chs" #-}
self
entryCompletionModel :: TreeModelClass model => ReadWriteAttr EntryCompletion (Maybe TreeModel) (Maybe model)
entryCompletionModel = newAttr
entryCompletionGetModel
entryCompletionSetModel
entryCompletionMinimumKeyLength :: Attr EntryCompletion Int
entryCompletionMinimumKeyLength = newAttr
entryCompletionGetMinimumKeyLength
entryCompletionSetMinimumKeyLength
entryCompletionTextColumn :: GlibString string => Attr EntryCompletion (ColumnId row string)
entryCompletionTextColumn = newAttr
entryCompletionGetTextColumn
entryCompletionSetTextColumn
entryCompletionInlineCompletion :: Attr EntryCompletion Bool
entryCompletionInlineCompletion = newAttr
entryCompletionGetInlineCompletion
entryCompletionSetInlineCompletion
entryCompletionPopupCompletion :: Attr EntryCompletion Bool
entryCompletionPopupCompletion = newAttr
entryCompletionGetPopupCompletion
entryCompletionSetPopupCompletion
entryCompletionPopupSetWidth :: Attr EntryCompletion Bool
entryCompletionPopupSetWidth = newAttr
entryCompletionGetPopupSetWidth
entryCompletionSetPopupSetWidth
entryCompletionPopupSingleMatch :: Attr EntryCompletion Bool
entryCompletionPopupSingleMatch = newAttr
entryCompletionGetPopupSingleMatch
entryCompletionSetPopupSingleMatch
insertPrefix :: (EntryCompletionClass self, GlibString string) => Signal self (string -> IO Bool)
insertPrefix = Signal (connect_GLIBSTRING__BOOL "insert-prefix")
matchSelected :: EntryCompletionClass self => Signal self (TreeModel -> TreeIter -> IO Bool)
matchSelected = Signal (connect_OBJECT_BOXED__BOOL "match-selected" peekTreeIter)
completionActionActivated :: EntryCompletionClass self => Signal self (Int -> IO ())
completionActionActivated = Signal (connect_INT__NONE "action-activated")
onInsertPrefix, afterInsertPrefix :: (EntryCompletionClass self, GlibString string) => self
-> (string -> IO Bool)
-> IO (ConnectId self)
onInsertPrefix = connect_GLIBSTRING__BOOL "insert_prefix" False
afterInsertPrefix = connect_GLIBSTRING__BOOL "insert_prefix" True
onActionActivated, afterActionActivated :: EntryCompletionClass self => self
-> (Int -> IO ())
-> IO (ConnectId self)
onActionActivated = connect_INT__NONE "action_activated" False
afterActionActivated = connect_INT__NONE "action_activated" True
foreign import ccall safe "gtk_entry_completion_new"
gtk_entry_completion_new :: (IO (Ptr EntryCompletion))
foreign import ccall safe "gtk_entry_completion_get_entry"
gtk_entry_completion_get_entry :: ((Ptr EntryCompletion) -> (IO (Ptr Widget)))
foreign import ccall safe "gtk_entry_completion_set_model"
gtk_entry_completion_set_model :: ((Ptr EntryCompletion) -> ((Ptr TreeModel) -> (IO ())))
foreign import ccall safe "gtk_entry_completion_get_model"
gtk_entry_completion_get_model :: ((Ptr EntryCompletion) -> (IO (Ptr TreeModel)))
foreign import ccall safe "gtk_entry_completion_set_match_func"
gtk_entry_completion_set_match_func :: ((Ptr EntryCompletion) -> ((FunPtr ((Ptr EntryCompletion) -> ((Ptr CChar) -> ((Ptr TreeIter) -> ((Ptr ()) -> (IO CInt)))))) -> ((Ptr ()) -> ((FunPtr ((Ptr ()) -> (IO ()))) -> (IO ())))))
foreign import ccall safe "gtk_entry_completion_set_minimum_key_length"
gtk_entry_completion_set_minimum_key_length :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_get_minimum_key_length"
gtk_entry_completion_get_minimum_key_length :: ((Ptr EntryCompletion) -> (IO CInt))
foreign import ccall safe "gtk_entry_completion_complete"
gtk_entry_completion_complete :: ((Ptr EntryCompletion) -> (IO ()))
foreign import ccall safe "gtk_entry_completion_insert_action_text"
gtk_entry_completion_insert_action_text :: ((Ptr EntryCompletion) -> (CInt -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "gtk_entry_completion_insert_action_markup"
gtk_entry_completion_insert_action_markup :: ((Ptr EntryCompletion) -> (CInt -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "gtk_entry_completion_delete_action"
gtk_entry_completion_delete_action :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_set_text_column"
gtk_entry_completion_set_text_column :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_insert_prefix"
gtk_entry_completion_insert_prefix :: ((Ptr EntryCompletion) -> (IO ()))
foreign import ccall safe "gtk_entry_completion_get_text_column"
gtk_entry_completion_get_text_column :: ((Ptr EntryCompletion) -> (IO CInt))
foreign import ccall safe "gtk_entry_completion_set_inline_completion"
gtk_entry_completion_set_inline_completion :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_get_inline_completion"
gtk_entry_completion_get_inline_completion :: ((Ptr EntryCompletion) -> (IO CInt))
foreign import ccall safe "gtk_entry_completion_set_popup_completion"
gtk_entry_completion_set_popup_completion :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_get_popup_completion"
gtk_entry_completion_get_popup_completion :: ((Ptr EntryCompletion) -> (IO CInt))
foreign import ccall safe "gtk_entry_completion_set_popup_set_width"
gtk_entry_completion_set_popup_set_width :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_get_popup_set_width"
gtk_entry_completion_get_popup_set_width :: ((Ptr EntryCompletion) -> (IO CInt))
foreign import ccall safe "gtk_entry_completion_set_popup_single_match"
gtk_entry_completion_set_popup_single_match :: ((Ptr EntryCompletion) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_entry_completion_get_popup_single_match"
gtk_entry_completion_get_popup_single_match :: ((Ptr EntryCompletion) -> (IO CInt))