data_interpretor.h File Reference

Header file for the data interpretor. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define H_DI_DISPLAYED   FALSE
#define H_DI_BIG_ENDIAN   2
 Stands for big endian representation.
#define H_DI_MIDDLE_ENDIAN   4
 Stands for middle endian representation (http://en.wikipedia.org/wiki/Endianness#Middle-endian).
#define H_DI_LITTLE_ENDIAN   8
 Stands for little endian representation (this is the default).

Functions

void data_interpretor_init_interface (heraia_window_t *main_window)
 Inits the data interpretor structure and window with default values.
void refresh_data_interpretor_window (GtkWidget *hexwidget, gpointer data)
 Refreshes the data interpretor window with the new values.
void add_tab_in_data_interpretor (GtkNotebook *notebook, tab_t *tab)
 Testing things.
tab_tadd_new_tab_in_data_interpretor (GtkNotebook *notebook, guint index, gchar *label, guint num_cols,...)
 Adds a new tab in the data interpretor window.
void add_new_row_to_tab (tab_t *tab, decode_generic_t *row)
 Adds a row to a particular tab.


Detailed Description

Header file for the data interpretor.

Definition in file data_interpretor.h.


Define Documentation

#define H_DI_BIG_ENDIAN   2

Stands for big endian representation.

Definition at line 55 of file data_interpretor.h.

Referenced by change_endianness(), and which_endianness().

#define H_DI_DISPLAYED   FALSE

Note:
Naming : H stands for Heraia DI stands for Data_Interpretor
Says whether data_interpretor is displayed or not
Todo:
this is used at initialisation time. We can add a new option to the program in order to say wether we want the data interpretor to be visible or not (regardless of options saved ?)

Definition at line 52 of file data_interpretor.h.

Referenced by init_window_property_struct().

#define H_DI_LITTLE_ENDIAN   8

Stands for little endian representation (this is the default).

Definition at line 57 of file data_interpretor.h.

Referenced by refresh_hex_datas_entry(), and which_endianness().

#define H_DI_MIDDLE_ENDIAN   4

Stands for middle endian representation (http://en.wikipedia.org/wiki/Endianness#Middle-endian).

Definition at line 56 of file data_interpretor.h.

Referenced by change_endianness(), and which_endianness().


Function Documentation

void add_new_row_to_tab ( tab_t tab,
decode_generic_t row 
)

Adds a row to a particular tab.

Parameters:
tab : the tab to which we want to add the row
row : the row we want to add (make sure it has been initialized)

< the vbox to which we want to pack

< couple from which we want to pack the entry

Definition at line 440 of file data_interpretor.c.

References decode_t::entry, tab_t::nb_rows, tab_t::rows, and tab_t::vboxes.

Referenced by add_default_tabs().

Here is the caller graph for this function:

tab_t* add_new_tab_in_data_interpretor ( GtkNotebook *  notebook,
guint  index,
gchar *  label,
guint  nb_cols,
  ... 
)

Adds a new tab in the data interpretor window.

Parameters:
notebook : the notebook to which we want to add this new tab
index : index of this new tab. If you rely on this make sure it's a primary key !
label : label of the tab
nb_cols : number of columns (including the first column of labels)
... : nb_cols arguments that will be the labels of the columns

< tab structure that will remember everything !

< va_list arguments passed to create a new tab with those columns

< used to fetch atguments

< used to remember the columns labels (the arguments in GtkWidgets)

< used to remember vboxes (in order to be able to pack things later

< notebook tab's child container

< used for hpaned creation

< in case that we have more than 2 arguments

< used for vbox creation

< used for label creation in the new vboxes

Definition at line 355 of file data_interpretor.c.

References tab_t::col_labels, tab_t::index, tab_t::label, tab_t::nb_cols, tab_t::nb_rows, tab_t::rows, and tab_t::vboxes.

Referenced by add_default_tabs().

Here is the caller graph for this function:

void add_tab_in_data_interpretor ( GtkNotebook *  notebook,
tab_t tab 
)

Testing things.

void data_interpretor_init_interface ( heraia_window_t main_window  ) 

Inits the data interpretor structure and window with default values.

Warning:
Should be called only once at program's beginning

Definition at line 325 of file data_interpretor.c.

References add_default_tabs(), connect_data_interpretor_signals(), heraia_window_t::current_DW, data_window_t::diw, heraia_get_widget(), xml_t::main, and heraia_window_t::xmls.

Referenced by load_heraia_ui().

Here is the call graph for this function:

Here is the caller graph for this function:

void refresh_data_interpretor_window ( GtkWidget *  widget,
gpointer  data 
)

Refreshes the data interpretor window with the new values.

Parameters:
widget : the widget caller (may be NULL here)
data : a gpointer to the main structure : main_window, this must NOT be NULL !
Todo:
if speed is a matter, think about taking off this decode_parameters structure from here.

data interpretor window structure

Endianness is computed only once here

stream size is computed only once here

Definition at line 259 of file data_interpretor.c.

References heraia_window_t::current_doc, heraia_window_t::current_DW, window_prop_t::displayed, all_window_prop_t::main_dialog, new_decode_parameters_t(), refresh_all_tabs(), which_endianness(), which_stream_size(), and heraia_window_t::win_prop.

Referenced by connect_data_interpretor_signals(), on_DIMenu_activate(), and refresh_event_handler().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Tue Jun 30 23:18:20 2009 for Heraia by  doxygen 1.5.8