2 * (GLABELS) Label and Business Card Creation program for GNOME
4 * display.h: GLabels Display module header file
6 * Copyright (C) 2001-2002 Jim Evins <evins@snaught.com>.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 GL_DISPLAY_STATE_ARROW,
31 GL_DISPLAY_STATE_OBJECT_CREATE
34 #define GL_TYPE_DISPLAY (gl_display_get_type ())
35 #define GL_DISPLAY(obj) (GTK_CHECK_CAST((obj), GL_TYPE_DISPLAY, glDisplay ))
36 #define GL_DISPLAY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GL_TYPE_DISPLAY, glDisplayClass))
37 #define GL_IS_DISPLAY(obj) (GTK_CHECK_TYPE ((obj), GL_TYPE_DISPLAY))
38 #define GL_IS_DISPLAY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GL_TYPE_DISPLAY))
40 typedef struct _glDisplay glDisplay;
41 typedef struct _glDisplayClass glDisplayClass;
44 GtkVBox parent_widget;
54 glLabelObjectType create_type;
59 GList *selected_item_list;
62 glLabel *selection_data;
68 struct _glDisplayClass {
69 GtkVBoxClass parent_class;
72 extern guint gl_display_get_type (void);
74 extern GtkWidget *gl_display_new (glLabel * label);
76 extern void gl_display_arrow_mode (glDisplay * display);
77 extern void gl_display_object_create_mode (glDisplay * display,
78 glLabelObjectType type);
80 extern void gl_display_add_item (glDisplay * display,
81 GnomeCanvasItem * item);
83 extern void gl_display_select_all (glDisplay * display);
84 extern void gl_display_select_region (glDisplay * display,
89 extern void gl_display_unselect_all (glDisplay * display);
91 extern void gl_display_select_item (glDisplay * display,
92 GnomeCanvasItem * item);
93 extern void gl_display_unselect_item (glDisplay * display,
94 GnomeCanvasItem * item);
96 extern int gl_display_item_event_handler (GnomeCanvasItem * item,
100 extern GtkWidget *gl_display_new_selection_menu (glDisplay * display);
101 extern GtkWidget *gl_display_new_item_menu (GnomeCanvasItem * item);
103 extern gboolean gl_display_modified (glDisplay * display);
104 extern void gl_display_set_modified (glDisplay * display);
105 extern void gl_display_clear_modified (glDisplay * display);
107 extern void gl_display_cut (glDisplay * display);
108 extern void gl_display_copy (glDisplay * display);
109 extern void gl_display_paste (glDisplay * display);
111 extern void gl_display_zoom_in (glDisplay * display);
112 extern void gl_display_zoom_out (glDisplay * display);
113 extern void gl_display_set_zoom (glDisplay * display, gdouble scale);
114 extern gdouble gl_display_get_zoom (glDisplay * display);