aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.h
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-week-view.h')
-rw-r--r--calendar/gui/e-week-view.h198
1 files changed, 111 insertions, 87 deletions
diff --git a/calendar/gui/e-week-view.h b/calendar/gui/e-week-view.h
index b536e5d5a3..0712e1ac6f 100644
--- a/calendar/gui/e-week-view.h
+++ b/calendar/gui/e-week-view.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef _E_WEEK_VIEW_H_
-#define _E_WEEK_VIEW_H_
+#ifndef E_WEEK_VIEW_H
+#define E_WEEK_VIEW_H
#include <gtk/gtk.h>
#include <libgnomecanvas/gnome-canvas.h>
@@ -29,12 +29,29 @@
#include "e-calendar-view.h"
#include "gnome-cal.h"
-G_BEGIN_DECLS
-
/*
* EWeekView - displays the Week & Month views of the calendar.
*/
+/* Standard GObject macros */
+#define E_TYPE_WEEK_VIEW \
+ (e_week_view_get_type ())
+#define E_WEEK_VIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_WEEK_VIEW, EWeekView))
+#define E_WEEK_VIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_WEEK_VIEW, EWeekViewClass))
+#define E_IS_WEEK_VIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_WEEK_VIEW))
+#define E_IS_WEEK_VIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_WEEK_VIEW))
+#define E_WEEK_VIEW_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_WEEK_VIEW, EWeekViewClass))
+
/* The maximum number of weeks we show. 5 is usually enough for 1 month,
but we allow 6 for longer selections. */
#define E_WEEK_VIEW_MAX_WEEKS 6
@@ -91,6 +108,8 @@ G_BEGIN_DECLS
reached anyway. */
#define E_WEEK_VIEW_MAX_ROWS_PER_CELL 127
+G_BEGIN_DECLS
+
/* These index our colors array. */
typedef enum
{
@@ -147,16 +166,11 @@ struct _EWeekViewEvent {
guint8 num_spans;
};
-#define E_WEEK_VIEW(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, e_week_view_get_type (), EWeekView)
-#define E_WEEK_VIEW_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, e_week_view_get_type (), EWeekViewClass)
-#define E_IS_WEEK_VIEW(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, e_week_view_get_type ())
-
-typedef struct _EWeekView EWeekView;
-typedef struct _EWeekViewClass EWeekViewClass;
+typedef struct _EWeekView EWeekView;
+typedef struct _EWeekViewClass EWeekViewClass;
-struct _EWeekView
-{
- ECalendarView cal_view;
+struct _EWeekView {
+ ECalendarView parent;
/* The top canvas where the dates are shown. */
GtkWidget *titles_canvas;
@@ -342,110 +356,120 @@ struct _EWeekView
time_t before_click_dtend;
};
-struct _EWeekViewClass
-{
+struct _EWeekViewClass {
ECalendarViewClass parent_class;
+
+ void (*cursor_key_up) (EWeekView *week_view);
+ void (*cursor_key_down) (EWeekView *week_view);
+ void (*cursor_key_left) (EWeekView *week_view);
+ void (*cursor_key_right) (EWeekView *week_view);
};
-GType e_week_view_get_type (void);
-GtkWidget* e_week_view_new (ECalModel *model);
+GType e_week_view_get_type (void);
+ECalendarView * e_week_view_new (ECalModel *model);
/* The first day shown. Note that it will be rounded down to the start of a
week when set. The returned value will be invalid if no date has been set
yet. */
-void e_week_view_get_first_day_shown (EWeekView *week_view,
- GDate *date);
-void e_week_view_set_first_day_shown (EWeekView *week_view,
- GDate *date);
+void e_week_view_get_first_day_shown (EWeekView *week_view,
+ GDate *date);
+void e_week_view_set_first_day_shown (EWeekView *week_view,
+ GDate *date);
/* The selected time range. The EWeekView will show the corresponding
month and the days between start_time and end_time will be selected.
To select a single day, use the same value for start_time & end_time. */
-void e_week_view_set_selected_time_range_visible (EWeekView *week_view,
- time_t start_time,
- time_t end_time);
+void e_week_view_set_selected_time_range_visible
+ (EWeekView *week_view,
+ time_t start_time,
+ time_t end_time);
/* Whether to display 1 week or 1 month (5 weeks). It defaults to 1 week. */
-gboolean e_week_view_get_multi_week_view (EWeekView *week_view);
-void e_week_view_set_multi_week_view (EWeekView *week_view,
- gboolean multi_week_view);
+gboolean e_week_view_get_multi_week_view (EWeekView *week_view);
+void e_week_view_set_multi_week_view (EWeekView *week_view,
+ gboolean multi_week_view);
/* Whether to update the base date when the time range changes */
-gboolean e_week_view_get_update_base_date (EWeekView *week_view);
-void e_week_view_set_update_base_date (EWeekView *week_view, gboolean update_base_date);
+gboolean e_week_view_get_update_base_date(EWeekView *week_view);
+void e_week_view_set_update_base_date(EWeekView *week_view,
+ gboolean update_base_date);
/* The number of weeks shown in the multi-week view. */
-gint e_week_view_get_weeks_shown (EWeekView *week_view);
-void e_week_view_set_weeks_shown (EWeekView *week_view,
- gint weeks_shown);
+gint e_week_view_get_weeks_shown (EWeekView *week_view);
+void e_week_view_set_weeks_shown (EWeekView *week_view,
+ gint weeks_shown);
/* Whether the weekend (Sat/Sun) should be compressed into 1 cell in the Month
view. In the Week view they are always compressed. */
-gboolean e_week_view_get_compress_weekend (EWeekView *week_view);
-void e_week_view_set_compress_weekend (EWeekView *week_view,
- gboolean compress);
+gboolean e_week_view_get_compress_weekend(EWeekView *week_view);
+void e_week_view_set_compress_weekend(EWeekView *week_view,
+ gboolean compress_weekend);
/* Whether we display event end times. */
-gboolean e_week_view_get_show_event_end_times (EWeekView *week_view);
-void e_week_view_set_show_event_end_times (EWeekView *week_view,
- gboolean show);
+gboolean e_week_view_get_show_event_end_times
+ (EWeekView *week_view);
+void e_week_view_set_show_event_end_times
+ (EWeekView *week_view,
+ gboolean show_event_end_times);
-/* The first day of the week, 0 (Monday) to 6 (Sunday). */
-gint e_week_view_get_week_start_day (EWeekView *week_view);
-void e_week_view_set_week_start_day (EWeekView *week_view,
- gint week_start_day);
-
-void e_week_view_delete_occurrence (EWeekView *week_view);
+void e_week_view_delete_occurrence (EWeekView *week_view);
/* Returns the number of selected events (0 or 1 at present). */
-gint e_week_view_get_num_events_selected (EWeekView *week_view);
+gint e_week_view_get_num_events_selected
+ (EWeekView *week_view);
/*
* Internal functions called by the associated canvas items.
*/
-void e_week_view_get_day_position (EWeekView *week_view,
- gint day,
- gint *day_x,
- gint *day_y,
- gint *day_w,
- gint *day_h);
-gboolean e_week_view_get_span_position (EWeekView *week_view,
- gint event_num,
- gint span_num,
- gint *span_x,
- gint *span_y,
- gint *span_w);
-gboolean e_week_view_is_one_day_event (EWeekView *week_view,
- gint event_num);
-gboolean e_week_view_start_editing_event (EWeekView *week_view,
- gint event_num,
- gint span_num,
- gchar *initial_text);
-void e_week_view_stop_editing_event (EWeekView *week_view);
-
-void e_week_view_show_popup_menu (EWeekView *week_view,
+void e_week_view_get_day_position (EWeekView *week_view,
+ gint day,
+ gint *day_x,
+ gint *day_y,
+ gint *day_w,
+ gint *day_h);
+gboolean e_week_view_get_span_position (EWeekView *week_view,
+ gint event_num,
+ gint span_num,
+ gint *span_x,
+ gint *span_y,
+ gint *span_w);
+gboolean e_week_view_is_one_day_event (EWeekView *week_view,
+ gint event_num);
+gboolean e_week_view_start_editing_event (EWeekView *week_view,
+ gint event_num,
+ gint span_num,
+ gchar *initial_text);
+void e_week_view_stop_editing_event (EWeekView *week_view);
+
+void e_week_view_show_popup_menu (EWeekView *week_view,
GdkEventButton *event,
- gint event_num);
-
-void e_week_view_convert_time_to_display (EWeekView *week_view,
- gint hour,
- gint *display_hour,
- const gchar **suffix,
- gint *suffix_width);
-gint e_week_view_get_time_string_width (EWeekView *week_view);
-
-gint e_week_view_event_sort_func (const void *arg1,
- const void *arg2);
-
-gboolean e_week_view_find_event_from_item (EWeekView *week_view,
- GnomeCanvasItem *item,
- gint *event_num_return,
- gint *span_num_return);
-
-gboolean e_week_view_is_jump_button_visible (EWeekView *week_view,
- gint day);
-void e_week_view_jump_to_button_item (EWeekView *week_view, GnomeCanvasItem *item);
+ gint event_num);
+
+void e_week_view_convert_time_to_display
+ (EWeekView *week_view,
+ gint hour,
+ gint *display_hour,
+ const gchar **suffix,
+ gint *suffix_width);
+gint e_week_view_get_time_string_width
+ (EWeekView *week_view);
+
+gint e_week_view_event_sort_func (gconstpointer arg1,
+ gconstpointer arg2);
+
+gboolean e_week_view_find_event_from_item (EWeekView *week_view,
+ GnomeCanvasItem *item,
+ gint *event_num_return,
+ gint *span_num_return);
+
+gboolean e_week_view_is_jump_button_visible
+ (EWeekView *week_view,
+ gint day);
+void e_week_view_jump_to_button_item (EWeekView *week_view,
+ GnomeCanvasItem *item);
+void e_week_view_scroll_a_step (EWeekView *week_view,
+ ECalViewMoveDirection direction);
G_END_DECLS
-#endif /* _E_WEEK_VIEW_H_ */
+#endif /* E_WEEK_VIEW_H */