00001 /* Copyright 2009 (c) ENSI de Bourges 00002 * 88 boulevard Lahitolle, 18020 Bourges Cedex, France 00003 * 00004 * This program is free software: you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation, either version 3 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00016 */ 00025 #ifndef __FRAME_TABLE_H 00026 #define __FRAME_TABLE_H 00027 #ifdef __cplusplus 00028 extern "C" { 00029 #endif 00030 00031 #include <gtk/gtk.h> 00032 00033 #include "frame-common.h" 00034 00035 00036 00045 typedef struct __frame_table_t { 00046 GList *frames_list; 00047 gshort position; 00048 GtkWidget *table_box; 00049 GtkWidget *table; 00050 GtkWidget *hidden_bar; 00051 guint children_size[LAST_SIZE_RATIO_T]; 00052 frame_t **slot_data; 00054 } frame_table_t; 00055 00056 00057 00068 gboolean hidden_bar_add_frame (frame_table_t *, frame_t *); 00069 00070 00071 00081 gboolean hidden_bar_remove_frame (frame_table_t *, frame_t *); 00082 00083 00084 00094 gint frame_table_list_cmp_by_position (gconstpointer, gconstpointer); 00095 00096 00097 00105 void frame_table_hide_frames (frame_table_t *); 00106 00107 00108 00116 void frame_table_show_frames (frame_table_t *); 00117 00118 00119 00129 int frame_table_add (frame_table_t *, frame_t *); 00130 00131 00132 00145 int frame_table_add_with_coords (frame_table_t *, frame_t *, guint, guint); 00146 00147 00148 00158 int frame_table_remove (frame_table_t *, frame_t *); 00159 00160 00161 00168 void frame_list_free (GList *); 00169 00170 00171 00178 void frame_table_free (frame_table_t *); 00179 00180 00181 00190 frame_table_t *frame_table_new (); 00191 #ifdef __cplusplus 00192 } 00193 #endif 00194 #endif