COIN-OR::LEMON - Graph Library

source: lemon-0.x/gui/map_win.h @ 1849:a4d1362397fe

Last change on this file since 1849:a4d1362397fe was 1849:a4d1362397fe, checked in by Hegyi Péter, 14 years ago

Notebook style is provided. Without opportunity to close tabs. :-) But with all other necessary things (I think).

File size: 2.2 KB
Line 
1// -*- C++ -*- //
2
3#ifndef MAP_WIN_H
4#define MAP_WIN_H
5
6class MapWin;
7
8#include <all_include.h>
9#include <nbtab.h>
10#include <libgnomecanvasmm.h>
11#include <libgnomecanvasmm/polygon.h>
12
13///This class is responsible for creating a window,
14///on which the visualization attributes can be
15///assigned to maps.
16class MapWin : public Gtk::Window
17{
18
19  class MapSelector : public Gtk::HBox
20  {
21  protected:
22    sigc::signal<void, std::string> signal_cbt;
23    sigc::signal<void, bool> signal_newmapwin;
24
25    int id;
26
27    bool itisedge;
28
29    bool default_state;
30
31    bool set_new_map;
32
33    Gtk::ComboBoxText cbt;
34
35    Gtk::Button * newbut, * defbut;
36
37    Gtk::HBox hbox;
38
39    Gtk::Label * label;
40
41  public:
42
43    MapSelector(std::vector<std::string>, std::string, int, bool);
44
45    sigc::signal<void, std::string> signal_cbt_ch();
46    sigc::signal<void, bool> signal_newmapwin_needed();
47
48    void update_list( std::vector<std::string> );
49
50    ///If a radiobutton is clicked, this function determines
51    ///which button was that and after that calls the
52    ///appropriate function of the \ref GraphDisplayerCanvas
53    ///to change the visible values of that attribute.
54    virtual void comboChanged();
55
56    virtual void new_but_pressed();
57
58    virtual void reset();
59
60    Glib::ustring get_active_text();
61    void set_active_text(Glib::ustring);
62    void append_text(Glib::ustring);
63  };
64
65
66
67protected:
68  NoteBookTab & mytab;
69
70  Gtk::Table * table;
71 
72  MapSelector ** e_combo_array, ** n_combo_array;
73
74  Gtk::Label * label;
75
76  Gtk::VBox vbox;
77
78public:
79  ///Constructor of MapWin creates the widgets shown in MapWin.
80  MapWin(const std::string& title, std::vector<std::string>, std::vector<std::string>, NoteBookTab & mw);
81
82  ~MapWin();
83
84  virtual bool on_delete_event(GdkEventAny *);
85
86  void nodeMapChanged(std::string, int);
87
88  void edgeMapChanged(std::string, int);
89
90  void newMapWinNeeded(bool, int);
91
92  ///This function inserts name of the new edgemap in the list in the combo box
93  void registerNewEdgeMap(std::string);
94
95  ///This function inserts name of the new nodemap in the list in the combo box
96  void registerNewNodeMap(std::string);
97
98  virtual bool closeIfEscapeIsPressed(GdkEventKey*);
99
100  void update(std::vector<std::string>, std::vector<std::string>);
101};
102
103#endif //MAP_WIN_H
Note: See TracBrowser for help on using the repository browser.