summaryrefslogtreecommitdiff
path: root/libs/gtkmm2/gtk/gtkmm/icontheme.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/icontheme.h')
-rw-r--r--libs/gtkmm2/gtk/gtkmm/icontheme.h394
1 files changed, 394 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/icontheme.h b/libs/gtkmm2/gtk/gtkmm/icontheme.h
new file mode 100644
index 0000000000..450ad2f9ea
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/icontheme.h
@@ -0,0 +1,394 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_ICONTHEME_H
+#define _GTKMM_ICONTHEME_H
+
+#include <glibmm.h>
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/screen.h>
+
+#include <gtkmm/iconinfo.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkIconTheme GtkIconTheme;
+typedef struct _GtkIconThemeClass GtkIconThemeClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class IconTheme_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** @addtogroup gtkmmEnums Enums and Flags */
+
+/**
+ * @ingroup gtkmmEnums
+ * @par Bitwise operators:
+ * <tt>%IconLookupFlags operator|(IconLookupFlags, IconLookupFlags)</tt><br>
+ * <tt>%IconLookupFlags operator&(IconLookupFlags, IconLookupFlags)</tt><br>
+ * <tt>%IconLookupFlags operator^(IconLookupFlags, IconLookupFlags)</tt><br>
+ * <tt>%IconLookupFlags operator~(IconLookupFlags)</tt><br>
+ * <tt>%IconLookupFlags& operator|=(IconLookupFlags&, IconLookupFlags)</tt><br>
+ * <tt>%IconLookupFlags& operator&=(IconLookupFlags&, IconLookupFlags)</tt><br>
+ * <tt>%IconLookupFlags& operator^=(IconLookupFlags&, IconLookupFlags)</tt><br>
+ */
+enum IconLookupFlags
+{
+ ICON_LOOKUP_NO_SVG = 1 << 0,
+ ICON_LOOKUP_FORCE_SVG = 1 << 1,
+ ICON_LOOKUP_USE_BUILTIN = 1 << 2
+};
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags operator|(IconLookupFlags lhs, IconLookupFlags rhs)
+ { return static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags operator&(IconLookupFlags lhs, IconLookupFlags rhs)
+ { return static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags operator^(IconLookupFlags lhs, IconLookupFlags rhs)
+ { return static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags operator~(IconLookupFlags flags)
+ { return static_cast<IconLookupFlags>(~static_cast<unsigned>(flags)); }
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags& operator|=(IconLookupFlags& lhs, IconLookupFlags rhs)
+ { return (lhs = static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags& operator&=(IconLookupFlags& lhs, IconLookupFlags rhs)
+ { return (lhs = static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
+
+/** @ingroup gtkmmEnums */
+inline IconLookupFlags& operator^=(IconLookupFlags& lhs, IconLookupFlags rhs)
+ { return (lhs = static_cast<IconLookupFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
+
+
+/** Exception class for Gdk::IconTheme errors.
+ */
+class IconThemeError : public Glib::Error
+{
+public:
+ enum Code
+ {
+ ICON_THEME_NOT_FOUND,
+ ICON_THEME_FAILED
+ };
+
+ IconThemeError(Code error_code, const Glib::ustring& error_message);
+ explicit IconThemeError(GError* gobject);
+ Code code() const;
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+private:
+ static void throw_func(GError* gobject);
+ friend void wrap_init(); // uses throw_func()
+#endif
+};
+
+} // namespace Gtk
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+namespace Glib
+{
+
+template <>
+class Value<Gtk::IconThemeError::Code> : public Glib::Value_Enum<Gtk::IconThemeError::Code>
+{
+public:
+ static GType value_type() G_GNUC_CONST;
+};
+
+} // namespace Glib
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{
+
+
+class IconTheme : public Glib::Object
+{
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+public:
+ typedef IconTheme CppObjectType;
+ typedef IconTheme_Class CppClassType;
+ typedef GtkIconTheme BaseObjectType;
+ typedef GtkIconThemeClass BaseClassType;
+
+private: friend class IconTheme_Class;
+ static CppClassType icontheme_class_;
+
+private:
+ // noncopyable
+ IconTheme(const IconTheme&);
+ IconTheme& operator=(const IconTheme&);
+
+protected:
+ explicit IconTheme(const Glib::ConstructParams& construct_params);
+ explicit IconTheme(GtkIconTheme* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+ virtual ~IconTheme();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GObject.
+ GtkIconTheme* gobj() { return reinterpret_cast<GtkIconTheme*>(gobject_); }
+
+ ///Provides access to the underlying C GObject.
+ const GtkIconTheme* gobj() const { return reinterpret_cast<GtkIconTheme*>(gobject_); }
+
+ ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
+ GtkIconTheme* gobj_copy();
+
+private:
+
+
+protected:
+ IconTheme();
+public:
+
+ static Glib::RefPtr<IconTheme> create();
+
+
+ /** Gets the icon theme for the default screen. See
+ * get_for_screen().
+ * @return A unique Gtk::IconTheme associated with
+ * the default screen. This icon theme is associated with
+ * the screen and can be used as long as the screen
+ * is open.
+ *
+ * Since: 2.4.
+ */
+ static Glib::RefPtr<IconTheme> get_default();
+
+ /** Gets the icon theme object associated with @a screen ; if this
+ * function has not previously been called for the given
+ * screen, a new icon theme object will be created and
+ * associated with the screen. Icon theme objects are
+ * fairly expensive to create, so using this function
+ * is usually a better choice than calling than new()
+ * and setting the screen yourself; by using this function
+ * a single icon theme object will be shared between users.
+ * @param screen A Gdk::Screen.
+ * @return A unique Gtk::IconTheme associated with
+ * the given screen. This icon theme is associated with
+ * the screen and can be used as long as the screen
+ * is open.
+ *
+ * Since: 2.4.
+ */
+ static Glib::RefPtr<IconTheme> get_for_screen(const Glib::RefPtr<Gdk::Screen>& screen);
+
+ /** Sets the screen for an icon theme; the screen is used
+ * to track the user's currently configured icon theme,
+ * which might be different for different screens.
+ *
+ * Since: 2.4
+ * @param screen A Gdk::Screen.
+ */
+ void set_screen(const Glib::RefPtr<Gdk::Screen>& screen);
+ void set_search_path(const Glib::ArrayHandle<Glib::ustring>& path);
+ Glib::ArrayHandle<Glib::ustring> get_search_path() const;
+
+ /** Appends a directory to the search path.
+ * See set_search_path().
+ *
+ * Since: 2.4
+ * @param path Directory name to append to the icon path.
+ */
+ void append_search_path(const Glib::ustring& path);
+
+ /** Prepends a directory to the search path.
+ * See set_search_path().
+ *
+ * Since: 2.4
+ * @param path Directory name to prepend to the icon path.
+ */
+ void prepend_search_path(const Glib::ustring& path);
+
+ /** Sets the name of the icon theme that the Gtk::IconTheme object uses
+ * overriding system configuration. This function cannot be called
+ * on the icon theme objects returned from get_default()
+ * and get_default().
+ *
+ * Since: 2.4
+ * @param theme_name Name of icon theme to use instead of configured theme.
+ */
+ void set_custom_theme(const Glib::ustring& theme_name);
+
+ /** Checks whether an icon theme includes an icon
+ * for a particular name.
+ * @param icon_name The name of an icon.
+ * @return <tt>true</tt> if @a icon_theme includes an
+ * icon for @a icon_name .
+ *
+ * Since: 2.4.
+ */
+ bool has_icon(const Glib::ustring& icon_name) const;
+
+ Glib::ArrayHandle<int> get_icon_sizes(const Glib::ustring& icon_name) const;
+
+
+//TODO: Update the docs for this, to suggest use of IconInfo::operator bool() instead of saying that it returns null.
+
+ /** Looks up a named icon and returns a structure containing
+ * information such as the filename of the icon. The icon
+ * can then be rendered into a pixbuf using
+ * gtk_icon_info_load_icon(). (load_icon()
+ * combines these two steps if all you need is the pixbuf.)
+ * @param icon_name The name of the icon to lookup.
+ * @param size Desired icon size.
+ * @param flags Flags modifying the behavior of the icon lookup.
+ * @return A Gtk::IconInfo structure containing information
+ * about the icon, or <tt>0</tt> if the icon wasn't found. Free with
+ * gtk_icon_info_free()
+ *
+ * Since: 2.4.
+ */
+ IconInfo lookup_icon(const Glib::ustring& icon_name, int size, IconLookupFlags flags) const;
+
+
+ /** Looks up an icon in an icon theme, scales it to the given size
+ * and renders it into a pixbuf. This is a convenience function;
+ * if more details about the icon are needed, use
+ * lookup_icon() followed by gtk_icon_info_load_icon().
+ * @param icon_name The name of the icon to lookup.
+ * @param size The desired icon size. The resulting icon may not be exactly this size; see gtk_icon_info_load_icon().
+ * @param flags Flags modifying the behavior of the icon lookup.
+ * @return The rendered icon; this may be a newly created icon
+ * or a new reference to an internal icon, so you must not modify
+ * the icon. Use Glib::object_unref() to release your reference to the
+ * icon. <tt>0</tt> if the icon isn't found.
+ *
+ * Since: 2.4.
+ */
+ Glib::RefPtr<Gdk::Pixbuf> load_icon(const Glib::ustring& icon_name, int size, IconLookupFlags flags) const;
+
+
+ /** Lists the icons in the current icon theme. Only a subset
+ * of the icons can be listed by providing a context string.
+ * The set of values for the context string is system dependent,
+ * but will typically include such values as 'apps' and
+ * 'mimetypes'.
+ * @param context A string identifying a particular type of icon,
+ * or <tt>0</tt> to list all icons.
+ * @return A G::List list holding the names of all the
+ * icons in the theme. You must first free each element
+ * in the list with Glib::free(), then free the list itself
+ * with Glib::list_free().
+ *
+ * Since: 2.4.
+ */
+ Glib::ListHandle<Glib::ustring> list_icons(const Glib::ustring& context) const;
+
+ /** Gets the name of an icon that is representative of the
+ * current theme (for instance, to use when presenting
+ * a list of themes to the user.)
+ * @return The name of an example icon or <tt>0</tt>.
+ * Free with Glib::free().
+ *
+ * Since: 2.4.
+ */
+ Glib::ustring get_example_icon_name() const;
+
+ /** Checks to see if the icon theme has changed; if it has, any
+ * currently cached information is discarded and will be reloaded
+ * next time @a icon_theme is accessed.
+ * @return <tt>true</tt> if the icon theme has changed and needed
+ * to be reloaded.
+ *
+ * Since: 2.4.
+ */
+ bool rescan_if_needed();
+
+ /** Registers a built-in icon for icon theme lookups. The idea
+ * of built-in icons is to allow an application or library
+ * that uses themed icons to function requiring files to
+ * be present in the file system. For instance, the default
+ * images for all of GTK+'s stock icons are registered
+ * as built-icons.
+ *
+ * In general, if you use add_builtin_icon()
+ * you should also install the icon in the icon theme, so
+ * that the icon is generally available.
+ *
+ * This function will generally be used with pixbufs loaded
+ * via gdk_pixbuf_new_from_inline().
+ *
+ * Since: 2.4
+ * @param icon_name The name of the icon to register.
+ * @param size The size at which to register the icon (different
+ * images can be registered for the same icon name
+ * at different sizes.).
+ * @param pixbuf Gdk::Pixbuf that contains the image to use
+ * for @a icon_name .
+ */
+ static void add_builtin_icon(const Glib::ustring& icon_name, int size, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf);
+
+
+ Glib::SignalProxy0< void > signal_changed();
+
+
+public:
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+
+ //Default Signal Handlers::
+ virtual void on_changed();
+
+
+};
+
+} // namespace Gtk
+
+
+namespace Glib
+{
+ /** @relates Gtk::IconTheme
+ * @param object The C instance
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ */
+ Glib::RefPtr<Gtk::IconTheme> wrap(GtkIconTheme* object, bool take_copy = false);
+}
+
+
+#endif /* _GTKMM_ICONTHEME_H */
+