📄 schedule-widget.h
字号:
/* TradeClient <http://tradeclient.sourceforge.net> * $Id: schedule-widget.h,v 1.10 2001/03/20 20:12:35 ttabner Exp $ * * Copyright (C) 1999-2000 Bynari Inc. * Copyright (C) 2001 Project TradeClient * * LGPL * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library * General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */#ifndef _SCHEDULE_H_#define _SCHEDULE_H_#include <gtk/gtk.h>#include <gtk/gtkcontainer.h>#include <time.h>#define SCHEDULE(obj) \ GTK_CHECK_CAST (obj, schedule_get_type (), Schedule)#define SCHEDULE_CLASS(klass) \ GTK_CHECK_CLASS_CAST (klass, schedule_get_type (), ScheduleClass)#define SCHEDULE_IS_SCHEDULE(obj) \ GTK_CHECK_TYPE (obj, schedule_get_type ())typedef enum DragType{ DRAG_MOVE, DRAG_SIZEUP, DRAG_SIZEDOWN}DragType;typedef enum ScheduleTime{ SCHEDULE_AMPM, SCHEDULE_24HR}ScheduleTime;typedef enum ScheduleGranularity{ SCHEDULE_15M, SCHEDULE_30M, SCHEDULE_60M}ScheduleGranularity;typedef struct _Schedule Schedule;typedef struct _ScheduleClass ScheduleClass;typedef struct _ScheduleChild ScheduleChild;typedef struct _ScheduleDragInfo ScheduleDragInfo;struct _Schedule{ GtkContainer container; GList *children; ScheduleTime time_style; ScheduleGranularity granularity; GdkGC *dark; GdkGC *light; int depth_count; int child_count; int row_height; int upper, lower; int selected_row_start, selected_row_stop; int width, height; int day_start_row, day_end_row; GdkCursor *up_down_cursor;};struct _ScheduleClass{ GtkContainerClass parent_class; void (*child_changed) (Schedule * schedule, char *text, gpointer data, time_t start, time_t stop); void (*child_double_clicked) (Schedule * schedule, char *text, gpointer data, time_t start, time_t stop); void (*child_right_clicked) (Schedule * schedule, char *text, gpointer data, time_t start, time_t stop); void (*child_selected) (Schedule * schedule, char *text, gpointer data, time_t start, time_t stop); void (*row_selected) (Schedule * schedule, int row, time_t index); void (*row_unselected) (Schedule * schedule, int row, time_t index);};struct _ScheduleChild{ Schedule *schedule; gpointer data; GdkGC *color; GtkWidget *widget; GdkWindow *window; guint focus_out_id; int flags; int start, stop; int x, y; int width, height; int decor_width, decor_height;};struct _ScheduleDragInfo{ ScheduleChild *child; DragType type; int start_x, start_y; int rel_x, rel_y;};GtkWidget *schedule_new (void);guint schedule_get_type (void);ScheduleChild *schedule_child_new (Schedule * schedule);void schedule_add_child (Schedule * schedule, char *text, time_t start, time_t stop, gpointer data);void schedule_destroy_children (Schedule * schedule);void schedule_set_upper (Schedule * schedule, time_t upper);void schedule_child_get_time (Schedule * schedule, gpointer seek_data, time_t * start, time_t * stop);void schedule_time_set (Schedule * schedule, ScheduleTime format);void schedule_time_toggle (Schedule * schedule);void schedule_granularity_set (Schedule * schedule, ScheduleGranularity granularity);void schedule_set_work_day (Schedule * schedule, int start, int stop);void schedule_child_set_color (ScheduleChild * child, GdkGC * color);void schedule_set_background_color (Schedule * schedule, GdkGC * dark, GdkGC * light);GList *schedule_find_conflicts (Schedule *schedule);#endif /* _SCHEDULE_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -