main_win.h
author hegyi
Wed, 30 Nov 2005 13:24:23 +0000
branchgui
changeset 95 628c0b383d2f
parent 94 adfdc2f70548
child 96 e664d8aa3f72
permissions -rw-r--r--
MapWin is created and disposed from now instead of being show and hide.
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