COIN-OR::LEMON - Graph Library

source: glemon-0.x/main_win.h @ 106:853dd852abc7

gui
Last change on this file since 106:853dd852abc7 was 106:853dd852abc7, checked in by Hegyi Péter, 19 years ago

Communication with algorithm window is developed.

File size: 2.0 KB
Line 
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.
17class 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
34public:
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
Note: See TracBrowser for help on using the repository browser.