Heraia
0.1.8
|
Here one may find tools to manage the data_interpretor window. More...
#include <libheraia.h>
Go to the source code of this file.
Functions | |
static void | interpret (doc_t *doc, decode_t *decode_struct, decode_parameters_t *decode_parameters, guint length) |
Here we do interpret a something according to the decode_it function and we write down the result in a widget designated "entry". More... | |
static void | connect_data_interpretor_signals (heraia_struct_t *main_struct) |
Connects data interpretor window's signals to the right functions. More... | |
static void | refresh_one_row (doc_t *doc, decode_generic_t *row, guint nb_cols, decode_parameters_t *decode_parameters) |
This function refreshes one row of the tab. More... | |
static void | refresh_one_tab (doc_t *doc, data_window_t *dw, tab_t *tab, decode_parameters_t *decode_parameters) |
This function refreshes one entire tab (row by row) More... | |
static void | refresh_all_tabs (doc_t *doc, data_window_t *dw, decode_parameters_t *decode_parameters) |
Refreshes all tabs. More... | |
static void | add_default_tabs (heraia_struct_t *main_struct) |
Inits data interpretor with default tabs Must be called only once at bootime. More... | |
guint | which_endianness (heraia_struct_t *main_struct) |
Determines which endianness is selected that is to say which radio button is active in the window. More... | |
guint | which_stream_size (heraia_struct_t *main_struct) |
returns stream size as selected in the spin button More... | |
void | refresh_data_interpretor_window (GtkWidget *widget, gpointer data) |
Refreshes the data interpretor window with the new values. More... | |
void | data_interpretor_init_interface (heraia_struct_t *main_struct) |
Inits the data interpretor structure and window with default values. More... | |
tab_t * | add_new_tab_in_data_interpretor (GtkNotebook *notebook, guint index, const gchar *label, guint nb_cols,...) |
Adds a new tab in the data interpretor window. More... | |
void | add_new_row_to_tab (tab_t *tab, decode_generic_t *row) |
Adds a row to a particular tab. More... | |
gint | di_get_selected_tab (heraia_struct_t *main_struct) |
Gets the selected tab (if any) from data interpretor's notebook. More... | |
void | di_set_selected_tab (heraia_struct_t *main_struct, gint selected_tab) |
Sets the selected tab (if possible) to data interpretor's notebook. More... | |
gint | di_get_stream_size (heraia_struct_t *main_struct) |
Gets the stream_size (if any) from data interpretor's window. More... | |
void | di_set_stream_size (heraia_struct_t *main_struct, gint stream_size) |
Sets the stream size (if possible) to data interpretor's notebook. More... | |
gint | di_get_endianness (heraia_struct_t *main_struct) |
Gets the endianness as selected in the radio group button. More... | |
void | di_set_endianness (heraia_struct_t *main_struct, gint endianness) |
Sets the endianness as stated by the second parameter. More... | |
Here one may find tools to manage the data_interpretor window.
Definition in file data_interpretor.c.
|
static |
Inits data interpretor with default tabs Must be called only once at bootime.
main_struct | : main structure |
Adding a tab for numbers
Adding a tab for floting numbers
Adding a tab for date and time
Adding a tab for binary based conversions
Definition at line 523 of file data_interpretor.c.
References add_new_row_to_tab(), add_new_tab_in_data_interpretor(), heraia_struct_t::current_DW, decode_16bits_signed(), decode_16bits_unsigned(), decode_32bits_signed(), decode_32bits_unsigned(), decode_64bits_signed(), decode_64bits_unsigned(), decode_8bits_signed(), decode_8bits_unsigned(), decode_C_date(), decode_dos_date(), decode_double_normal(), decode_double_scientific(), decode_filetime_date(), decode_float_normal(), decode_float_scientific(), decode_HFS_date(), decode_packed_BCD(), decode_to_bits(), heraia_get_widget(), xml_t::main, data_window_t::nb_tabs, new_decode_generic_t(), data_window_t::tabs, and heraia_struct_t::xmls.
Referenced by data_interpretor_init_interface().
void add_new_row_to_tab | ( | tab_t * | tab, |
decode_generic_t * | row | ||
) |
Adds a row to a particular tab.
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 480 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().
tab_t* add_new_tab_in_data_interpretor | ( | GtkNotebook * | notebook, |
guint | index, | ||
const gchar * | label, | ||
guint | nb_cols, | ||
... | |||
) |
Adds a new tab in the data interpretor window.
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 arguments
< 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 318 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().
|
static |
Connects data interpretor window's signals to the right functions.
main_struct | : main structure |
Definition at line 253 of file data_interpretor.c.
References delete_dt_window_event(), destroy_dt_window(), heraia_get_widget(), xml_t::main, refresh_data_interpretor_window(), and heraia_struct_t::xmls.
Referenced by data_interpretor_init_interface().
void data_interpretor_init_interface | ( | heraia_struct_t * | main_struct | ) |
Inits the data interpretor structure and window with default values.
Definition at line 285 of file data_interpretor.c.
References add_default_tabs(), connect_data_interpretor_signals(), heraia_struct_t::current_DW, data_window_t::diw, heraia_get_widget(), xml_t::main, and heraia_struct_t::xmls.
Referenced by load_heraia_ui().
gint di_get_endianness | ( | heraia_struct_t * | main_struct | ) |
Gets the endianness as selected in the radio group button.
main_struct | : main structure |
Definition at line 688 of file data_interpretor.c.
References gtk_radio_button_get_active_from_widget(), H_DI_BIG_ENDIAN, H_DI_LITTLE_ENDIAN, H_DI_MIDDLE_ENDIAN, heraia_get_widget(), xml_t::main, and heraia_struct_t::xmls.
Referenced by save_di_preferences(), and which_endianness().
gint di_get_selected_tab | ( | heraia_struct_t * | main_struct | ) |
Gets the selected tab (if any) from data interpretor's notebook.
main_struct | : main structure |
< data interpretor's notebook
< Selected tab in data interpretor's window
Definition at line 602 of file data_interpretor.c.
References heraia_get_widget(), xml_t::main, and heraia_struct_t::xmls.
Referenced by save_di_preferences().
gint di_get_stream_size | ( | heraia_struct_t * | main_struct | ) |
Gets the stream_size (if any) from data interpretor's window.
main_struct | : main structure |
< data interpretor's spin button
< stream size sat by the user
Definition at line 645 of file data_interpretor.c.
References heraia_get_widget(), xml_t::main, and heraia_struct_t::xmls.
Referenced by save_di_preferences(), and which_stream_size().
void di_set_endianness | ( | heraia_struct_t * | main_struct, |
gint | endianness | ||
) |
Sets the endianness as stated by the second parameter.
main_struct | : main structure |
endianness | : the endianness to be sat. Must be one of the following : (H_DI_LITTLE_ENDIAN, H_DI_MIDDLE_ENDIAN, H_DI_BIG_ENDIAN) |
Definition at line 738 of file data_interpretor.c.
References gtk_radio_button_set_active(), H_DI_BIG_ENDIAN, H_DI_LITTLE_ENDIAN, H_DI_MIDDLE_ENDIAN, heraia_get_widget(), xml_t::main, and heraia_struct_t::xmls.
Referenced by load_di_preferences().
void di_set_selected_tab | ( | heraia_struct_t * | main_struct, |
gint | selected_tab | ||
) |
Sets the selected tab (if possible) to data interpretor's notebook.
main_struct | : main structure |
selected_tab | : the saved selected tab |
< data interpretor's notebook
Definition at line 623 of file data_interpretor.c.
References heraia_struct_t::current_DW, heraia_get_widget(), xml_t::main, data_window_t::tab_displayed, and heraia_struct_t::xmls.
Referenced by load_di_preferences().
void di_set_stream_size | ( | heraia_struct_t * | main_struct, |
gint | stream_size | ||
) |
Sets the stream size (if possible) to data interpretor's notebook.
main_struct | : main structure |
stream_size | : the saved stream_size |
< data interpretor's spin button
Definition at line 666 of file data_interpretor.c.
References heraia_get_widget(), xml_t::main, and heraia_struct_t::xmls.
Referenced by load_di_preferences().
|
static |
Here we do interpret a something according to the decode_it function and we write down the result in a widget designated "entry".
main_struct | : main structure |
decode | : a decode_t structure that contains function, entry and error message |
decode_parameters | : structure that passes some arguments to the decoding functions |
length | : the length of the data to be decoded (guint) |
used to test different results of function calls
the character under the cursor
decoded text
A DecodeFunc which is a function to be called to decode the stream
Definition at line 97 of file data_interpretor.c.
References decode_parameters_t::endianness, decode_t::entry, decode_t::err_msg, decode_t::func, ghex_get_data(), and doc_t::hex_widget.
Referenced by refresh_one_row().
|
static |
Refreshes all tabs.
dw | : current data window |
decode_parameters | : structure that passes some arguments to the decoding functions |
Definition at line 199 of file data_interpretor.c.
References refresh_one_tab(), and data_window_t::tabs.
Referenced by refresh_data_interpretor_window().
void refresh_data_interpretor_window | ( | GtkWidget * | widget, |
gpointer | data | ||
) |
Refreshes the data interpretor window with the new values.
widget | : the widget caller (may be NULL here) |
data | : a gpointer to the main structure : main_struct, this must NOT be NULL ! |
data interpretor window structure
Endianness is computed only once here
stream size is computed only once here
Definition at line 223 of file data_interpretor.c.
References heraia_struct_t::current_doc, heraia_struct_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_struct_t::win_prop.
Referenced by connect_data_interpretor_signals(), on_DIMenu_activate(), and refresh_event_handler().
|
static |
This function refreshes one row of the tab.
dw | : current data window |
row | : the row that we want to refresh |
nb_cols | : number of columns in this particular row (this IS the same for all rows in that tab |
decode_parameters | : structure that passes some arguments to the decoding functions |
< entry, function and message
Definition at line 152 of file data_interpretor.c.
References decode_generic_t::data_size, decode_generic_t::decode_array, decode_generic_t::fixed_size, interpret(), and decode_parameters_t::stream_size.
Referenced by refresh_one_tab().
|
static |
This function refreshes one entire tab (row by row)
dw | : current data window |
tab | : the tab to refresh |
decode_parameters | : structure that passes some arguments to the decoding functions |
< the row we want to refresh
Definition at line 179 of file data_interpretor.c.
References tab_t::nb_cols, refresh_one_row(), and tab_t::rows.
Referenced by refresh_all_tabs().
guint which_endianness | ( | heraia_struct_t * | main_struct | ) |
Determines which endianness is selected that is to say which radio button is active in the window.
main_struct | : main structure |
Definition at line 47 of file data_interpretor.c.
References di_get_endianness(), and H_DI_LITTLE_ENDIAN.
Referenced by fdft_search_direction(), fr_get_search_string(), and refresh_data_interpretor_window().
guint which_stream_size | ( | heraia_struct_t * | main_struct | ) |
returns stream size as selected in the spin button
main_struct | : main structure |
Definition at line 69 of file data_interpretor.c.
References di_get_stream_size().
Referenced by fdft_search_direction(), and refresh_data_interpretor_window().