main_win.h
author hegyi
Fri, 06 Jan 2006 23:16:51 +0000
branchgui
changeset 115 9e5196647a5a
parent 106 853dd852abc7
child 119 24ff0448d854
permissions -rw-r--r--
Forgotten file committed.
     1 // -*- C++ -*- //
     2 
     3 #ifndef MAIN_WIN_H
     4 #define MAIN_WIN_H
     5 
     6 #include "all_include.h"
     7 #include "algowin.h"
     8 #include "map_win.h"
     9 #include "new_map_win.h"
    10 #include "nbtab.h"
    11 #include <libgnomecanvasmm.h>
    12 #include <libgnomecanvasmm/polygon.h>
    13 
    14 
    15 ///This class is the main window of GUI.
    16 ///It has menus, but the main part of it is the canvas.
    17 class MainWin : public Gtk::Window
    18 {
    19   ///Container
    20   Gtk::VBox vbox;
    21 
    22   Gtk::Notebook notebook;
    23 
    24   int active_tool;
    25 
    26   int active_tab;
    27   std::vector<NoteBookTab *> tabs;
    28   std::vector<std::string> tabnames;
    29 
    30   std::map<std::string, int> strinst;
    31 
    32   std::set< AlgoWin* > aws;
    33 
    34 public:
    35   
    36   ///Constructor of the \ref NoteBookTab. It creates the menu and the \ref GraphDisplayerCanvas on which the graph will be drawn.
    37   ///\param title is the title of the window
    38   MainWin();
    39 
    40   void set_tabtitle(std::string);
    41 
    42   ///ActionGroup for menu
    43   Glib::RefPtr<Gtk::ActionGroup> ag;
    44 
    45   ///UIManager for menu
    46   Glib::RefPtr<Gtk::UIManager> uim;
    47 
    48   void readFile(const std::string &);
    49 
    50   ///Tooltips
    51   Gtk::Tooltips tooltips;
    52 
    53   //Call-backs of buttons
    54 
    55   ///Callback for 'FileNew' action.
    56   virtual void newFile();
    57   ///Callback for 'FileOpen' action.
    58   virtual void openFile();
    59   ///Callback for 'FileSave' action.
    60   virtual void saveFile();
    61   ///Callback for 'FileSaveAs' action.
    62   virtual void saveFileAs();
    63   ///Callback for 'Close' action.
    64   virtual void close();
    65 
    66   //Toolbar
    67   virtual void zoomIn();
    68   virtual void zoomOut();
    69   virtual void zoomFit();
    70   virtual void zoom100();
    71 
    72   virtual void createMapWin();
    73 
    74   virtual void createAlgoWin(int);
    75   virtual void deRegisterAlgoWin(AlgoWin *);
    76   virtual void updateAlgoWinTabs();
    77   virtual void updateAlgoWinMaps(AlgoWin *, std::string);
    78 
    79   virtual void changeEditorialTool(int);
    80 
    81   virtual void createNewMapWinAfterSignal(NoteBookTab *, bool);
    82   virtual void createNewMapWinTabString(std::string, bool);
    83   virtual void createNewMapWin();
    84 
    85   //Notebook handlers
    86   ///Callback for 'FileNewTab' action.
    87   virtual void newTab();
    88   virtual void closeTab();
    89   virtual void onChangeTab(GtkNotebookPage*, guint);
    90   virtual void onCloseTab();
    91 
    92 
    93 };
    94 
    95 #endif //MAIN_WIN_H