45 #include <sys/types.h>
50 #include <glib/gstdio.h>
51 #include <glib/gi18n-lib.h>
56 #include <gtkhex-3/gtkhex.h>
59 #include <gtkhex/gtkhex.h>
100 #define HERAIA_REFRESH_NOTHING 0
101 #define HERAIA_REFRESH_NEW_FILE 1
102 #define HERAIA_REFRESH_CURSOR_MOVE 2
103 #define HERAIA_REFRESH_TAB_CHANGED 3
116 #define HERAIA_FIND_FORWARD 32
117 #define HERAIA_FIND_BACKWARD 64
118 #define HERAIA_FIND_ALL 128
139 typedef gchar *(* DecodeFunc) (guchar *, gpointer);
233 #define WPT_DEFAULT_HEIGHT 200
234 #define WPT_DEFAULT_WIDTH 200
Header file providing an interface to Heraia_Hex.
window_prop_t * find_window
find window
GPtrArray * results
An array of pointers (doc_t *) for each tab in the result window.
This is the main structure.
window_prop_t * data_interpretor
data interpretor window
doc_t * fr_find_doc
find and replace window, find document and hexwidget
gint x
x position (upper left corner)
gboolean fixed_size
says whether we can modify data_size or not
GtkWidget * feature_cb
ComboBox Widget for the type of the data in the category.
gchar * err_msg
error message if something went wrong when decoding expects a d somewhere in the message to represent...
Tabulation structure to be used in the GtkNoteBook of data_interpretor's window.
window_prop_t * result_window
result window properties
gint tab_displayed
keeps the last displayed tab's number before closing
window_prop_t * fr_window
find and replace window
GtkWidget * type_cb
ComboBox Widget for the category of the search.
RefreshType event
Tells what is happening.
Header file where plugin definitions are sat.
window_prop_t * main_dialog
heraia's main window
gboolean displayed
TRUE if displayed, FALSE otherwise.
gchar * filename
user preference file file name
window_prop_t * plugin_list
plugin description window
Header file for user preferences.
guint data_size
size of what we may decode
Header for decoding things (numbers, dates, binary, ...)
DecodeFunc func
a function to decode into something
guint nb_rows
number of rows in this tab - this is automatically updated
all_window_prop_t * win_prop
Keeps window properties.
window_prop_t * main_pref_window
main preference window
GtkWidget * label
label for this tab
window_prop_t * fdft_window
find data from type window
Data interpretor window structure.
fdft_t * fdft
Keeps comboboxes created for the fdft window.
Header file for handling errors.
Proposal for a structure that will group all informations about a single document.
guint64 start
Starting position of the selection.
GtkHex Heraia_Hex
Abstract layer this may be usefull if we decide to leave Heraia_Hex and use something else ! ...
Heraia_Document * hex_doc
Document definition related to Heraia_Hex (GtkHex)
A structure to manage a single selection.
guint64 end
Ending position of the selection.
xml_t * xmls
All the xmls used in the program, loaded at running time.
gchar * pathname
user preference file path name
Data type related to preferences.
GKeyFile * file
preference file contents
Header file for the plugin list window.
gboolean debug
Used to tell the program wether we want to display debug messages or not.
A human struct to store a date with a time.
window_prop_t * ldt
list data types window
int libheraia_test(void)
A simple test function.
Header file for file operations.
GPtrArray * vboxes
array of vboxes where we will pack label and entry widgets
window_prop_t * about_box
prefs_t * prefs
All datas related to main preferences.
Basic way to associate a decode function and an entry that will receive the result.
void libheraia_finalize(void)
GtkWidget * hex_widget
hexwidget corresponding to the document
gint y
y position (upper left corner)
void libheraia_initialize(void)
Python specific.
GtkBuilder * main
the main interface xml description
Structure to keep window properties for each window.
gchar *(* DecodeFunc)(guchar *, gpointer)
Templates for the decoding functions.
GPtrArray * decode_array
Pointer Array of decode_t functions and corresponding entries.
gint HERAIA_ERROR
Defines heraia error type (this should be used !)
GList * plugins_list
A list of plugins.
data_window_t * current_DW
data_interpretor pointer
HexDocument Heraia_Document
Abstract layer this may be usefull if we decide to leave Heraia_Hex and use something else ! ...
GPtrArray * tabs
an array of tabs displayed in data interpretor's notebook (tab_t)
window_prop_t * log_box
log window
Header file for tests (code coverage and bug tracking)
Header file for the result window.
GPtrArray * col_labels
array of GtkWidgets of columns labels
GtkWidget * label
label for these decoding functions
Header file that handles preference window.
guint height
y+height (bottom right corner)
Structure that contains all the xml definitions loaded at running time using GtkBuilder.
Header file for the goto dialog window.
GtkWidget * diw
data interpretor window
guint nb_tabs
keeps Number of tabs in the GPtrArray
doc_t * current_doc
This is a pointer to the current edited document.
window_prop_t * goto_window
goto dialog window
gint RefreshType
Refresh type (may be used to decide what to do in a particular case)
GtkWidget * entry
the widget that will receive the result
doc_t * find_doc
find document and hexwidget for find window
guint index
number for this tab
guint width
x+width (bottom right corner)
Header file for the data interpretor.
GPtrArray * documents
An array of doc_t in order to be able to open more than one doc.
gboolean modified
If hex_doc->changed <> modified then the document has something changed that may need an upate...
guint stream_size
stream_size
Header file for the logging subsystem.
Header file for menu, callbacks, utility functions and ui management.
guint endianness
endianness
Basic way to have as many as we want decoding functions corresponding to one label.
GList * location_list
this is the location list where we store some paths
doc_t * fr_replace_doc
find and replace window, replace document and hexwidget
Used to pass decoding options to the functions.
GPtrArray * rows
array of pointers to decode_generic_t variables.
guint nb_cols
number of columns in this tab - this MUST NOT change in any way