Merge branch 'master' of ssh://pege77@mercury.wipsl.com/var/git/irreco-theme-editor
[irreco.git] / irreco / src / core / irreco_window_edit.h
blob0aff31657242fe29a9324ccf1095a882ceaa92d4
1 /*
2 * irreco - Ir Remote Control
3 * Copyright (C) 2007 Arto Karppinen (arto.karppinen@iki.fi)
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
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
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 /**
21 * @addtogroup IrrecoWindowEdit
22 * @{
25 /**
26 * @file
27 * Header file of @ref IrrecoWindowEdit.
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_WINDOW_EDIT_H_TYPEDEF__
40 #define __IRRECO_WINDOW_EDIT_H_TYPEDEF__
41 typedef struct _IrrecoWindowEdit IrrecoWindowEdit;
42 #endif /* __IRRECO_WINDOW_EDIT_H_TYPEDEF__ */
46 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
47 /* Include */
48 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
49 #ifndef __IRRECO_WINDOW_EDIT_H__
50 #define __IRRECO_WINDOW_EDIT_H__
51 #include "irreco.h"
52 #include "irreco_data.h"
53 #include "irreco_button.h"
54 #include "irreco_window.h"
55 #include "irreco_window_manager.h"
59 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
60 /* Datatypes */
61 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
62 struct _IrrecoWindowEdit {
64 IrrecoWindow *window;
65 IrrecoWindowManager *manager;
66 IrrecoData *irreco_data;
68 /* Handler id:s */
69 gulong expose_handler_id;
71 /* Buttonlayout being displayed. */
72 IrrecoButtonLayout *irreco_layout;
74 /* Menu stuff. */
75 GtkWidget *menu;
76 GtkWidget *menu_save;
77 GtkWidget *menu_controllers;
78 GtkWidget *menu_devices;
79 GtkWidget *menu_download_device;
80 GtkWidget *menu_background;
81 GtkWidget *menu_hardkeys;
82 GtkWidget *menu_buttons;
83 GtkWidget *menu_newbutton;
84 GtkWidget *menu_grid;
85 GtkWidget *menu_grid_1;
86 GtkWidget *menu_grid_2;
87 GtkWidget *menu_grid_4;
88 GtkWidget *menu_grid_8;
89 GtkWidget *menu_grid_16;
91 GtkWidget *button_menu;
92 IrrecoButton *button_menu_target;
94 GtkWidget *menu_theme_manager;
96 /* Dragging */
97 GTimeVal drag_start_time;
98 gint drag_start_x;
99 gint drag_start_y;
100 gint drag_pointer_x;
101 gint drag_pointer_y;
102 GdkModifierType drag_pointer_mask;
103 gint drag_grid;
104 gboolean drag_button_moved;
105 gboolean drag_handler_set;
106 IrrecoButton *drag_target;
107 gint drag_pointer_offset_x;
108 gint drag_pointer_offset_y;
110 /* Grid image buffers. */
111 GdkPixbuf *image_background;
112 GdkPixbuf *image_grid_1;
113 GdkPixbuf *image_grid_2;
114 GdkPixbuf *image_grid_4;
115 GdkPixbuf *image_grid_8;
116 GdkPixbuf *image_grid_16;
121 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
122 /* Prototypes */
123 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
124 IrrecoWindowEdit *irreco_window_edit_create(IrrecoWindowManager * manager);
125 void irreco_window_edit_destroy(IrrecoWindowEdit * edit_ui);
126 void irreco_window_edit_set_layout(IrrecoWindowEdit * edit_ui,
127 IrrecoButtonLayout * irreco_layout);
131 #endif /* __IRRECO_WINDOW_EDIT_H__ */
133 /** @} */