clean code and changed version nro.
[irreco.git] / irreco / src / core / irreco_theme_creator_buttons.h
blob5f017cae8315e358fb5eb0fa16f97834ef77e5d6
1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
2 /*
3 * irreco - Ir Remote Control
4 * Copyright (C) 2008 Pekka Gehör (pegu6@msn.com)
6 * irreco_theme_creator_buttons.c is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * irreco_theme_creator_buttons.c is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
20 /**
21 * @addtogroup IrrecoThemeCreatorButtons
22 * @{
25 /**
26 * @file
27 * Header file of @ref IrrecoThemeCreatorButtons.
30 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
31 /* Typedef */
32 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
34 * Make sure that typedefs are available before we include anything elese.
36 * This makes sure that whatever other structures that depend on structures
37 * defined in this file will compile OK recardles of header inclusion order.
39 #ifndef __IRRECO_THEME_CREATOR_BUTTONS_H_TYPEDEF__
40 #define __IRRECO_THEME_CREATOR_BUTTONS_H_TYPEDEF__
42 typedef struct _IrrecoThemeCreatorButtonsClass IrrecoThemeCreatorButtonsClass;
43 typedef struct _IrrecoThemeCreatorButtons IrrecoThemeCreatorButtons;
45 #define IRRECO_TYPE_THEME_CREATOR_BUTTONS (irreco_theme_creator_buttons_get_type ())
46 #define IRRECO_THEME_CREATOR_BUTTONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IRRECO_TYPE_THEME_CREATOR_BUTTONS, IrrecoThemeCreatorButtons))
47 #define IRRECO_THEME_CREATOR_BUTTONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IRRECO_TYPE_THEME_CREATOR_BUTTONS, IrrecoThemeCreatorButtonsClass))
48 #define IRRECO_IS_THEME_CREATOR_BUTTONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IRRECO_TYPE_THEME_CREATOR_BUTTONS))
49 #define IRRECO_IS_THEME_CREATOR_BUTTONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IRRECO_TYPE_THEME_CREATOR_BUTTONS))
50 #define IRRECO_THEME_CREATOR_BUTTONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IRRECO_TYPE_THEME_CREATOR_BUTTONS, IrrecoThemeCreatorButtonsClass))
53 #endif /* __IRRECO_THEME_CREATOR_BUTTONS_H_TYPEDEF__ */
55 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
56 /* Include */
57 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
58 #ifndef _IRRECO_THEME_CREATOR_BUTTONS_H_TYPEDEF_
59 #define _IRRECO_THEME_CREATOR_BUTTONS_H_TYPEDEF_
60 #include "irreco.h"
61 #include "irreco_internal_widget.h"
64 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
65 /* Datatypes */
66 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
68 struct _IrrecoThemeCreatorButtons
70 IrrecoInternalWidget parent;
71 GtkWindow *parent_window;
72 IrrecoTheme *theme;
73 IrrecoData *irreco_data;
75 /*Buttons widgets*/
76 GtkWidget *vbox_buttons;
77 GtkWidget *scroll_buttons;
78 GtkCellRenderer *renderer_buttons;
79 GtkTreeViewColumn *column_buttons;
80 GtkListStore *store_buttons;
81 /* GtkTreeIter *iter_buttons;*/
82 GtkWidget *view_buttons;
84 gint loader_index;
85 gint loader_state;
86 gint loader_func_id;
87 GtkTreeIter *loader_iter;
89 gint sel_index;
90 GtkTreeSelection *tree_selection;
91 IrrecoThemeButton *current_button;
95 struct _IrrecoThemeCreatorButtonsClass
97 IrrecoInternalWidgetClass parent_class;
100 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
101 /* Macro */
102 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
104 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
105 /* Prototypes */
106 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
108 GType irreco_theme_creator_buttons_get_type (void);
109 GtkWidget* irreco_theme_creator_buttons_new(GtkWindow *parent,
110 IrrecoData *irreco_data,
111 IrrecoTheme * irreco_theme);
112 void
113 irreco_theme_creator_buttons_set_parent_window(IrrecoThemeCreatorButtons *self,
114 GtkWindow *parent);
115 IrrecoThemeButton
116 *irreco_theme_creator_buttons_get_selected_button(IrrecoThemeCreatorButtons
117 *self);
118 gboolean
119 irreco_theme_creator_buttons_remove_selected(IrrecoThemeCreatorButtons
120 *self);
121 void
122 irreco_theme_creator_buttons_refresh(IrrecoThemeCreatorButtons *self);
124 #endif /* __IRRECO_THEME_CREATOR_BUTTONS_H__ */
126 /** @} */