1 /* Dia -- an diagram creation/manipulation program
2 * Copyright (C) 1998 Alexander Larsson
4 * diarrowchooser.h -- Copyright (C) 1999 James Henstridge.
5 * Copyright (C) 2004 Hubert Figuiere
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 #ifndef _DIAARROWCHOOSER_H_
23 #define _DIAARROWCHOOSER_H_
31 /* --------------- DiaArrowPreview -------------------------------- */
32 GType
dia_arrow_preview_get_type (void);
34 #define DIA_TYPE_ARROW_PREVIEW (dia_arrow_preview_get_type ())
35 #define DIA_ARROW_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_ARROW_PREVIEW, DiaArrowPreview))
36 #define DIA_ARROW_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_ARROW_PREVIEW, DiaArrowPreviewClass))
37 #define DIA_IS_ARROW_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_ARROW_PREVIEW))
38 #define DIA_IS_ARROW_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIA_TYPE_ARROW_PREVIEW))
39 #define DIA_ARROW_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_ARROW_PREVIEW, DiaArrowPreviewClass))
41 typedef struct _DiaArrowPreview DiaArrowPreview
;
42 typedef struct _DiaArrowPreviewClass DiaArrowPreviewClass
;
44 struct _DiaArrowPreview
51 struct _DiaArrowPreviewClass
53 GtkMiscClass parent_class
;
56 GtkWidget
*dia_arrow_preview_new (ArrowType atype
, gboolean left
);
59 /* ------- Code for DiaArrowChooser ----------------------- */
60 GType
dia_arrow_chooser_get_type (void);
62 #define DIA_TYPE_ARROW_CHOOSER (dia_arrow_chooser_get_type ())
63 #define DIA_ARROW_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_ARROW_CHOOSER, DiaArrowChooser))
64 #define DIA_ARROW_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_ARROW_CHOOSER, DiaArrowChooserClass))
65 #define DIA_IS_ARROW_CHOOSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_ARROW_CHOOSER))
66 #define DIA_IS_ARROW_CHOOSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIA_TYPE_ARROW_CHOOSER))
67 #define DIA_ARROW_CHOOSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_ARROW_CHOOSER, DiaArrowChooserClass))
69 typedef struct _DiaArrowChooser DiaArrowChooser
;
70 typedef struct _DiaArrowChooserClass DiaArrowChooserClass
;
72 typedef void (*DiaChangeArrowCallback
) (Arrow atype
, gpointer user_data
);
74 struct _DiaArrowChooser
77 DiaArrowPreview
*preview
;
81 DiaChangeArrowCallback callback
;
85 DiaArrowSelector
*selector
;
88 struct _DiaArrowChooserClass
90 GtkButtonClass parent_class
;
93 GtkWidget
*dia_arrow_chooser_new (gboolean left
,
94 DiaChangeArrowCallback callback
,
95 gpointer user_data
, GtkTooltips
*tool_tips
);
96 void dia_arrow_chooser_set_arrow(DiaArrowChooser
*chooser
, Arrow
*arrow
);
97 ArrowType
dia_arrow_chooser_get_arrow_type(DiaArrowChooser
*chooser
);
99 #endif /* _DIAARROWCHOOSER_H_ */