subscriber-view: add ::clear_state to reset widget
GcalSubscriberView::clear_state is implemented by descendants to reset the state of the drawing
This commit is contained in:
@@ -56,6 +56,8 @@ static gboolean gcal_subscriber_view_is_child_multicell (GcalSubscr
|
||||
static guint gcal_subscriber_view_get_child_cell (GcalSubscriberView *subscriber,
|
||||
GcalEventWidget *child);
|
||||
|
||||
static void gcal_subscriber_view_clear_state (GcalSubscriberView *subscriber_view);
|
||||
|
||||
static void gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber,
|
||||
ECalClient *client,
|
||||
ECalComponent *comp);
|
||||
@@ -82,7 +84,8 @@ static void
|
||||
event_activated (GcalEventWidget *widget,
|
||||
gpointer user_data)
|
||||
{
|
||||
/* FIXME: clear_widget marks + popover + any state */
|
||||
/* FIXME: implement clear_state vfunc in descendants */
|
||||
gcal_subscriber_view_clear_state (GCAL_SUBSCRIBER_VIEW (user_data));
|
||||
g_signal_emit (GCAL_SUBSCRIBER_VIEW (user_data), signals[EVENT_ACTIVATED], 0, widget);
|
||||
}
|
||||
|
||||
@@ -320,6 +323,18 @@ gcal_subscriber_view_get_child_cell (GcalSubscriberView *subscriber,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
gcal_subscriber_view_clear_state (GcalSubscriberView *subscriber_view)
|
||||
{
|
||||
GcalSubscriberViewClass *klass;
|
||||
|
||||
g_return_if_fail (GCAL_IS_SUBSCRIBER_VIEW (subscriber_view));
|
||||
|
||||
klass = GCAL_SUBSCRIBER_VIEW_GET_CLASS (subscriber_view);
|
||||
if (klass->clear_state)
|
||||
klass->clear_state (subscriber_view);
|
||||
}
|
||||
|
||||
/* ECalDataModelSubscriber interface API */
|
||||
static void
|
||||
gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber,
|
||||
|
||||
@@ -53,8 +53,9 @@ struct _GcalSubscriberViewClass
|
||||
void (*event_activated) (GcalSubscriberView *subscriber_view, GcalEventWidget *event_widget);
|
||||
|
||||
/*< public >*/
|
||||
gboolean (*is_child_multicell) (GcalSubscriberView *subscriber, GcalEventWidget *child);
|
||||
guint (*get_child_cell) (GcalSubscriberView *subscriber, GcalEventWidget *child);
|
||||
gboolean (*is_child_multicell) (GcalSubscriberView *subscriber_view, GcalEventWidget *child);
|
||||
guint (*get_child_cell) (GcalSubscriberView *subscriber_view, GcalEventWidget *child);
|
||||
void (*clear_state) (GcalSubscriberView *subscriber_view);
|
||||
|
||||
/* gcal-view replacements */
|
||||
GtkWidget* (*get_child_by_uuid) (GcalSubscriberView *subscriber_view, const gchar *uuid);
|
||||
|
||||
Reference in New Issue
Block a user