-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | DbusmenuGtk bindings
--   
--   Bindings for libdbusgtk3, autogenerated by haskell-gi.
@package gi-dbusmenugtk3
@version 0.4.16

-- | Build time configuration used during code generation.
module GI.DbusmenuGtk3.Config

-- | Overrides used when generating these bindings.
overrides :: Text

-- | Modules in this package
modules :: [Text]

module GI.DbusmenuGtk3.Constants

-- | No description available in the introspection data.
pattern GTK_MENUITEM_H__ :: Int32

module GI.DbusmenuGtk3.Functions

-- | The Dbusmenu GTK parser adds cached items on the various menu items
--   throughout the tree. Sometimes it can be useful to get that cached
--   item to use directly. This function will retrieve it for you.
gtkParseGetCachedItem :: (HasCallStack, MonadIO m, IsWidget a) => a -> m Menuitem

-- | Goes through the GTK structures and turns them into the appropraite
--   Dbusmenu structures along with setting up all the relationships
--   between the objects. It also stores the dbusmenu items as a cache on
--   the GTK items so that they'll be reused if necissary.
gtkParseMenuStructure :: (HasCallStack, MonadIO m, IsWidget a) => a -> m Menuitem

-- | This function looks on the menu item for a property by the name of
--   property. If one exists it tries to turn it into a
--   Pixbuf. It assumes that the property is a base64 encoded PNG
--   file like the one created by
--   dbusmenu_menuite_property_set_image.
menuitemPropertyGetImage :: (HasCallStack, MonadIO m, IsMenuitem a) => a -> Text -> m Pixbuf

-- | This function gets a GTK shortcut as a key and a mask for use to set
--   the accelerators.
menuitemPropertyGetShortcut :: (HasCallStack, MonadIO m, IsMenuitem a) => a -> m (Word32, [ModifierType])

-- | This function takes the pixbuf that is stored in data
--   and turns it into a base64 encoded PNG so that it can be placed onto a
--   standard Menuitem property.
menuitemPropertySetImage :: (HasCallStack, MonadIO m, IsMenuitem a, IsPixbuf b) => a -> Text -> b -> m Bool

-- | Takes the modifer described by key and
--   modifier and places that into the format sending
--   across Dbus for shortcuts.
menuitemPropertySetShortcut :: (HasCallStack, MonadIO m, IsMenuitem a) => a -> Word32 -> [ModifierType] -> m Bool

-- | Takes the shortcut that is installed on a menu item and calls
--   dbusmenu_menuitem_property_set_shortcut with it. It
--   also sets up listeners to watch it change.
menuitemPropertySetShortcutMenuitem :: (HasCallStack, MonadIO m, IsMenuitem a, IsMenuItem b) => a -> b -> m Bool

-- | This function takes a GTK shortcut string as defined in
--   gtk_accelerator_parse and turns that into the
--   information required to send it over DBusmenu.
menuitemPropertySetShortcutString :: (HasCallStack, MonadIO m, IsMenuitem a) => a -> Text -> m Bool

-- | A subclass of Client to add functionality with regarding
--   building GTK items out of the abstract tree.
module GI.DbusmenuGtk3.Objects.Client

-- | Memory-managed wrapper type.
newtype Client
Client :: ManagedPtr Client -> Client

-- | Type class for types which can be safely cast to Client, for
--   instance with toClient.
class (GObject o, IsDescendantOf Client o) => IsClient o

-- | Cast to Client, for types for which this is known to be safe.
--   For general casts, use castTo.
toClient :: (MonadIO m, IsClient o) => o -> m Client

-- | Gets the accel group for this client.
clientGetAccelGroup :: (HasCallStack, MonadIO m, IsClient a) => a -> m AccelGroup

-- | This grabs the MenuItem that is associated with the
--   Menuitem.
clientMenuitemGet :: (HasCallStack, MonadIO m, IsClient a, IsMenuitem b) => a -> b -> m MenuItem

-- | This grabs the submenu associated with the menuitem.
clientMenuitemGetSubmenu :: (HasCallStack, MonadIO m, IsClient a, IsMenuitem b) => a -> b -> m Menu

-- | Creates a new Client object and creates a Client that
--   connects across DBus to a Server.
clientNew :: (HasCallStack, MonadIO m) => Text -> Text -> m Client

-- | This function provides some of the basic connectivity for being in the
--   GTK world. Things like visibility and sensitivity of the item are
--   handled here so that the subclasses don't have to. If you're building
--   your on GTK menu item you can use this function to apply those basic
--   attributes so that you don't have to deal with them either.
--   
--   This also handles passing the "activate" signal back to the
--   Menuitem side of thing.
clientNewitemBase :: (HasCallStack, MonadIO m, IsClient a, IsMenuitem b, IsMenuItem c, IsMenuitem d) => a -> b -> c -> d -> m ()

-- | Sets the acceleration group for the menu items with accelerators on
--   this client.
clientSetAccelGroup :: (HasCallStack, MonadIO m, IsClient a, IsAccelGroup b) => a -> b -> m ()
instance GHC.Classes.Eq GI.DbusmenuGtk3.Objects.Client.Client
instance Data.GI.Base.BasicTypes.GObject GI.DbusmenuGtk3.Objects.Client.Client
instance Data.GI.Base.Overloading.HasParentTypes GI.DbusmenuGtk3.Objects.Client.Client
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.DbusmenuGtk3.Objects.Client.Client o) => GI.DbusmenuGtk3.Objects.Client.IsClient o
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.DbusmenuGtk3.Objects.Client.Client)
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.DbusmenuGtk3.Objects.Client.Client
instance Data.GI.Base.BasicTypes.TypedObject GI.DbusmenuGtk3.Objects.Client.Client

-- | A Menu that is built using an abstract tree built from a
--   Client.
module GI.DbusmenuGtk3.Objects.Menu

-- | Memory-managed wrapper type.
newtype Menu
Menu :: ManagedPtr Menu -> Menu

-- | Type class for types which can be safely cast to Menu, for
--   instance with toMenu.
class (GObject o, IsDescendantOf Menu o) => IsMenu o

-- | Cast to Menu, for types for which this is known to be safe. For
--   general casts, use castTo.
toMenu :: (MonadIO m, IsMenu o) => o -> m Menu

-- | An accessor for the client that this menu is using to communicate with
--   the server.
menuGetClient :: (HasCallStack, MonadIO m, IsMenu a) => a -> m Client

-- | Creates a new Menu object and creates a Client that
--   connects across DBus to a Server.
menuNew :: (HasCallStack, MonadIO m) => Text -> Text -> m Menu

-- | Construct a GValueConstruct with valid value for the
--   “dbus-name” property. This is rarely needed directly, but it
--   is used by new.
constructMenuDbusName :: (IsMenu o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “dbus-name” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get menu #dbusName
--   
getMenuDbusName :: (MonadIO m, IsMenu o) => o -> m (Maybe Text)

-- | Construct a GValueConstruct with valid value for the
--   “dbus-object” property. This is rarely needed directly, but
--   it is used by new.
constructMenuDbusObject :: (IsMenu o, MonadIO m) => Text -> m (GValueConstruct o)

-- | Get the value of the “dbus-object” property. When
--   overloading is enabled, this is equivalent to
--   
--   
--   get menu #dbusObject
--   
getMenuDbusObject :: (MonadIO m, IsMenu o) => o -> m (Maybe Text)
instance GHC.Classes.Eq GI.DbusmenuGtk3.Objects.Menu.Menu
instance Data.GI.Base.BasicTypes.GObject GI.DbusmenuGtk3.Objects.Menu.Menu
instance Data.GI.Base.Overloading.HasParentTypes GI.DbusmenuGtk3.Objects.Menu.Menu
instance Data.GI.Base.GValue.IsGValue (GHC.Internal.Maybe.Maybe GI.DbusmenuGtk3.Objects.Menu.Menu)
instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.DbusmenuGtk3.Objects.Menu.Menu o) => GI.DbusmenuGtk3.Objects.Menu.IsMenu o
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.DbusmenuGtk3.Objects.Menu.Menu
instance Data.GI.Base.BasicTypes.TypedObject GI.DbusmenuGtk3.Objects.Menu.Menu

module GI.DbusmenuGtk3.Objects

module GI.DbusmenuGtk3
