1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
2 /* gtkhtml-color-combo.h
4 * Copyright (C) 2008 Novell, Inc.
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of version 2 of the GNU Lesser General Public
8 * License as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the
17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 * Boston, MA 02111-1307, USA.
21 #ifndef GTKHTML_COLOR_COMBO_H
22 #define GTKHTML_COLOR_COMBO_H
24 #include "gtkhtml-editor-common.h"
25 #include "gtkhtml-color-palette.h"
26 #include "gtkhtml-color-state.h"
28 /* Standard GObject macros */
29 #define GTKHTML_TYPE_COLOR_COMBO \
30 (gtkhtml_color_combo_get_type ())
31 #define GTKHTML_COLOR_COMBO(obj) \
32 (G_TYPE_CHECK_INSTANCE_CAST \
33 ((obj), GTKHTML_TYPE_COLOR_COMBO, GtkhtmlColorCombo))
34 #define GTKHTML_COLOR_COMBO_CLASS(cls) \
35 (G_TYPE_CHECK_CLASS_CAST \
36 ((cls), GTKHTML_TYPE_COLOR_COMBO, GtkhtmlColorComboClass))
37 #define GTKHTML_IS_COLOR_COMBO(obj) \
38 (G_TYPE_CHECK_INSTANCE_TYPE \
39 ((obj), GTKHTML_TYPE_COLOR_COMBO))
40 #define GTKHTML_IS_COLOR_COMBO_CLASS(cls) \
41 (G_TYPE_CHECK_CLASS_TYPE \
42 ((cls), GTKHTML_TYPE_COLOR_COMBO))
43 #define GTKHTML_COLOR_COMBO_GET_CLASS(obj) \
44 (G_TYPE_INSTANCE_GET_CLASS \
45 ((obj), GTKHTML_TYPE_COLOR_COMBO, GtkhtmlColorComboClass))
49 typedef struct _GtkhtmlColorCombo GtkhtmlColorCombo
;
50 typedef struct _GtkhtmlColorComboClass GtkhtmlColorComboClass
;
51 typedef struct _GtkhtmlColorComboPrivate GtkhtmlColorComboPrivate
;
53 struct _GtkhtmlColorCombo
{
55 GtkhtmlColorComboPrivate
*priv
;
58 struct _GtkhtmlColorComboClass
{
59 GtkBinClass parent_class
;
61 void (*popup
) (GtkhtmlColorCombo
*combo
);
62 void (*popdown
) (GtkhtmlColorCombo
*combo
);
65 GType
gtkhtml_color_combo_get_type (void);
66 GtkWidget
* gtkhtml_color_combo_new (void);
67 GtkWidget
* gtkhtml_color_combo_new_defaults
68 (GdkColor
*default_color
,
69 const gchar
*default_label
);
70 void gtkhtml_color_combo_popup (GtkhtmlColorCombo
*combo
);
71 void gtkhtml_color_combo_popdown (GtkhtmlColorCombo
*combo
);
72 gboolean gtkhtml_color_combo_get_current_color
73 (GtkhtmlColorCombo
*combo
,
75 void gtkhtml_color_combo_set_current_color
76 (GtkhtmlColorCombo
*combo
,
78 void gtkhtml_color_combo_get_default_color
79 (GtkhtmlColorCombo
*combo
,
81 void gtkhtml_color_combo_set_default_color
82 (GtkhtmlColorCombo
*combo
,
83 GdkColor
*default_color
);
84 const gchar
* gtkhtml_color_combo_get_default_label
85 (GtkhtmlColorCombo
*combo
);
86 void gtkhtml_color_combo_set_default_label
87 (GtkhtmlColorCombo
*combo
,
89 gboolean gtkhtml_color_combo_get_default_transparent
90 (GtkhtmlColorCombo
*combo
);
91 void gtkhtml_color_combo_set_default_transparent
92 (GtkhtmlColorCombo
*combo
,
93 gboolean transparent
);
95 gtkhtml_color_combo_get_palette (GtkhtmlColorCombo
*combo
);
96 void gtkhtml_color_combo_set_palette (GtkhtmlColorCombo
*combo
,
97 GtkhtmlColorPalette
*palette
);
99 gtkhtml_color_combo_get_state (GtkhtmlColorCombo
*combo
);
100 void gtkhtml_color_combo_set_state (GtkhtmlColorCombo
*combo
,
101 GtkhtmlColorState
*state
);
105 #endif /* GTKHTML_COLOR_COMBO_H */