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 - 2009 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_cut_activate(GtkWidget *widget, gpointer data);
00041 extern void on_copy_activate(GtkWidget *widget, gpointer data);
00042 extern void on_paste_activate(GtkWidget *widget, gpointer data);
00043 extern void on_DIMenu_activate(GtkWidget *widget, gpointer data);
00044 extern gboolean delete_main_window_event(GtkWidget *widget, GdkEvent *event, gpointer data);
00045 
00046 extern gboolean delete_dt_window_event(GtkWidget *widget, GdkEvent *event, gpointer data);
00047 extern void destroy_dt_window(GtkWidget *widget, GdkEvent  *event, gpointer data);
00048 
00049 extern gboolean file_notebook_tab_changed(GtkNotebook *notebook, GtkNotebookPage *page, gint tab_num, gpointer data);
00050 
00051 /* file selection */
00052 extern GSList *select_file_to_load(heraia_window_t *main_window);
00053 extern gchar *select_a_file_to_save(heraia_window_t *main_window);
00054 extern void set_the_working_directory(GtkFileChooser *file_chooser, gchar *filename);
00055 
00056 /* initialisation process */
00057 extern void init_heraia_interface(heraia_window_t *main_window);
00058 extern int load_heraia_ui(heraia_window_t *main_window);
00059 extern void init_window_states(heraia_window_t *main_window);
00060 extern void grey_main_widgets(GladeXML *main, gboolean greyed);
00061 
00062 /* refreshing things */
00063 extern void refresh_event_handler(GtkWidget *widget, gpointer data);
00064 extern void refresh_file_labels(heraia_window_t *main_window);
00065 extern void connect_cursor_moved_signal(heraia_window_t *main_window, GtkWidget *hex_widget);
00066 
00067 /* window positionning system */
00068 extern void record_dialog_box_position(GtkWidget *dialog_box, window_prop_t *dialog_prop);
00069 extern void record_all_dialog_box_positions(heraia_window_t *main_window);
00070 extern void move_and_show_dialog_box(GtkWidget *dialog_box, window_prop_t *dialog_pos);
00071 extern void record_and_hide_dialog_box(GtkWidget *dialog_box, window_prop_t *dialog_pos);
00072 extern void show_hide_widget(GtkWidget *widget, gboolean show, window_prop_t *win_prop);
00073 
00074 /* libglade wrapper */
00075 GtkWidget *heraia_get_widget(GladeXML *xml, gchar *widget_name);
00076 
00077 /* Text view */
00078 extern void add_text_to_textview(GtkTextView *textview, const char *format, ...);
00079 extern void kill_text_from_textview(GtkTextView *textview);
00080 
00081 /* RadioButton */
00082 extern GtkWidget *gtk_radio_button_get_active(GSList *group);
00083 extern GtkWidget *gtk_radio_button_get_active_from_widget(GtkRadioButton *radio_group_member);
00084 
00085 /* CheckMenuItem */
00086 extern gboolean is_cmi_checked(GtkWidget *check_menu_item);
00087 
00088 /* Toogle Button */
00089 extern gboolean is_toggle_button_activated(GladeXML *main_xml, gchar *check_button);
00090 
00091 /* Widget */
00092 extern void destroy_a_single_widget(GtkWidget *widget);
00093 extern void update_main_window_name(heraia_window_t *main_window);
00094 
00095 /* NoteBook */
00096 extern void set_notebook_tab_name(heraia_window_t *main_window);
00097 extern void add_new_tab_in_main_window(heraia_window_t *main_window, doc_t *doc);
00098 
00099 #endif /* _LIBHERAIA_HERAIA_UI_H_ */

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