author | hegyi |
Wed, 30 Nov 2005 13:24:23 +0000 | |
branch | gui |
changeset 95 | 628c0b383d2f |
parent 94 | adfdc2f70548 |
child 96 | e664d8aa3f72 |
permissions | -rw-r--r-- |
ladanyi@6 | 1 |
// -*- C++ -*- // |
ladanyi@6 | 2 |
|
ladanyi@6 | 3 |
#ifndef MAIN_WIN_H |
ladanyi@6 | 4 |
#define MAIN_WIN_H |
ladanyi@6 | 5 |
|
hegyi@94 | 6 |
class MainWin; |
hegyi@94 | 7 |
|
ladanyi@53 | 8 |
#include "all_include.h" |
ladanyi@53 | 9 |
#include "mapstorage.h" |
ladanyi@53 | 10 |
#include "map_win.h" |
ladanyi@53 | 11 |
#include "new_map_win.h" |
ladanyi@53 | 12 |
#include "graph_displayer_canvas.h" |
ladanyi@6 | 13 |
#include <libgnomecanvasmm.h> |
ladanyi@6 | 14 |
#include <libgnomecanvasmm/polygon.h> |
ladanyi@6 | 15 |
|
ladanyi@6 | 16 |
///This class is the main window of GUI. |
ladanyi@6 | 17 |
///It has menus, but the main part of it is the canvas. |
ladanyi@6 | 18 |
class MainWin : public Gtk::Window |
ladanyi@6 | 19 |
{ |
ladanyi@6 | 20 |
public: |
ladanyi@6 | 21 |
///Constructor of the \ref MainWin. It creates the menu and the \ref GraphDisplayerCanvas on which the graph will be drawn. |
ladanyi@6 | 22 |
///\param title is the title of the window |
ladanyi@68 | 23 |
MainWin(); |
ladanyi@53 | 24 |
|
ladanyi@53 | 25 |
MapStorage mapstorage; |
ladanyi@6 | 26 |
|
ladanyi@57 | 27 |
void readFile(const std::string &); |
ladanyi@57 | 28 |
|
ladanyi@6 | 29 |
protected: |
hegyi@94 | 30 |
MapWin * mapwin; |
hegyi@95 | 31 |
bool mapwinexists; |
ladanyi@6 | 32 |
|
ladanyi@6 | 33 |
///The graph will be drawn on this \ref GraphDisplayerCanvas |
hegyi@94 | 34 |
GraphDisplayerCanvas * gd_canvas; |
ladanyi@6 | 35 |
|
ladanyi@6 | 36 |
///ActionGroup for menu |
ladanyi@6 | 37 |
Glib::RefPtr<Gtk::ActionGroup> ag; |
ladanyi@6 | 38 |
|
ladanyi@6 | 39 |
///UIManager for menu |
ladanyi@6 | 40 |
Glib::RefPtr<Gtk::UIManager> uim; |
ladanyi@6 | 41 |
|
ladanyi@6 | 42 |
///Container |
ladanyi@6 | 43 |
Gtk::VBox vbox; |
ladanyi@6 | 44 |
|
hegyi@50 | 45 |
///Tooltips |
hegyi@50 | 46 |
Gtk::Tooltips tooltips; |
hegyi@50 | 47 |
|
ladanyi@6 | 48 |
///Callback for 'FileNew' action. |
ladanyi@6 | 49 |
virtual void newFile(); |
ladanyi@6 | 50 |
///Callback for 'FileOpen' action. |
ladanyi@6 | 51 |
virtual void openFile(); |
ladanyi@6 | 52 |
///Callback for 'FileSave' action. |
ladanyi@6 | 53 |
virtual void saveFile(); |
ladanyi@6 | 54 |
///Callback for 'FileSaveAs' action. |
ladanyi@6 | 55 |
virtual void saveFileAs(); |
ladanyi@53 | 56 |
///Callback for 'Close' action. |
ladanyi@53 | 57 |
virtual void close(); |
hegyi@94 | 58 |
|
hegyi@94 | 59 |
public: |
hegyi@94 | 60 |
void propertyChange(bool, int, std::string); |
hegyi@94 | 61 |
void popupNewMapWin(bool, int); |
hegyi@94 | 62 |
|
hegyi@94 | 63 |
std::string getActiveEdgeMap(int); |
hegyi@94 | 64 |
std::string getActiveNodeMap(int); |
hegyi@94 | 65 |
|
hegyi@94 | 66 |
void registerNewEdgeMap(std::string); |
hegyi@94 | 67 |
void registerNewNodeMap(std::string); |
hegyi@94 | 68 |
|
hegyi@95 | 69 |
void createMapWin(); |
hegyi@95 | 70 |
void closeMapWin(); |
ladanyi@6 | 71 |
}; |
ladanyi@6 | 72 |
|
ladanyi@6 | 73 |
#endif //MAIN_WIN_H |