UniWidgets  1.0.0
MainWindow.h
00001 #ifndef _MAINWINDOW_H
00002 #define _MAINWINDOW_H
00003 // -------------------------------------------------------------------------
00011 // -------------------------------------------------------------------------
00012 #include <usvgwidgets/USVGImage.h>
00013 #include <usvgwidgets/USVGText.h>
00014 #include <uwidgets/ULockNotebook.h>
00015 #include <uwidgets/UJournal.h>
00016 #include <uwidgets/UProxyWidget.h>
00017 #include <ctime>
00018 #include <uwidgets/UPrinterInterface.h>
00019 #include <typical/IndicatorTwoState.h>
00020 #include <typical/IndicatorFourState.h>
00021 #include <typical/GDG.h>
00022 #include <typical/VDG.h>
00023 #include <objects/SimpleObject.h>
00024 #include <uniwidgets/UPostcreate.h>
00025 // #include "YauzaConfiguration.h"
00026 // #include "YauzaTypes.h"
00027 // #include "YauzaMessages.h"
00028 #include <webkit/webkit.h>
00029 #include <iomanip>
00030 #include <UniXML.h>
00031 #include <gtkmm/comboboxentrytext.h>
00032 #include <glibmm/regex.h>
00033 // -------------------------------------------------------------------------
00034 class MTRSetup;
00035 class JournalDate;
00036 class ClockConfig;
00037 class FailureDialog;
00038 class Clock;
00046 class MainWindow
00047 {
00048     public:
00049         MainWindow(string gladedir, string guifile, string svgdir, string mtr_prog_path, string weblog_addr, std::list<std::string> screens);
00050         ~MainWindow() {delete w;};
00052         Gtk::Window *w;
00053 
00054     protected:
00063         virtual void init_tabs(Gtk::Notebook *n, string &_gladedir, string &_svgdir, string &_weblog_addr, Gtk::ProgressBar &_bar, std::list<std::string> &_screens);
00064 
00065     private:
00066         //Gtk::Menu menu;
00067         Gtk::Notebook *jb;
00068         bool full_state, is_pressed;
00069 
00070         /* использовалось при отладке */
00071         bool on_key_event(GdkEventKey *e);
00072         /* использовалось при отладке */
00073         bool pressed(GdkEventButton *eb);
00074         /* использовалось при отладке */
00075         bool released(GdkEventButton *eb);
00076         /* показать меню */
00077         void show_conf_menu();
00078         /* скрыть меню */
00079         void hide_conf_menu();
00080         /* перезагрузить систему */
00081         void reboot();
00082         /* выключить систему */
00083         void poweroff();
00084         /* обработка переключений закладок для NoteBook содержащего Journal и APSJournal(Нужно для того чтобы убрать первою вкладку) */
00085         void page_switched(GtkNotebookPage *pg, guint cur_pg);
00086         /* сделать скриншот */
00087         void make_shot();
00088         /* сохранить на флеш сделанные скриншоты */
00089         void save_to_flash();
00090         /* Вкл./Откл. блокировку автоматического переключения вкладок */
00091         void switch_lock();
00092 
00093         guint page;
00094         Clock *clock;
00095         ClockConfig *cc;
00096         JournalDate *jd;
00097         FailureDialog *fw;
00098         MTRSetup *ms;
00099         Gtk::Dialog *dialog;
00100         Gtk::Label *failure_message;
00101         Gtk::CheckButton* check_button;
00102         ULockNotebook* lock_notebook;
00103 };
00104 
00105 #endif /* _MAINWINDOW_H */