| Copyright | Will Thompson and Iñaki García Etxebarria |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
GI.Gtk.Objects.CssProvider
Description
GtkCssProvider is an object implementing the GtkStyleProvider interface
for CSS.
It is able to parse CSS-like input in order to style widgets.
An application can make GTK parse a specific CSS style sheet by calling
cssProviderLoadFromFile or
cssProviderLoadFromResource
and adding the provider with styleContextAddProvider or
[funcgtk.StyleContext.add_provider_for_display].
In addition, certain files will be read when GTK is initialized.
First, the file $XDG_CONFIG_HOME/gtk-4.0/gtk.css is loaded if it
exists. Then, GTK loads the first existing file among
XDG_DATA_HOME/themes/THEME/gtk-VERSION/gtk-VARIANT.css,
$HOME/.themes/THEME/gtk-VERSION/gtk-VARIANT.css,
$XDG_DATA_DIRS/themes/THEME/gtk-VERSION/gtk-VARIANT.css and
DATADIR/share/themes/THEME/gtk-VERSION/gtk-VARIANT.css,
where THEME is the name of the current theme (see the
Settings:gtkThemeName setting), VARIANT is the
variant to load (see the
Settings:gtkApplicationPreferDarkTheme setting),
DATADIR is the prefix configured when GTK was compiled (unless
overridden by the GTK_DATA_PREFIX environment variable), and
VERSION is the GTK version number. If no file is found for the
current version, GTK tries older versions all the way back to 4.0.
To track errors while loading CSS, connect to the CssProvider::parsingError signal.
Synopsis
- newtype CssProvider = CssProvider (ManagedPtr CssProvider)
- class (GObject o, IsDescendantOf CssProvider o) => IsCssProvider o
- toCssProvider :: (MonadIO m, IsCssProvider o) => o -> m CssProvider
- cssProviderLoadFromData :: (HasCallStack, MonadIO m, IsCssProvider a) => a -> Text -> Int64 -> m ()
- cssProviderLoadFromFile :: (HasCallStack, MonadIO m, IsCssProvider a, IsFile b) => a -> b -> m ()
- cssProviderLoadFromPath :: (HasCallStack, MonadIO m, IsCssProvider a) => a -> [Char] -> m ()
- cssProviderLoadFromResource :: (HasCallStack, MonadIO m, IsCssProvider a) => a -> Text -> m ()
- cssProviderLoadNamed :: (HasCallStack, MonadIO m, IsCssProvider a) => a -> Text -> Maybe Text -> m ()
- cssProviderNew :: (HasCallStack, MonadIO m) => m CssProvider
- cssProviderToString :: (HasCallStack, MonadIO m, IsCssProvider a) => a -> m Text
- type CssProviderParsingErrorCallback = CssSection -> GError -> IO ()
- afterCssProviderParsingError :: (IsCssProvider a, MonadIO m) => a -> ((?self :: a) => CssProviderParsingErrorCallback) -> m SignalHandlerId
- onCssProviderParsingError :: (IsCssProvider a, MonadIO m) => a -> ((?self :: a) => CssProviderParsingErrorCallback) -> m SignalHandlerId
Exported types
newtype CssProvider Source #
Memory-managed wrapper type.
Constructors
| CssProvider (ManagedPtr CssProvider) |
Instances
| Eq CssProvider Source # | |
Defined in GI.Gtk.Objects.CssProvider | |
| GObject CssProvider Source # | |
Defined in GI.Gtk.Objects.CssProvider | |
| ManagedPtrNewtype CssProvider Source # | |
Defined in GI.Gtk.Objects.CssProvider Methods toManagedPtr :: CssProvider -> ManagedPtr CssProvider | |
| TypedObject CssProvider Source # | |
Defined in GI.Gtk.Objects.CssProvider | |
| HasParentTypes CssProvider Source # | |
Defined in GI.Gtk.Objects.CssProvider | |
| IsGValue (Maybe CssProvider) Source # | Convert |
Defined in GI.Gtk.Objects.CssProvider Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe CssProvider -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe CssProvider) | |
| type ParentTypes CssProvider Source # | |
Defined in GI.Gtk.Objects.CssProvider | |
class (GObject o, IsDescendantOf CssProvider o) => IsCssProvider o Source #
Type class for types which can be safely cast to CssProvider, for instance with toCssProvider.
Instances
| (GObject o, IsDescendantOf CssProvider o) => IsCssProvider o Source # | |
Defined in GI.Gtk.Objects.CssProvider | |
toCssProvider :: (MonadIO m, IsCssProvider o) => o -> m CssProvider Source #
Cast to CssProvider, 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
Methods
bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, loadFromData, loadFromFile, loadFromPath, loadFromResource, loadNamed, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, toString, unref, watchClosure.
Getters
getData, getProperty, getQdata.
Setters
loadFromData
cssProviderLoadFromData Source #
Arguments
| :: (HasCallStack, MonadIO m, IsCssProvider a) | |
| => a |
|
| -> Text |
|
| -> Int64 |
|
| -> m () |
Loads data into cssProvider.
This clears any previously loaded information.
loadFromFile
cssProviderLoadFromFile Source #
Arguments
| :: (HasCallStack, MonadIO m, IsCssProvider a, IsFile b) | |
| => a |
|
| -> b |
|
| -> m () |
Loads the data contained in file into cssProvider.
This clears any previously loaded information.
loadFromPath
cssProviderLoadFromPath Source #
Arguments
| :: (HasCallStack, MonadIO m, IsCssProvider a) | |
| => a |
|
| -> [Char] |
|
| -> m () |
Loads the data contained in path into cssProvider.
This clears any previously loaded information.
loadFromResource
cssProviderLoadFromResource Source #
Arguments
| :: (HasCallStack, MonadIO m, IsCssProvider a) | |
| => a |
|
| -> Text |
|
| -> m () |
Loads the data contained in the resource at resourcePath into
the cssProvider.
This clears any previously loaded information.
loadNamed
Arguments
| :: (HasCallStack, MonadIO m, IsCssProvider a) | |
| => a |
|
| -> Text |
|
| -> Maybe Text |
|
| -> m () |
Loads a theme from the usual theme paths.
The actual process of finding the theme might change between releases, but it is guaranteed that this function uses the same mechanism to load the theme that GTK uses for loading its own theme.
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m CssProvider | Returns: A new |
Returns a newly created GtkCssProvider.
toString
Arguments
| :: (HasCallStack, MonadIO m, IsCssProvider a) | |
| => a |
|
| -> m Text | Returns: a new string representing the |
Converts the provider into a string representation in CSS
format.
Using cssProviderLoadFromData with the return
value from this function on a new provider created with
cssProviderNew will basically create a duplicate
of this provider.
Signals
parsingError
type CssProviderParsingErrorCallback Source #
Arguments
| = CssSection |
|
| -> GError |
|
| -> IO () |
Signals that a parsing error occurred.
The path, line and position describe the actual location of
the error as accurately as possible.
Parsing errors are never fatal, so the parsing will resume after the error. Errors may however cause parts of the given data or even all of it to not be parsed at all. So it is a useful idea to check that the parsing succeeds by connecting to this signal.
Note that this signal may be emitted at any time as the css provider may opt to defer parsing parts or all of the input to a later time than when a loading function was called.
afterCssProviderParsingError :: (IsCssProvider a, MonadIO m) => a -> ((?self :: a) => CssProviderParsingErrorCallback) -> m SignalHandlerId Source #
Connect a signal handler for the parsingError signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after cssProvider #parsingError callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self parameter.
Note that this requires activating the ImplicitParams GHC extension.
onCssProviderParsingError :: (IsCssProvider a, MonadIO m) => a -> ((?self :: a) => CssProviderParsingErrorCallback) -> m SignalHandlerId Source #
Connect a signal handler for the parsingError signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on cssProvider #parsingError callback