00001 /***************************************************************************** 00002 * pda.h: private Gtk+ interface description 00003 ***************************************************************************** 00004 * Copyright (C) 1999, 2000 the VideoLAN team 00005 * $Id: pda.h 11664 2005-07-09 06:17:09Z courmisch $ 00006 * 00007 * Authors: Jean-Paul Saman <[email protected]> 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. 00022 *****************************************************************************/ 00023 00024 #define MAX_ATEXIT 10 00025 00026 /***************************************************************************** 00027 * intf_sys_t: description and status of Gtk+ interface 00028 *****************************************************************************/ 00029 struct intf_sys_t 00030 { 00031 /* The gtk_main module */ 00032 module_t *p_gtk_main; 00033 00034 /* windows and widgets */ 00035 GtkWidget *p_window; /* main window */ 00036 GtkNotebook *p_notebook; 00037 GtkHScale *p_slider; 00038 GtkTreeView *p_tvfile; 00039 GtkTreeView *p_tvplaylist; 00040 00041 /* slider */ 00042 GtkLabel * p_slider_label; 00043 GtkAdjustment * p_adj; /* slider adjustment object */ 00044 off_t i_adj_oldvalue; /* previous value -no FPU hardware */ 00045 float f_adj_oldvalue; /* previous value -with FPU hardware*/ 00046 00047 /* special actions */ 00048 vlc_bool_t b_playing; 00049 vlc_bool_t b_window_changed; /* window display toggled ? */ 00050 vlc_bool_t b_slider_free; /* slider status */ 00051 00052 /* Preference settings */ 00053 vlc_bool_t b_autoplayfile; 00054 00055 /* The input thread */ 00056 input_thread_t * p_input; 00057 }; 00058 00059 /***************************************************************************** 00060 * Useful macro 00061 ****************************************************************************/ 00062 #define GTK_GET( type, nom ) GTK_##type( gtk_object_get_data( \ 00063 GTK_OBJECT( p_intf->p_sys->p_window ), nom ) ) 00064 00065 00066 #define GtkGetIntf( widget ) E_(__GtkGetIntf)( GTK_WIDGET( widget ) ) 00067 void * E_(__GtkGetIntf)( GtkWidget * );