00001 /* 00002 * main_window.h 00003 */ 00004 00005 #ifndef MAIN_WINDOW_H 00006 #define MAIN_WINDOW_H 00007 00008 #include "base_viewer.h" 00009 00010 extern char *application_help_text; 00011 00012 /*---------------------------------------------------------------------- 00013 * main window 00014 * 00015 */ 00016 class main_window : public base_viewer { 00017 typedef base_viewer inherited; 00018 00019 vmenu* menu; 00020 vframe* text_frame; 00021 vtext* text; 00022 vframe* button_frame; 00023 vbuttonbar* button_bar; 00024 00025 int current_argc; 00026 char** current_argv; 00027 00028 bool fileset_modified; 00029 00030 static main_window* mainwin; 00031 00032 static void do_open_cmd( event& e, main_window* win ); 00033 static void do_save_cmd( event& e, main_window* win ); 00034 static void do_reload_cmd( event& e, main_window* win ); 00035 static void do_exit_cmd( event& e, main_window* win ); 00036 static void do_help_cmd( event& e, main_window* win ); 00037 static void do_show_window_cmd( event& e, main_window* win, 00038 window_class* wclass ); 00039 00040 enum fileset_state { yes=0, no=1, cancel=2 }; 00041 public: 00042 main_window(); 00043 virtual ~main_window(); 00044 00045 virtual char* class_name() { return "Main Window"; } 00046 virtual void create_window( int argc = 0, char *argv[] = 0 ); 00047 virtual void load_fileset( const String file_name ); 00048 virtual void load_fileset() {} 00049 virtual fileset_state save_and_delete_fileset( bool cancel_button = false ); 00050 virtual void update_display(); 00051 virtual void handle_event( event& e); 00052 virtual void destroy(); 00053 virtual void destroyed(); 00054 static main_window* get_main_window(); 00055 }; 00056 00057 #endif 00058