{-# LINE 2 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
module Graphics.UI.Gtk.Recent.RecentFilter (
RecentFilter,
RecentFilterClass,
castToRecentFilter,
toRecentFilter,
RecentFilterFlags(..),
recentFilterNew,
recentFilterGetName,
recentFilterSetName,
recentFilterAddMimeType,
recentFilterAddPattern,
recentFilterAddPixbufFormats,
recentFilterAddApplication,
recentFilterAddGroup,
recentFilterAddAge,
) where
import System.Glib.FFI
import System.Glib.UTFString
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 93 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
{-# LINE 95 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
data RecentFilterFlags = RecentFilterUri
| RecentFilterDisplayName
| RecentFilterMimeType
| RecentFilterApplication
| RecentFilterGroup
| RecentFilterAge
deriving (RecentFilterFlags
RecentFilterFlags -> RecentFilterFlags -> Bounded RecentFilterFlags
forall a. a -> a -> Bounded a
$cminBound :: RecentFilterFlags
minBound :: RecentFilterFlags
$cmaxBound :: RecentFilterFlags
maxBound :: RecentFilterFlags
Bounded,RecentFilterFlags -> RecentFilterFlags -> Bool
(RecentFilterFlags -> RecentFilterFlags -> Bool)
-> (RecentFilterFlags -> RecentFilterFlags -> Bool)
-> Eq RecentFilterFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RecentFilterFlags -> RecentFilterFlags -> Bool
== :: RecentFilterFlags -> RecentFilterFlags -> Bool
$c/= :: RecentFilterFlags -> RecentFilterFlags -> Bool
/= :: RecentFilterFlags -> RecentFilterFlags -> Bool
Eq,Int -> RecentFilterFlags -> ShowS
[RecentFilterFlags] -> ShowS
RecentFilterFlags -> String
(Int -> RecentFilterFlags -> ShowS)
-> (RecentFilterFlags -> String)
-> ([RecentFilterFlags] -> ShowS)
-> Show RecentFilterFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RecentFilterFlags -> ShowS
showsPrec :: Int -> RecentFilterFlags -> ShowS
$cshow :: RecentFilterFlags -> String
show :: RecentFilterFlags -> String
$cshowList :: [RecentFilterFlags] -> ShowS
showList :: [RecentFilterFlags] -> ShowS
Show)
instance Enum RecentFilterFlags where
fromEnum :: RecentFilterFlags -> Int
fromEnum RecentFilterFlags
RecentFilterUri = Int
1
fromEnum RecentFilterFlags
RecentFilterDisplayName = Int
2
fromEnum RecentFilterFlags
RecentFilterMimeType = Int
4
fromEnum RecentFilterFlags
RecentFilterApplication = Int
8
fromEnum RecentFilterFlags
RecentFilterGroup = Int
16
fromEnum RecentFilterFlags
RecentFilterAge = Int
32
toEnum :: Int -> RecentFilterFlags
toEnum Int
1 = RecentFilterFlags
RecentFilterUri
toEnum 2 = RecentFilterDisplayName
toEnum 4 = RecentFilterMimeType
toEnum 8 = RecentFilterApplication
toEnum Int
16 = RecentFilterFlags
RecentFilterGroup
toEnum Int
32 = RecentFilterFlags
RecentFilterAge
toEnum Int
unmatched = String -> RecentFilterFlags
forall a. HasCallStack => String -> a
error (String
"RecentFilterFlags.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)
succ RecentFilterUri = RecentFilterDisplayName
succ RecentFilterDisplayName = RecentFilterMimeType
succ RecentFilterMimeType = RecentFilterApplication
succ RecentFilterApplication = RecentFilterGroup
succ RecentFilterGroup = RecentFilterAge
succ _ = undefined
pred RecentFilterDisplayName = RecentFilterUri
pred RecentFilterMimeType = RecentFilterDisplayName
pred RecentFilterApplication = RecentFilterMimeType
pred RecentFilterGroup = RecentFilterApplication
pred RecentFilterAge = RecentFilterGroup
pred _ = undefined
enumFromTo :: RecentFilterFlags -> RecentFilterFlags -> [RecentFilterFlags]
enumFromTo RecentFilterFlags
x RecentFilterFlags
y | RecentFilterFlags -> Int
forall a. Enum a => a -> Int
fromEnum RecentFilterFlags
x Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== RecentFilterFlags -> Int
forall a. Enum a => a -> Int
fromEnum RecentFilterFlags
y = [ RecentFilterFlags
y ]
| Bool
otherwise = RecentFilterFlags
x RecentFilterFlags -> [RecentFilterFlags] -> [RecentFilterFlags]
forall a. a -> [a] -> [a]
: RecentFilterFlags -> RecentFilterFlags -> [RecentFilterFlags]
forall a. Enum a => a -> a -> [a]
enumFromTo (RecentFilterFlags -> RecentFilterFlags
forall a. Enum a => a -> a
succ RecentFilterFlags
x) RecentFilterFlags
y
enumFrom x = enumFromTo x RecentFilterAge
enumFromThen _ _ = error "Enum RecentFilterFlags: enumFromThen not implemented"
enumFromThenTo _ _ _ = error "Enum RecentFilterFlags: enumFromThenTo not implemented"
{-# LINE 100 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
recentFilterNew :: IO RecentFilter
recentFilterNew =
makeNewObject mkRecentFilter $
gtk_recent_filter_new
{-# LINE 119 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
recentFilterGetName :: (RecentFilterClass self, GlibString string) => self
-> IO string
recentFilterGetName self =
(\(RecentFilter arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_filter_get_name argPtr1)
{-# LINE 130 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
>>= peekUTFString
recentFilterSetName :: (RecentFilterClass self, GlibString string) => self
-> string
-> IO ()
recentFilterSetName self name =
withUTFString name $ \namePtr ->
(\(RecentFilter arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_recent_filter_set_name argPtr1 arg2)
{-# LINE 144 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
namePtr
recentFilterAddMimeType :: (RecentFilterClass self, GlibString string) => self
-> string
-> IO ()
recentFilterAddMimeType :: forall self string.
(RecentFilterClass self, GlibString string) =>
self -> string -> IO ()
recentFilterAddMimeType self
self string
mimeType =
string -> (Ptr CChar -> IO ()) -> IO ()
forall a. string -> (Ptr CChar -> IO a) -> IO a
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
withUTFString string
mimeType ((Ptr CChar -> IO ()) -> IO ()) -> (Ptr CChar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CChar
mimeTypePtr ->
(\(RecentFilter ForeignPtr RecentFilter
arg1) Ptr CChar
arg2 -> ForeignPtr RecentFilter -> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr RecentFilter
arg1 ((Ptr RecentFilter -> IO ()) -> IO ())
-> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RecentFilter
argPtr1 ->Ptr RecentFilter -> Ptr CChar -> IO ()
gtk_recent_filter_add_mime_type Ptr RecentFilter
argPtr1 Ptr CChar
arg2)
{-# LINE 157 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
Ptr CChar
mimeTypePtr
recentFilterAddPattern :: (RecentFilterClass self, GlibString string) => self
-> string
-> IO ()
recentFilterAddPattern :: forall self string.
(RecentFilterClass self, GlibString string) =>
self -> string -> IO ()
recentFilterAddPattern self
self string
pattern =
string -> (Ptr CChar -> IO ()) -> IO ()
forall a. string -> (Ptr CChar -> IO a) -> IO a
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
withUTFString string
pattern ((Ptr CChar -> IO ()) -> IO ()) -> (Ptr CChar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CChar
patternPtr ->
(\(RecentFilter ForeignPtr RecentFilter
arg1) Ptr CChar
arg2 -> ForeignPtr RecentFilter -> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr RecentFilter
arg1 ((Ptr RecentFilter -> IO ()) -> IO ())
-> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RecentFilter
argPtr1 ->Ptr RecentFilter -> Ptr CChar -> IO ()
gtk_recent_filter_add_pattern Ptr RecentFilter
argPtr1 Ptr CChar
arg2)
{-# LINE 171 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
Ptr CChar
patternPtr
recentFilterAddPixbufFormats :: RecentFilterClass self => self -> IO ()
recentFilterAddPixbufFormats :: forall self. RecentFilterClass self => self -> IO ()
recentFilterAddPixbufFormats self
self =
(\(RecentFilter ForeignPtr RecentFilter
arg1) -> ForeignPtr RecentFilter -> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr RecentFilter
arg1 ((Ptr RecentFilter -> IO ()) -> IO ())
-> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RecentFilter
argPtr1 ->Ptr RecentFilter -> IO ()
gtk_recent_filter_add_pixbuf_formats Ptr RecentFilter
argPtr1)
{-# LINE 179 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
recentFilterAddApplication :: (RecentFilterClass self, GlibString string) => self
-> string
-> IO ()
recentFilterAddApplication :: forall self string.
(RecentFilterClass self, GlibString string) =>
self -> string -> IO ()
recentFilterAddApplication self
self string
application =
string -> (Ptr CChar -> IO ()) -> IO ()
forall a. string -> (Ptr CChar -> IO a) -> IO a
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
withUTFString string
application ((Ptr CChar -> IO ()) -> IO ()) -> (Ptr CChar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CChar
applicationPtr ->
(\(RecentFilter ForeignPtr RecentFilter
arg1) Ptr CChar
arg2 -> ForeignPtr RecentFilter -> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr RecentFilter
arg1 ((Ptr RecentFilter -> IO ()) -> IO ())
-> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RecentFilter
argPtr1 ->Ptr RecentFilter -> Ptr CChar -> IO ()
gtk_recent_filter_add_application Ptr RecentFilter
argPtr1 Ptr CChar
arg2)
{-# LINE 193 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
Ptr CChar
applicationPtr
recentFilterAddGroup :: (RecentFilterClass self, GlibString string) => self
-> string
-> IO ()
recentFilterAddGroup :: forall self string.
(RecentFilterClass self, GlibString string) =>
self -> string -> IO ()
recentFilterAddGroup self
self string
group =
string -> (Ptr CChar -> IO ()) -> IO ()
forall a. string -> (Ptr CChar -> IO a) -> IO a
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
withUTFString string
group ((Ptr CChar -> IO ()) -> IO ()) -> (Ptr CChar -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CChar
groupPtr ->
(\(RecentFilter ForeignPtr RecentFilter
arg1) Ptr CChar
arg2 -> ForeignPtr RecentFilter -> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr RecentFilter
arg1 ((Ptr RecentFilter -> IO ()) -> IO ())
-> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RecentFilter
argPtr1 ->Ptr RecentFilter -> Ptr CChar -> IO ()
gtk_recent_filter_add_group Ptr RecentFilter
argPtr1 Ptr CChar
arg2)
{-# LINE 208 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
Ptr CChar
groupPtr
recentFilterAddAge :: RecentFilterClass self => self
-> Int
-> IO ()
recentFilterAddAge :: forall self. RecentFilterClass self => self -> Int -> IO ()
recentFilterAddAge self
self Int
days =
(\(RecentFilter ForeignPtr RecentFilter
arg1) CInt
arg2 -> ForeignPtr RecentFilter -> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr RecentFilter
arg1 ((Ptr RecentFilter -> IO ()) -> IO ())
-> (Ptr RecentFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr RecentFilter
argPtr1 ->Ptr RecentFilter -> CInt -> IO ()
gtk_recent_filter_add_age Ptr RecentFilter
argPtr1 CInt
arg2)
{-# LINE 221 "./Graphics/UI/Gtk/Recent/RecentFilter.chs" #-}
(toRecentFilter self)
(Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
days)
foreign import ccall safe "gtk_recent_filter_new"
gtk_recent_filter_new :: (IO (Ptr RecentFilter))
foreign import ccall safe "gtk_recent_filter_get_name"
gtk_recent_filter_get_name :: ((Ptr RecentFilter) -> (IO (Ptr CChar)))
foreign import ccall safe "gtk_recent_filter_set_name"
gtk_recent_filter_set_name :: ((Ptr RecentFilter) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "gtk_recent_filter_add_mime_type"
gtk_recent_filter_add_mime_type :: ((Ptr RecentFilter) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "gtk_recent_filter_add_pattern"
gtk_recent_filter_add_pattern :: ((Ptr RecentFilter) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "gtk_recent_filter_add_pixbuf_formats"
gtk_recent_filter_add_pixbuf_formats :: ((Ptr RecentFilter) -> (IO ()))
foreign import ccall safe "gtk_recent_filter_add_application"
gtk_recent_filter_add_application :: ((Ptr RecentFilter) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "gtk_recent_filter_add_group"
gtk_recent_filter_add_group :: ((Ptr RecentFilter) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "gtk_recent_filter_add_age"
gtk_recent_filter_add_age :: ((Ptr RecentFilter) -> (CInt -> (IO ())))