X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fcfv.h;h=5c2276e4ed4d09951511e7e97879a68084bb00fc;hb=e433e6d6da2cc572a3d14257abe18bc3afd5c7e6;hp=6113453edaaf8d36d4f4c21a8cdb520fef9adf07;hpb=88feb618dc79481733516a77f285bb6514bb1d17;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h index 6113453e..5c2276e4 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/cfv.h @@ -1,23 +1,94 @@ +/* This file is part of the Linux Trace Toolkit viewer + * Copyright (C) 2003-2004 Mathieu Desnoyers + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License Version 2 as + * published by the Free Software Foundation; + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + + + #ifndef _CFV_H #define _CFV_H #include -#include -#include +#include +#include #include "processlist.h" +#include + +extern GQuark LTT_NAME_CPU; +#ifndef TYPE_DRAWING_T_DEFINED +#define TYPE_DRAWING_T_DEFINED +typedef struct _Drawing_t Drawing_t; +#endif //TYPE_DRAWING_T_DEFINED + +#ifndef TYPE_CONTROLFLOWDATA_DEFINED +#define TYPE_CONTROLFLOWDATA_DEFINED typedef struct _ControlFlowData ControlFlowData; +#endif //TYPE_CONTROLFLOWDATA_DEFINED + +struct _ControlFlowData { + + GtkWidget *top_widget; + Tab *tab; + LttvPluginTab *ptab; + + GtkWidget *hbox; + GtkWidget *toolbar; /* Vbox that contains the viewer's toolbar */ + GtkToolItem *button_prop; /* Properties button. */ + GtkToolItem *button_filter; /* Properties button. */ + GtkWidget *box; /* box that contains the hpaned. necessary for it to work */ + GtkWidget *h_paned; + + ProcessList *process_list; + + Drawing_t *drawing; + GtkAdjustment *v_adjust ; + + /* Shown events information */ +// TimeWindow time_window; +// LttTime current_time; + + //guint currently_Selected_Event ; + guint number_of_process; + guint background_info_waiting; /* Number of background requests waited for + in order to have all the info ready. */ + + LttvFilter *filter; + +} ; /* Control Flow Data constructor */ -ControlFlowData *guicontrolflow(void); +ControlFlowData *guicontrolflow(LttvPluginTab *ptab); void -guicontrolflow_destructor_full(ControlFlowData *control_flow_data); +guicontrolflow_destructor_full(gpointer data); void -guicontrolflow_destructor(ControlFlowData *control_flow_data); -GtkWidget *guicontrolflow_get_widget(ControlFlowData *control_flow_data); -ProcessList *guicontrolflow_get_process_list(ControlFlowData *control_flow_data); -TimeWindow *guicontrolflow_get_time_window(ControlFlowData *control_flow_data); -LttTime *guicontrolflow_get_current_time(ControlFlowData *control_flow_data); +guicontrolflow_destructor(gpointer data); + +static inline GtkWidget *guicontrolflow_get_widget( + ControlFlowData *control_flow_data) +{ + return control_flow_data->top_widget ; +} + +static inline ProcessList *guicontrolflow_get_process_list + (ControlFlowData *control_flow_data) +{ + return control_flow_data->process_list ; +} + #endif // _CFV_H