⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendar.h

📁 一个linux下的时钟软件
💻 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 + -