Manage results coming from functions such as find, find a data from type, and so on. More...
#include <libheraia.h>
Go to the source code of this file.
Functions | |
static gboolean | delete_result_window_event (GtkWidget *widget, GdkEvent *event, gpointer data) |
Call back function for the result window destruction. | |
static void | destroy_result_window_event (GtkWidget *widget, GdkEvent *event, gpointer data) |
Call back function for the result window destruction. | |
static void | result_window_close (GtkWidget *widget, gpointer data) |
Close button has been clicked we want to hide the window. | |
static void | result_window_connect_signal (heraia_struct_t *main_struct) |
Signal connections for the result window. | |
static void | tree_selection_changed (GtkTreeSelection *selection, gpointer data) |
Function called upon selection change. | |
static void | rw_on_close_activate (GtkWidget *widget, gpointer data) |
Closes a result tab. | |
static void | determine_pos_and_buffer_size (guint64 *pos, guint *buffer_size, guint size, guint64 file_size) |
Calculates the position and the associated buffer size in order that the text searched for will be centered in the results. | |
static void | add_gtk_tree_view_to_result_notebook (heraia_struct_t *main_struct, GtkListStore *lstore, guchar *label_text, doc_t *doc) |
Add one tab to the result window's notebook with a gtk_tree_view in it. | |
static void | menu_result_toggle (GtkWidget *widget, gpointer data) |
The Check menu item for the result window. | |
void | result_window_show (GtkWidget *widget, gpointer data) |
Show result window. | |
void | result_window_init_interface (heraia_struct_t *main_struct) |
Inits all the things in the result window (signal and such). | |
void | rw_add_one_tab_from_find_all_bt (heraia_struct_t *main_struct, GArray *all_pos, guint size) |
Add one tab for the results from the find all button. | |
void | rw_remove_all_tabs (heraia_struct_t *main_struct, doc_t *doc) |
Remove all tabs from the result window that correspond to the specified document. |
Manage results coming from functions such as find, find a data from type, and so on.
Definition in file result_window.c.
static void add_gtk_tree_view_to_result_notebook | ( | heraia_struct_t * | main_struct, | |
GtkListStore * | lstore, | |||
guchar * | label_text, | |||
doc_t * | doc | |||
) | [static] |
Add one tab to the result window's notebook with a gtk_tree_view in it.
main_struct | : main structure of heraia | |
lstore | : the populated list store (for the tree view) | |
label_text | : the text for the label of the tab | |
doc | : the document from which the search was done |
< used for vbox creation
< the scrolled window
< result_notebook from heraia.gtkbuilder
< the tree view
< tab's label
< the hbox that will receive the close button
< a rennderer for the cells
< columns to be added to the treeview
< selection to the treeview
< new tab's index
< markup text
< menu markup text (menu in the notebook)
<menu's label (notebook's menu)
< filename of the document from where the search took place
Definition at line 243 of file result_window.c.
References create_tab_close_button(), doc_t_document_get_filename(), heraia_get_widget(), xml_t::main, R_LS_ASCII, R_LS_HEX, R_LS_N, R_LS_POS, rw_on_close_activate(), tree_selection_changed(), and heraia_struct_t::xmls.
Referenced by rw_add_one_tab_from_find_all_bt().
static gboolean delete_result_window_event | ( | GtkWidget * | widget, | |
GdkEvent * | event, | |||
gpointer | data | |||
) | [static] |
Call back function for the result window destruction.
widget | : calling widget (may be NULL as we don't use this here) | |
event | : event associated (may be NULL as we don't use this here) | |
data | : MUST be heraia_struct_t *main_struct main structure |
Definition at line 85 of file result_window.c.
References result_window_close().
Referenced by result_window_connect_signal().
static void destroy_result_window_event | ( | GtkWidget * | widget, | |
GdkEvent * | event, | |||
gpointer | data | |||
) | [static] |
Call back function for the result window destruction.
widget | : calling widget (may be NULL as we don't use this here) | |
event | : event associated (may be NULL as we don't use this here) | |
data | : user data - MUST be heraia_struct_t *main_struct main structure and not NULL |
Definition at line 99 of file result_window.c.
References result_window_close().
Referenced by result_window_connect_signal().
static void determine_pos_and_buffer_size | ( | guint64 * | pos, | |
guint * | buffer_size, | |||
guint | size, | |||
guint64 | file_size | |||
) | [static] |
Calculates the position and the associated buffer size in order that the text searched for will be centered in the results.
pos | : Must be the position of the searched text, is returned as the position where we will extract the text | |
buffer_size | : is returned as the total buffer size (the extracted text will be buffer_size + 1 in size) | |
size | : size of the string searched for (in bytes) | |
file_size | : size of the file (to verify that we are still in the limits |
Definition at line 172 of file result_window.c.
Referenced by rw_add_one_tab_from_find_all_bt().
static void menu_result_toggle | ( | GtkWidget * | widget, | |
gpointer | data | |||
) | [static] |
The Check menu item for the result window.
widget | : the widget that issued the signal (here the menu_result check menu item | |
data | : user data, MUST be main_struct main structure |
Definition at line 395 of file result_window.c.
References result_window_close(), and result_window_show().
Referenced by result_window_connect_signal().
static void result_window_close | ( | GtkWidget * | widget, | |
gpointer | data | |||
) | [static] |
Close button has been clicked we want to hide the window.
widget | : calling widget | |
data | : MUST be heraia_struct_t *main_struct main structure and not NULL |
< result window itself
Definition at line 110 of file result_window.c.
References heraia_get_widget(), xml_t::main, record_and_hide_dialog_box(), all_window_prop_t::result_window, heraia_struct_t::win_prop, and heraia_struct_t::xmls.
Referenced by delete_result_window_event(), destroy_result_window_event(), menu_result_toggle(), and result_window_connect_signal().
static void result_window_connect_signal | ( | heraia_struct_t * | main_struct | ) | [static] |
Signal connections for the result window.
main_struct | : heraia's main structure |
Definition at line 416 of file result_window.c.
References delete_result_window_event(), destroy_result_window_event(), heraia_get_widget(), xml_t::main, menu_result_toggle(), result_window_close(), and heraia_struct_t::xmls.
Referenced by result_window_init_interface().
void result_window_init_interface | ( | heraia_struct_t * | main_struct | ) |
Inits all the things in the result window (signal and such).
main_struct | : heraia's main structure |
Definition at line 70 of file result_window.c.
References xml_t::main, result_window_connect_signal(), and heraia_struct_t::xmls.
Referenced by load_heraia_ui().
void result_window_show | ( | GtkWidget * | widget, | |
gpointer | data | |||
) |
Show result window.
widget | : the widget that issued the signal (may be NULL as we do not use it). | |
data | : user data MUST be heraia_struct_t *main_struct main structure |
< result window itself
Definition at line 52 of file result_window.c.
References heraia_struct_t::current_doc, heraia_get_widget(), xml_t::main, move_and_show_dialog_box(), all_window_prop_t::result_window, heraia_struct_t::win_prop, and heraia_struct_t::xmls.
Referenced by menu_result_toggle(), and rw_add_one_tab_from_find_all_bt().
void rw_add_one_tab_from_find_all_bt | ( | heraia_struct_t * | main_struct, | |
GArray * | all_pos, | |||
guint | size | |||
) |
Add one tab for the results from the find all button.
main_struct | : main structure of heraia | |
all_pos | : A GArray of all found positions | |
size | : size of the string searched for (in bytes) |
< List store that will contain results
< a calculated position to center the search string
< real position
< size of the file during the search (should not change)
< Current document on which we want to do the search
< endianness as selected in the data interpretor window
< buffer size (bigger than size in order to display
some byte before and after the results)
< the ascii buffer
< the hex buffer
< text label
Endianness by default (we want the search to be flat) -> However this may be modified if someone asks for
Definition at line 331 of file result_window.c.
References add_gtk_tree_view_to_result_notebook(), heraia_struct_t::current_doc, determine_pos_and_buffer_size(), ghex_file_size(), ghex_get_data_to_ascii(), ghex_get_data_to_hex(), doc_t::hex_widget, log_message(), R_LS_ASCII, R_LS_HEX, R_LS_N, R_LS_N_COLUMNS, R_LS_POS, result_window_show(), and heraia_struct_t::results.
Referenced by find_all_bt_clicked().
static void rw_on_close_activate | ( | GtkWidget * | widget, | |
gpointer | data | |||
) | [static] |
Closes a result tab.
widget | : the widget that issued the signal | |
data | : user data MUST be heraia_struct_t *main_struct main structure |
< result_notebook from heraia.gtkbuilder
< index of the tab (and thus from the array)
Definition at line 219 of file result_window.c.
References find_tab_number_from_widget(), heraia_get_widget(), xml_t::main, heraia_struct_t::results, and heraia_struct_t::xmls.
Referenced by add_gtk_tree_view_to_result_notebook().
void rw_remove_all_tabs | ( | heraia_struct_t * | main_struct, | |
doc_t * | doc | |||
) |
Remove all tabs from the result window that correspond to the specified document.
main_struct | : heraia's main structure | |
doc | : the document beeing close in main window's notebook |
< total len of result array
< result_notebook from heraia.gtkbuilder
< Value to compare with doc
< array that stores the indexes where results value is equal to doc.
Definition at line 441 of file result_window.c.
References heraia_get_widget(), log_message(), xml_t::main, heraia_struct_t::results, and heraia_struct_t::xmls.
Referenced by on_close_activate().
static void tree_selection_changed | ( | GtkTreeSelection * | selection, | |
gpointer | data | |||
) | [static] |
Function called upon selection change.
Changes the cursor position to the right place (should also change to the right document).
selection | : the selection that changed | |
data | : user data MUST be main program's structure |
Definition at line 130 of file result_window.c.
References ghex_set_cursor_position(), heraia_get_widget(), doc_t::hex_widget, log_message(), xml_t::main, R_LS_POS, heraia_struct_t::results, and heraia_struct_t::xmls.
Referenced by add_gtk_tree_view_to_result_notebook().