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,
|
static guint gcal_subscriber_view_get_child_cell (GcalSubscriberView *subscriber,
|
||||||
GcalEventWidget *child);
|
GcalEventWidget *child);
|
||||||
|
|
||||||
|
static void gcal_subscriber_view_clear_state (GcalSubscriberView *subscriber_view);
|
||||||
|
|
||||||
static void gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber,
|
static void gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber,
|
||||||
ECalClient *client,
|
ECalClient *client,
|
||||||
ECalComponent *comp);
|
ECalComponent *comp);
|
||||||
@@ -82,7 +84,8 @@ static void
|
|||||||
event_activated (GcalEventWidget *widget,
|
event_activated (GcalEventWidget *widget,
|
||||||
gpointer user_data)
|
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);
|
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;
|
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 */
|
/* ECalDataModelSubscriber interface API */
|
||||||
static void
|
static void
|
||||||
gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber,
|
gcal_subscriber_view_component_added (ECalDataModelSubscriber *subscriber,
|
||||||
|
|||||||
@@ -53,8 +53,9 @@ struct _GcalSubscriberViewClass
|
|||||||
void (*event_activated) (GcalSubscriberView *subscriber_view, GcalEventWidget *event_widget);
|
void (*event_activated) (GcalSubscriberView *subscriber_view, GcalEventWidget *event_widget);
|
||||||
|
|
||||||
/*< public >*/
|
/*< public >*/
|
||||||
gboolean (*is_child_multicell) (GcalSubscriberView *subscriber, GcalEventWidget *child);
|
gboolean (*is_child_multicell) (GcalSubscriberView *subscriber_view, GcalEventWidget *child);
|
||||||
guint (*get_child_cell) (GcalSubscriberView *subscriber, GcalEventWidget *child);
|
guint (*get_child_cell) (GcalSubscriberView *subscriber_view, GcalEventWidget *child);
|
||||||
|
void (*clear_state) (GcalSubscriberView *subscriber_view);
|
||||||
|
|
||||||
/* gcal-view replacements */
|
/* gcal-view replacements */
|
||||||
GtkWidget* (*get_child_by_uuid) (GcalSubscriberView *subscriber_view, const gchar *uuid);
|
GtkWidget* (*get_child_by_uuid) (GcalSubscriberView *subscriber_view, const gchar *uuid);
|
||||||
|
|||||||
Reference in New Issue
Block a user