gui/main_win.h
author hegyi
Thu, 05 Jan 2006 12:30:09 +0000
changeset 1878 409a31271efd
parent 1872 3b7694cf0a08
child 1884 9c061834b33b
permissions -rw-r--r--
Several changes. \n If new map is added to mapstorage it emits signal with the name of the new map. This was important, because from now on not only tha mapwin should be updated. \n Furthermore algobox gets a pointer to mapstorage instead of only the mapnames from it. This is important because without it it would be complicated to pass all of the required maps to algobox.
     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 createNewMapWin();
    83 
    84   //Notebook handlers
    85   ///Callback for 'FileNewTab' action.
    86   virtual void newTab();
    87   virtual void closeTab();
    88   virtual void onChangeTab(GtkNotebookPage*, guint);
    89   virtual void onCloseTab();
    90 
    91 
    92 };
    93 
    94 #endif //MAIN_WIN_H