Added README.
[irreco.git] / irreco / src / core / irreco_window_edit.h
bloba1eaf85e3db1c1cf20cced7cb4c5896c265f9f91
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_irtrans;
80 GtkWidget *menu_download_lirc;
81 GtkWidget *menu_background;
82 GtkWidget *menu_hardkeys;
83 GtkWidget *menu_newbutton;
85 GtkWidget *button_menu;
86 IrrecoButton *button_menu_target;
88 GtkWidget *menu_theme_manager;
90 /* Dragging */
91 GTimeVal drag_start_time;
92 gint drag_start_x;
93 gint drag_start_y;
94 gint drag_pointer_x;
95 gint drag_pointer_y;
96 GdkModifierType drag_pointer_mask;
97 gint drag_grid;
98 gboolean drag_button_moved;
99 gboolean drag_handler_set;
100 IrrecoButton *drag_target;
101 gint drag_pointer_offset_x;
102 gint drag_pointer_offset_y;
104 /* Grid image buffers. */
105 GdkPixbuf *image_background;
106 GdkPixbuf *image_grid_1;
107 GdkPixbuf *image_grid_2;
108 GdkPixbuf *image_grid_4;
109 GdkPixbuf *image_grid_8;
110 GdkPixbuf *image_grid_16;
115 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
116 /* Prototypes */
117 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
118 IrrecoWindowEdit *irreco_window_edit_create(IrrecoWindowManager * manager);
119 void irreco_window_edit_destroy(IrrecoWindowEdit * edit_ui);
120 void irreco_window_edit_set_layout(IrrecoWindowEdit * edit_ui,
121 IrrecoButtonLayout * irreco_layout);
125 #endif /* __IRRECO_WINDOW_EDIT_H__ */
127 /** @} */