X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-dimming-rule.h;h=d1f1a295aa3ad4be77c1a3f75b9527bd921f9f73;hp=0e7e8adfd17e9946537dbcc12cc64e61559844e5;hb=12a672c559d983c4e49a7e4054ee14c0177ecb1c;hpb=2da007966ea445b3574320d9c914c7475df64c59 diff --git a/src/modest-dimming-rule.h b/src/modest-dimming-rule.h index 0e7e8ad..d1f1a29 100644 --- a/src/modest-dimming-rule.h +++ b/src/modest-dimming-rule.h @@ -32,6 +32,7 @@ #include #include "widgets/modest-window.h" +#include "modest-dimming-rules-group.h" G_BEGIN_DECLS @@ -48,6 +49,8 @@ typedef struct _ModestDimmingRuleClass ModestDimmingRuleClass; typedef gboolean (*ModestDimmingCallback) (ModestWindow *self, gpointer user_data); +#define MODEST_DIMMING_CALLBACK(x) ((ModestDimmingCallback) (x)) + struct _ModestDimmingRule { GObject parent; @@ -81,8 +84,87 @@ ModestDimmingRule* modest_dimming_rule_new (ModestWindow *win, ModestDimmingCallback dimming_rule, const gchar *action_path); -void -modest_dimming_rule_process (ModestDimmingRule *self); + +/** + * modest_dimming_rule_new: + * @win: the #ModestWindow object which executes dimming rule. + * @dimming_rule: a #ModestDimmingCallback function to check dimmed status. + * @widget: the widget the rule will apply to + * + * Creates a new instance of class #ModestDimmingRule using parameters to + * fill private data, required to process dimming rules. All parameters + * are required and NULL will be returned if one of these parameters is + * invalid or NULL. + * + * Returns: a new instance of #ModestDimmingRule class, or NULL, if parameters + * are invalid. + **/ +ModestDimmingRule* +modest_dimming_rule_new_from_widget (ModestWindow *win, + ModestDimmingCallback dimming_rule, + GtkWidget *widget); +/** + * modest_dimming_rule_process: + * @rule: a #ModestDimmingRule object to process. + * + * Process dimming rule, executing private callback defined at + * instantiation time. This callback may updates notification provate field + * of @rule in order to show information banners when 'insensitive-press' + * events occurs. + * + **/ +void modest_dimming_rule_process (ModestDimmingRule *self); + +/** + * modest_dimming_rule_set_group: + * @rule: a #ModestDimmingRule object to process. + * @group: a #ModestDimmingRulesGroup object to associate. + * + * Creates a new reference of @group, associated to this "rule. + */ +void modest_dimming_rule_set_group (ModestDimmingRule *rule, + ModestDimmingRulesGroup *group); + +/** + * modest_dimming_rule_set_group: + * @rule: a #ModestDimmingRule object to process. + * + * Gets a new reference of associated group of this @rule. + * + * @Returns: a new object reference of #ModestDimmingRulesGroup, or + * NULL if invalid @rule. + */ +ModestDimmingRulesGroup * +modest_dimming_rule_get_group (ModestDimmingRule *rule); + +/** + * modest_dimming_rule_get_widget: + * @rule: a #ModestDimmingRule + * + * Widget the dimming rule is referenced to + * + * Returns: a #GtkWidget or %NULL if the dimming rule has no widget attached + */ +const gchar* +modest_dimming_rule_get_action_path (ModestDimmingRule *rule); + +/** + * modest_dimming_rule_get_widget: + * @rule: a #ModestDimmingRule + * + * In case the dimming rule references directly a widget, it + * returns the widget. + * + * Returns: a #GtkWidget or %NULL if the dimming rule has no direct widget attached + */ +GtkWidget * +modest_dimming_rule_get_widget (ModestDimmingRule *rule); + +void modest_dimming_rule_set_notification (ModestDimmingRule *rule, + const gchar *notification); + +gchar *modest_dimming_rule_get_notification (ModestDimmingRule *rule); + G_END_DECLS