hegyi@96: // -*- C++ -*- //
hegyi@96: 
hegyi@96: #ifndef NBTAB_H
hegyi@96: #define NBTAB_H
hegyi@96: 
hegyi@96: class NoteBookTab;
hegyi@96: 
hegyi@96: #include "mapstorage.h"
hegyi@96: #include "map_win.h"
hegyi@96: #include "graph_displayer_canvas.h"
hegyi@96: #include <libgnomecanvasmm.h>
hegyi@96: #include <libgnomecanvasmm/polygon.h>
hegyi@96: 
hegyi@96: class NoteBookTab : public Gtk::VBox
hegyi@96: {
hegyi@96: public:
hegyi@96:   NoteBookTab();
hegyi@96:   
hegyi@96:   MapStorage mapstorage;
hegyi@96:     
hegyi@96:   sigc::signal<void, std::string> signal_title;
hegyi@96: 
hegyi@96:   sigc::signal<void, std::string> signal_title_ch();
hegyi@96: 
hegyi@96:   sigc::signal<void, NoteBookTab *, bool> signal_newmap;
hegyi@96: 
hegyi@96:   sigc::signal<void, NoteBookTab *, bool> signal_newmap_needed();
hegyi@96: 
hegyi@96:   void readFile(const std::string &);
hegyi@96:     
hegyi@96:   ///The graph will be drawn on this \ref GraphDisplayerCanvas
hegyi@96:   GraphDisplayerCanvas * gd_canvas;
hegyi@96: 
hegyi@96:   bool mapwinexists;
hegyi@96: 
hegyi@96:   MapWin * mapwin;
hegyi@96:     
hegyi@96: public:
hegyi@96:   ///Callback for 'FileNew' action.
hegyi@96:   virtual void newFile();
hegyi@96:   ///Callback for 'FileOpen' action.
hegyi@96:   virtual void openFile();
hegyi@96:   ///Callback for 'FileSave' action.
hegyi@96:   virtual void saveFile();
hegyi@96:   ///Callback for 'FileSaveAs' action.
hegyi@96:   virtual void saveFileAs();
hegyi@96:   ///Callback for 'Close' action.
hegyi@96:   virtual void close();
hegyi@96: 
hegyi@96:   void propertyChange(bool, int, std::string);
hegyi@96:   void popupNewMapWin(bool, int);
hegyi@96: 
hegyi@96:   std::string getActiveEdgeMap(int);
hegyi@96:   std::string getActiveNodeMap(int);
hegyi@96: 
hegyi@96:   void registerNewEdgeMap(std::string);
hegyi@96:   void registerNewNodeMap(std::string);
hegyi@96: 
hegyi@96:   void createMapWin(std::string);
hegyi@96:   void closeMapWin();
hegyi@96: };
hegyi@96: 
hegyi@96: #endif //NBTAB_H