1 /* Dia -- an diagram creation/manipulation program
2 * Copyright (C) 1998 Alexander Larsson
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 #include <gtk/gtkmenu.h>
25 #include <gtk/gtkoptionmenu.h>
26 #include <gtk/gtkdrawingarea.h>
27 #include <gtk/gtkcolorsel.h>
28 #include <gtk/gtkhbox.h>
29 #include <gtk/gtkfilesel.h>
30 #include <gtk/gtkspinbutton.h>
31 #include <gtk/gtklabel.h>
32 #include <gtk/gtkcolorseldialog.h>
40 /* DiaFontSelector: */
41 #define DIAFONTSELECTOR(obj) GTK_CHECK_CAST (obj, dia_font_selector_get_type (), DiaFontSelector)
42 #define DIAFONTSELECTOR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, dia_font_selector_get_type (), DiaFontSelectorClass)
43 #define IS_DIAFONTSELECTOR(obj) GTK_CHECK_TYPE (obj, dia_font_selector_get_type ())
46 struct _DiaFontSelector
50 GtkOptionMenu
*font_omenu
;
51 GtkOptionMenu
*style_omenu
;
58 struct _DiaFontSelectorClass
60 GtkHBoxClass parent_class
;
63 guint
dia_font_selector_get_type (void);
64 GtkWidget
* dia_font_selector_new (void);
65 void dia_font_selector_set_font (DiaFontSelector
*fs
, DiaFont
*font
);
66 void dia_font_selector_set_preview (DiaFontSelector
*fs
, gchar
*text
);
67 DiaFont
* dia_font_selector_get_font (DiaFontSelector
*fs
);
69 /* DiaAlignmentSelector: */
70 #define DIAALIGNMENTSELECTOR(obj) GTK_CHECK_CAST (obj, dia_alignment_selector_get_type (), DiaAlignmentSelector)
71 #define DIAALIGNMENTSELECTOR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, dia_alignment_selector_get_type (), DiaAlignmentSelectorClass)
72 #define IS_DIAALIGNMENTSELECTOR(obj) GTK_CHECK_TYPE (obj, dia_alignment_selector_get_type ())
75 struct _DiaAlignmentSelector
79 GtkMenu
*alignment_menu
;
82 struct _DiaAlignmentSelectorClass
84 GtkOptionMenuClass parent_class
;
87 guint
dia_alignment_selector_get_type (void);
88 GtkWidget
* dia_alignment_selector_new (void);
89 Alignment
dia_alignment_selector_get_alignment (DiaAlignmentSelector
*as
);
90 void dia_alignment_selector_set_alignment (DiaAlignmentSelector
*as
,
93 /* DiaLineStyleSelector: */
94 #define DIALINESTYLESELECTOR(obj) GTK_CHECK_CAST (obj, dia_line_style_selector_get_type (), DiaLineStyleSelector)
95 #define DIALINESTYLESELECTOR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, dia_line_style_selector_get_type (), DiaLineStyleSelectorClass)
96 #define IS_DIALINESTYLESELECTOR(obj) GTK_CHECK_TYPE (obj, dia_line_style_selector_get_type ())
98 #define DEFAULT_LINESTYLE LINESTYLE_SOLID
99 #define DEFAULT_LINESTYLE_DASHLEN 1.0
102 struct _DiaLineStyleSelector
106 GtkOptionMenu
*omenu
;
107 GtkMenu
*linestyle_menu
;
108 GtkLabel
*lengthlabel
;
109 GtkSpinButton
*dashlength
;
113 struct _DiaLineStyleSelectorClass
115 GtkVBoxClass parent_class
;
118 guint
dia_line_style_selector_get_type (void);
119 GtkWidget
* dia_line_style_selector_new (void);
120 void dia_line_style_selector_get_linestyle (DiaLineStyleSelector
*as
,
121 LineStyle
*linestyle
,
123 void dia_line_style_selector_set_linestyle (DiaLineStyleSelector
*as
,
127 /* DiaColorSelector: */
128 #define DIACOLORSELECTOR(obj) GTK_CHECK_CAST (obj, dia_color_selector_get_type (), DiaColorSelector)
129 #define DIACOLORSELECTOR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, dia_color_selector_get_type (), DiaColorSelectorClass)
130 #define IS_DIACOLORSELECTOR(obj) GTK_CHECK_TYPE (obj, dia_color_selector_get_type ())
132 #define DEFAULT_FG_COLOR color_black
133 #define DEFAULT_BG_COLOR color_white
134 #define DEFAULT_COLOR color_white
137 struct _DiaColorSelector
149 struct _DiaColorSelectorClass
151 GtkButtonClass parent_class
;
154 guint
dia_color_selector_get_type (void);
155 GtkWidget
* dia_color_selector_new (void);
156 void dia_color_selector_get_color (DiaColorSelector
*cs
, Color
*color
);
157 void dia_color_selector_set_color (DiaColorSelector
*cs
,
161 /* DiaArrowSelector */
162 #define DIAARROWSELECTOR(obj) GTK_CHECK_CAST (obj, dia_arrow_selector_get_type (), DiaArrowSelector)
163 #define DIAARROWSELECTOR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, dia_arrow_selector_get_type (), DiaArrowSelectorClass)
164 #define IS_DIAARROWSELECTOR(obj) GTK_CHECK_TYPE (obj, dia_arrow_selector_get_type ())
166 #define DEFAULT_ARROW ARROW_NONE
167 #define DEFAULT_ARROW_LENGTH 0.8
168 #define DEFAULT_ARROW_WIDTH 0.8
171 struct _DiaArrowSelector
176 GtkLabel
*lengthlabel
;
177 GtkSpinButton
*length
;
178 GtkLabel
*widthlabel
;
179 GtkSpinButton
*width
;
181 GtkOptionMenu
*omenu
;
182 GtkMenu
*arrow_type_menu
;
185 struct _DiaArrowSelectorClass
187 GtkVBoxClass parent_class
;
190 guint
dia_arrow_selector_get_type (void);
191 GtkWidget
* dia_arrow_selector_new (void);
192 Arrow
dia_arrow_selector_get_arrow (DiaArrowSelector
*as
);
193 void dia_arrow_selector_set_arrow (DiaArrowSelector
*as
,
197 /* DiaFileSelector: */
198 #define DIAFILESELECTOR(obj) GTK_CHECK_CAST (obj, dia_file_selector_get_type (), DiaFileSelector)
199 #define DIAFILESELECTOR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, dia_file_selector_get_type (), DiaFileSelectorClass)
200 #define IS_DIAFILESELECTOR(obj) GTK_CHECK_TYPE (obj, dia_file_selector_get_type ())
203 struct _DiaFileSelector
208 GtkFileSelection
*dialog
;
211 struct _DiaFileSelectorClass
213 GtkHBoxClass parent_class
;
216 guint
dia_file_selector_get_type (void);
217 GtkWidget
* dia_file_selector_new (void);
218 void dia_file_selector_set_file (DiaFileSelector
*fs
, char *file
);
219 const gchar
*dia_file_selector_get_file (DiaFileSelector
*fs
);
221 /* Other common defaults */
223 #define DEFAULT_ALIGNMENT ALIGN_LEFT
224 /* This is defined in app/linewidth_area.c. Aw, bummer */
225 #define DEFAULT_LINE_WIDTH 2*0.05
227 #endif /* WIDGETS_H */