heraia_ui.h

Go to the documentation of this file.
00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
00002 /*
00003   heraia_ui.h
00004   main menus, callback and utility functions
00005 
00006   (C) Copyright 2005 - 2010 Olivier Delhomme
00007   e-mail : heraia@delhomme.org
00008   URL    : http://heraia.tuxfamily.org
00009 
00010   This program is free software; you can redistribute it and/or modify
00011   it under the terms of the GNU General Public License as published by
00012   the Free Software Foundation; either version 2, or  (at your option)
00013   any later version.
00014 
00015   This program is distributed in the hope that it will be useful,
00016   but WITHOUT ANY WARRANTY;  without even the implied warranty of
00017   MERCHANTABILITY  or  FITNESS FOR A PARTICULAR PURPOSE.  See the
00018   GNU General Public License for more details.
00019 
00020   You should have received a copy of the GNU General Public License
00021   along with this program; if not, write to the Free Software
00022   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
00023 /**
00024  * @file heraia_ui.h
00025  * Header file for menu, callbacks, utility functions and ui management
00026  */
00027 #ifndef _LIBHERAIA_HERAIA_UI_H_
00028 #define _LIBHERAIA_HERAIA_UI_H_
00029 
00030 #define H_DEBUG 1
00031 
00032 extern void on_quit_activate(GtkWidget *widget, gpointer data);
00033 extern void on_new_activate(GtkWidget *widget, gpointer data);
00034 extern void on_open_activate(GtkWidget *widget, gpointer data);
00035 extern void on_save_activate(GtkWidget *widget, gpointer data);
00036 extern void on_save_as_activate(GtkWidget *widget, gpointer data);
00037 extern void on_preferences_activate(GtkWidget *widget, gpointer data);
00038 extern void on_delete_activate(GtkWidget *widget, gpointer data);
00039 extern void a_propos_activate(GtkWidget *widget, gpointer data);
00040 extern void on_undo_activate(GtkWidget *widget, gpointer data);
00041 extern void on_redo_activate(GtkWidget *widget, gpointer data);
00042 extern void on_cut_activate(GtkWidget *widget, gpointer data);
00043 extern void on_copy_activate(GtkWidget *widget, gpointer data);
00044 extern void on_paste_activate(GtkWidget *widget, gpointer data);
00045 extern void on_DIMenu_activate(GtkWidget *widget, gpointer data);
00046 extern void on_tests_menu_activate(GtkWidget *widget, gpointer data);
00047 extern gboolean delete_main_struct_event(GtkWidget *widget, GdkEvent *event, gpointer data);
00048 
00049 extern gboolean delete_dt_window_event(GtkWidget *widget, GdkEvent *event, gpointer data);
00050 extern void destroy_dt_window(GtkWidget *widget, GdkEvent  *event, gpointer data);
00051 
00052 extern gboolean file_notebook_tab_changed(GtkNotebook *notebook, GtkNotebookPage *page, gint tab_num, gpointer data);
00053 
00054 /* file selection */
00055 extern GSList *select_file_to_load(heraia_struct_t *main_struct);
00056 extern gchar *select_a_file_to_save(heraia_struct_t *main_struct);
00057 extern void set_the_working_directory(GtkFileChooser *file_chooser, gchar *filename);
00058 
00059 /* initialisation process */
00060 extern void init_heraia_interface(heraia_struct_t *main_struct);
00061 extern int load_heraia_ui(heraia_struct_t *main_struct);
00062 extern void init_window_states(heraia_struct_t *main_struct);
00063 extern void grey_main_widgets(GtkBuilder *main, gboolean greyed);
00064 
00065 /* refreshing things */
00066 extern void refresh_event_handler(GtkWidget *widget, gpointer data);
00067 extern void refresh_file_labels(heraia_struct_t *main_struct);
00068 extern void connect_cursor_moved_signal(heraia_struct_t *main_struct, GtkWidget *hex_widget);
00069 extern void connect_data_changed_signal(heraia_struct_t *main_struct, GtkWidget *hex_widget);
00070 extern void data_has_changed(GtkWidget *widget, gpointer data);
00071 
00072 /* window positionning system */
00073 extern void record_dialog_box_position(GtkWidget *dialog_box, window_prop_t *dialog_prop);
00074 extern void record_all_dialog_box_positions(heraia_struct_t *main_struct);
00075 extern void move_and_show_dialog_box(GtkWidget *dialog_box, window_prop_t *dialog_pos);
00076 extern void record_and_hide_dialog_box(GtkWidget *dialog_box, window_prop_t *dialog_pos);
00077 extern void show_hide_widget(GtkWidget *widget, gboolean show, window_prop_t *win_prop);
00078 
00079 /* libglade wrapper (now GtkBuilder's one) */
00080 GtkWidget *heraia_get_widget(GtkBuilder *xml, gchar *widget_name);
00081 
00082 /* Text view */
00083 extern void add_text_to_textview(GtkTextView *textview, const char *format, ...);
00084 extern void kill_text_from_textview(GtkTextView *textview);
00085 
00086 /* RadioButton */
00087 extern GtkWidget *gtk_radio_button_get_active(GSList *group);
00088 extern GtkWidget *gtk_radio_button_get_active_from_widget(GtkRadioButton *radio_group_member);
00089 extern void gtk_radio_button_set_active(GtkRadioButton *radio_button);
00090 
00091 /* CheckMenuItem */
00092 extern gboolean is_cmi_checked(GtkWidget *check_menu_item);
00093 
00094 /* Toogle Button */
00095 extern gboolean is_toggle_button_activated(GtkBuilder *main_xml, gchar *check_button);
00096 
00097 /* Widget */
00098 extern void destroy_a_single_widget(GtkWidget *widget);
00099 extern void update_main_window_name(heraia_struct_t *main_struct);
00100 
00101 /* NoteBook */
00102 extern void set_notebook_tab_name(heraia_struct_t *main_struct);
00103 extern void add_new_tab_in_main_window(heraia_struct_t *main_struct, doc_t *doc);
00104 extern void set_notebook_tab_label_color(heraia_struct_t *main_struct, gboolean color);
00105 
00106 #endif /* _LIBHERAIA_HERAIA_UI_H_ */
Generated on Tue Aug 10 18:29:02 2010 for Heraia by  doxygen 1.6.3