📄 calendar.h
字号:
#ifndef _CALENDAR_H__#define _CALENDAR_H__
#include <locale.h>
#include <libintl.h>
#include <gdk/gdk.h>#include <gtk/gtksignal.h>#include <gtk/gtkwidget.h>#ifdef __cplusplusextern "C" {#endif /* __cplusplus */
#define TM_YEAR_BASE 1900
#define TYPE_CALENDAR (calendar_get_type ())#define CALENDAR(obj) (GTK_CHECK_CAST ((obj), TYPE_CALENDAR, Calendar))#define CALENDAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TYPE_CALENDAR, CalendarClass))#define IS_CALENDAR(obj) (GTK_CHECK_TYPE ((obj), TYPE_CALENDAR))#define IS_CALENDAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), TYPE_CALENDAR))
typedef struct _Calendar Calendar;typedef struct _CalendarClass CalendarClass;typedef enum{ CALENDAR_SHOW_HEADING = 1 << 0, CALENDAR_SHOW_DAY_NAMES = 1 << 1, CALENDAR_NO_MONTH_CHANGE = 1 << 2, CALENDAR_SHOW_WEEK_NUMBERS = 1 << 3, CALENDAR_WEEK_START_MONDAY = 1 << 4} CalendarDisplayOptions;
struct _Calendar{ GtkWidget widget; GtkStyle *header_style; GtkStyle *label_style; gint month; gint year; gint setting; gint selected_day; gint day_month[6][7]; gint day[6][7]; gint num_marked_dates; gint marked_date[31]; CalendarDisplayOptions display_flags; GdkColor marked_date_color[31]; GdkGC *gc; GdkGC *xor_gc; gint focus_row; gint focus_col; gint highlight_row; gint highlight_col; gpointer private_data; gchar grow_space [32];};struct _CalendarClass{ GtkWidgetClass parent_class; /* Signal handlers */ void (* month_changed) (Calendar *calendar); void (* day_selected) (Calendar *calendar); void (* day_selected_double_click) (Calendar *calendar); void (* prev_month) (Calendar *calendar); void (* next_month) (Calendar *calendar); void (* prev_year) (Calendar *calendar); void (* next_year) (Calendar *calendar);};
GtkType calendar_get_type (void);GtkWidget* calendar_new (void);gint calendar_select_month (Calendar *calendar, guint month, guint year);void calendar_select_day (Calendar *calendar, guint day);gint calendar_mark_day (Calendar *calendar, guint day);gint calendar_unmark_day (Calendar *calendar, guint day);void calendar_clear_marks (Calendar *calendar);
void calendar_display_options (Calendar *calendar, CalendarDisplayOptions flags);void calendar_get_date (Calendar *calendar, guint *year, guint *month, guint *day);void calendar_freeze (Calendar *calendar);void calendar_thaw (Calendar *calendar);
void mycalendar_init (GtkWidget *calendar);
void calendar_mark_holy_days (GtkWidget * widget);
gint update_clock_date_timer (GtkWidget * widget);
#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __GTK_CALENDAR_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -