aboutsummaryrefslogtreecommitdiff
path: root/libindicator/indicator-object.h
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-01-23 17:00:29 -0600
committerTed Gould <ted@gould.cx>2012-01-23 17:00:29 -0600
commit23e99955bb62b93be875f8bf1d40852320d17f0e (patch)
tree52597ee052632346d71108bcd5dbaea0978c3638 /libindicator/indicator-object.h
parent7935501e7d6d05861dec0a1c603e3fd2308bf423 (diff)
parent95daf102dac37a69686f8a86bf7fe47cd442c7d6 (diff)
downloadlibayatana-indicator-23e99955bb62b93be875f8bf1d40852320d17f0e.tar.gz
libayatana-indicator-23e99955bb62b93be875f8bf1d40852320d17f0e.tar.bz2
libayatana-indicator-23e99955bb62b93be875f8bf1d40852320d17f0e.zip
Add visibility concept to the default indicator object
Diffstat (limited to 'libindicator/indicator-object.h')
-rw-r--r--libindicator/indicator-object.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/libindicator/indicator-object.h b/libindicator/indicator-object.h
index b8b9a8b..2d69b1b 100644
--- a/libindicator/indicator-object.h
+++ b/libindicator/indicator-object.h
@@ -60,6 +60,9 @@ typedef enum
#define INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE "secondary-activate"
#define INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE_ID (g_signal_lookup(INDICATOR_OBJECT_SIGNAL_SECONDARY_ACTIVATE, INDICATOR_OBJECT_TYPE))
+/* the name of the property to decide whether or not entries are visible by default */
+#define INDICATOR_OBJECT_DEFAULT_VISIBILITY "indicator-object-default-visibility"
+
typedef struct _IndicatorObject IndicatorObject;
typedef struct _IndicatorObjectClass IndicatorObjectClass;
typedef struct _IndicatorObjectPrivate IndicatorObjectPrivate;
@@ -91,6 +94,12 @@ typedef struct _IndicatorObjectEntry IndicatorObjectEntry;
@get_show_now: Returns whether the entry is requesting to
be shown "right now" in that it has something important
to tell the user.
+ @entry_being_removed: Called before an entry is removed.
+ The default implementation is to ref and unparent the
+ entry's widgets so that they can be re-added later.
+ @entry_was_added: Called after an entry is added.
+ The default implementation is to unref the entry's widgets if
+ previously reffed by entry_being_removed's default impementation
@entry_activate: Should be called when the menus for a given
entry are shown to the user.
@entry_close: Called when the menu is closed.
@@ -117,6 +126,9 @@ struct _IndicatorObjectClass {
guint (*get_location) (IndicatorObject * io, IndicatorObjectEntry * entry);
gboolean (*get_show_now) (IndicatorObject * io, IndicatorObjectEntry * entry);
+ void (*entry_being_removed) (IndicatorObject * io, IndicatorObjectEntry * entry);
+ void (*entry_was_added) (IndicatorObject * io, IndicatorObjectEntry * entry);
+
void (*entry_activate) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp);
void (*entry_activate_window) (IndicatorObject * io, IndicatorObjectEntry * entry, guint windowid, guint timestamp);
void (*entry_close) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp);
@@ -186,6 +198,7 @@ IndicatorObject * indicator_object_new_from_file (const gchar * file);
GList * indicator_object_get_entries (IndicatorObject * io);
guint indicator_object_get_location (IndicatorObject * io, IndicatorObjectEntry * entry);
guint indicator_object_get_show_now (IndicatorObject * io, IndicatorObjectEntry * entry);
+void indicator_object_set_visible (IndicatorObject * io, gboolean visible);
void indicator_object_entry_activate (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp);
void indicator_object_entry_activate_window (IndicatorObject * io, IndicatorObjectEntry * entry, guint windowid, guint timestamp);
void indicator_object_entry_close (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp);