gi-gtk3-3.0.44: Gtk 3.x bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | None
Language | Haskell2010

GI.Gtk.Objects.IconFactory

Contents

- Exported types
- Methods
  - add
  - addDefault
  - lookup
  - lookupDefault
  - new
  - removeDefault

Description

An icon factory manages a collection of `IconSet`; a `IconSet` manages a set of variants of a particular icon (i.e. a `IconSet` contains variants for different sizes and widget states). Icons in an icon factory are named by a stock ID, which is a simple string identifying the icon. Each `Style` has a list of `IconFactory` derived from the current theme; those icon factories are consulted first when searching for an icon. If the theme doesn’t set a particular icon, GTK+ looks for the icon in a list of default icon factories, maintained by `iconFactoryAddDefault` and `iconFactoryRemoveDefault`. Applications with icons should add a default icon factory with their icons, which will allow themes to override the icons for the application.

To display an icon, always use `styleLookupIconSet` on the widget that will display the icon, or the convenience function `widgetRenderIcon`. These functions take the theme into account when looking up the icon to use for a given stock ID.

# GtkIconFactory as GtkBuildable # {t`IconFactory`-BUILDER-UI}

GtkIconFactory supports a custom `<sources>` element, which can contain multiple `<source>` elements. The following attributes are allowed:

- stock-id

The stock id of the source, a string. This attribute is mandatory

- filename

The filename of the source, a string. This attribute is optional

- icon-name

The icon name for the source, a string. This attribute is optional.

- size

Size of the icon, a `IconSize` enum value. This attribute is optional.

- direction

Direction of the source, a `TextDirection` enum value. This attribute is optional.

- state

State of the source, a `StateType` enum value. This attribute is optional.

## A `IconFactory` UI definition fragment. ##

    <object class="GtkIconFactory" id="iconfactory1">
      <sources>
        <source stock-id="apple-red" filename="apple-red.png"/>
      </sources>
    </object>
    <object class="GtkWindow" id="window1">
      <child>
        <object class="GtkButton" id="apple_button">
          <property name="label">apple-red</property>
          <property name="use-stock">True</property>
        </object>
      </child>
    </object>

Synopsis

- newtype IconFactory = IconFactory (ManagedPtr IconFactory)
- class (GObject o, IsDescendantOf IconFactory o) => IsIconFactory o
- toIconFactory :: (MonadIO m, IsIconFactory o) => o -> m IconFactory
- iconFactoryAdd :: (HasCallStack, MonadIO m, IsIconFactory a) => a -> Text -> IconSet -> m ()
- iconFactoryAddDefault :: (HasCallStack, MonadIO m, IsIconFactory a) => a -> m ()
- iconFactoryLookup :: (HasCallStack, MonadIO m, IsIconFactory a) => a -> Text -> m IconSet
- iconFactoryLookupDefault :: (HasCallStack, MonadIO m) => Text -> m IconSet
- iconFactoryNew :: (HasCallStack, MonadIO m) => m IconFactory
- iconFactoryRemoveDefault :: (HasCallStack, MonadIO m, IsIconFactory a) => a -> m ()

# Exported types

newtype IconFactory Source #

Memory-managed wrapper type.

Constructors

IconFactory (ManagedPtr IconFactory) |

#### Instances

Instances details

Eq IconFactory Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory Methods (==) :: IconFactory -> IconFactory -> Bool Source # (/=) :: IconFactory -> IconFactory -> Bool Source #
GObject IconFactory Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory
ManagedPtrNewtype IconFactory Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory Methods toManagedPtr :: IconFactory -> ManagedPtr IconFactory Source #
TypedObject IconFactory Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory Methods glibType :: IO GType Source #
HasParentTypes IconFactory Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory
IsGValue (Maybe IconFactory) Source # | Convert `IconFactory` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gtk.Objects.IconFactory Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe IconFactory -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe IconFactory) Source #
type ParentTypes IconFactory Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory type ParentTypes IconFactory = '[Object, Buildable]

class (GObject o, IsDescendantOf IconFactory o) => IsIconFactory o Source #

Type class for types which can be safely cast to `IconFactory`, for instance with `toIconFactory`.

#### Instances

Instances details

(GObject o, IsDescendantOf IconFactory o) => IsIconFactory o Source # |
Instance details Defined in GI.Gtk.Objects.IconFactory

toIconFactory :: (MonadIO m, IsIconFactory o) => o -> m IconFactory Source #

Cast to `IconFactory`, for types for which this is known to be safe. For general casts, use `castTo`.

# Methods

### Click to display all available methods, including inherited ones

Expand

#### Methods

add, addChild, addDefault, bindProperty, bindPropertyFull, constructChild, customFinished, customTagEnd, customTagStart, forceFloating, freezeNotify, getv, isFloating, lookup, notify, notifyByPspec, parserFinished, ref, refSink, removeDefault, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getData, getInternalChild, getName, getProperty, getQdata.

#### Setters

setBuildableProperty, setData, setDataFull, setName, setProperty.

## add

iconFactoryAdd Source #

Arguments

:: (HasCallStack, MonadIO m, IsIconFactory a) |
=> a | `factory`: a `IconFactory`
-> Text | `stockId`: icon name
-> IconSet | `iconSet`: icon set
-> m () |

Deprecated: (Since version 3.10)Use `IconTheme` instead.

Adds the given `iconSet` to the icon factory, under the name `stockId`. `stockId` should be namespaced for your application, e.g. “myapp-whatever-icon”. Normally applications create a `IconFactory`, then add it to the list of default factories with `iconFactoryAddDefault`. Then they pass the `stockId` to widgets such as `Image` to display the icon. Themes can provide an icon with the same name (such as "myapp-whatever-icon") to override your application’s default icons. If an icon already existed in `factory` for `stockId`, it is unreferenced and replaced with the new `iconSet`.

## addDefault

iconFactoryAddDefault Source #

Arguments

:: (HasCallStack, MonadIO m, IsIconFactory a) |
=> a | `factory`: a `IconFactory`
-> m () |

Deprecated: (Since version 3.10)Use `IconTheme` instead.

Adds an icon factory to the list of icon factories searched by `styleLookupIconSet`. This means that, for example, `imageNewFromStock` will be able to find icons in `factory`. There will normally be an icon factory added for each library or application that comes with icons. The default icon factories can be overridden by themes.

## lookup

iconFactoryLookup Source #

Arguments

:: (HasCallStack, MonadIO m, IsIconFactory a) |
=> a | `factory`: a `IconFactory`
-> Text | `stockId`: an icon name
-> m IconSet | Returns: icon set of `stockId`.

Deprecated: (Since version 3.10)Use `IconTheme` instead.

Looks up `stockId` in the icon factory, returning an icon set if found, otherwise `Nothing`. For display to the user, you should use `styleLookupIconSet` on the `Style` for the widget that will display the icon, instead of using this function directly, so that themes are taken into account.

## lookupDefault

iconFactoryLookupDefault Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Text | `stockId`: an icon name
-> m IconSet | Returns: a `IconSet`, or `Nothing`

Deprecated: (Since version 3.10)Use `IconTheme` instead.

Looks for an icon in the list of default icon factories. For display to the user, you should use `styleLookupIconSet` on the `Style` for the widget that will display the icon, instead of using this function directly, so that themes are taken into account.

## new

iconFactoryNew Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> m IconFactory | Returns: a new `IconFactory`

Deprecated: (Since version 3.10)Use `IconTheme` instead.

Creates a new `IconFactory`. An icon factory manages a collection of `GtkIconSets`; a `IconSet` manages a set of variants of a particular icon (i.e. a `IconSet` contains variants for different sizes and widget states). Icons in an icon factory are named by a stock ID, which is a simple string identifying the icon. Each `Style` has a list of `GtkIconFactorys` derived from the current theme; those icon factories are consulted first when searching for an icon. If the theme doesn’t set a particular icon, GTK+ looks for the icon in a list of default icon factories, maintained by `iconFactoryAddDefault` and `iconFactoryRemoveDefault`. Applications with icons should add a default icon factory with their icons, which will allow themes to override the icons for the application.

## removeDefault

iconFactoryRemoveDefault Source #

Arguments

:: (HasCallStack, MonadIO m, IsIconFactory a) |
=> a | `factory`: a `IconFactory` previously added with `iconFactoryAddDefault`
-> m () |

Deprecated: (Since version 3.10)Use `IconTheme` instead.

Removes an icon factory from the list of default icon factories. Not normally used; you might use it for a library that can be unloaded or shut down.