COIN-OR::LEMON - Graph Library

source: glemon-0.x/map_win.h @ 130:3533c2d9a865

gui
Last change on this file since 130:3533c2d9a865 was 123:a3781bff1032, checked in by Hegyi Péter, 18 years ago

Documenatation of MapWin?.

File size: 3.8 KB
RevLine 
[6]1// -*- C++ -*- //
2
3#ifndef MAP_WIN_H
4#define MAP_WIN_H
5
[28]6class MapWin;
7
[94]8#include <all_include.h>
[96]9#include <nbtab.h>
[112]10#include <mapselector.h>
[6]11#include <libgnomecanvasmm.h>
12#include <libgnomecanvasmm/polygon.h>
13
[123]14///Graph visualization setup window.
15
[6]16///This class is responsible for creating a window,
17///on which the visualization attributes can be
18///assigned to maps.
19class MapWin : public Gtk::Window
20{
21protected:
[123]22  ///\ref NoteBookTab to that the \ref MapWin belongs to.
[96]23  NoteBookTab & mytab;
[6]24
[123]25  ///Designing element
[28]26  Gtk::Table * table;
[6]27 
[123]28  ///\ref MapSelectors for each property
[6]29
[123]30  ///Each property has an own \ref MapSelector through which
31  ///the map to visualize by the property van be set.
32  MapSelector ** e_combo_array;
33
34  ///\ref MapSelectors for each property
35
36  ///Each property has an own \ref MapSelector through which
37  ///the map to visualize by the property van be set.
38  MapSelector ** n_combo_array;
39
40  ///Information holder
[8]41  Gtk::Label * label;
[6]42
[123]43  ///Container in which elements are organized.
[28]44  Gtk::VBox vbox;
45
[6]46public:
[123]47  ///Constructor
[6]48
[123]49  ///It creates the widgets shown in \ref MapWin and
50  ///binds the needed signal to the correct place.
51  ///\param title title of window
52  ///\param eml edgemap list
53  ///\param nml nodemap list
54  ///\param mw the owner \ref NoteBookTab (\ref mytab)
55  MapWin(const std::string& title, std::vector<std::string> eml, std::vector<std::string> nml, NoteBookTab & mw);
[95]56
[123]57  ///Deregistrates \ref MapWin in its \ref NoteBookTab (\ref mytab)
[95]58  virtual bool on_delete_event(GdkEventAny *);
59
[123]60  ///Handles changement in nodemap selection
[28]61
[123]62  ///If \ref MapSelector emits a signal that indicates
63  ///changement in nodemap selection this function will
64  ///be called. It calls the appropriate handler function,
65  ///\ref NoteBookTab::propertyChange with parameters describing the changement.
66  ///\param mapname the recently selected map
67  ///\param prop the changed property
68  void nodeMapChanged(std::string mapname, int prop);
[94]69
[123]70  ///Handles changement in edgemap selection
[28]71
[123]72  ///If \ref MapSelector emits a signal that indicates
73  ///changement in edgemap selection this function will
74  ///be called. It calls the appropriate handler function,
75  ///\ref NoteBookTab::propertyChange with parameters describing the changement.
76  ///\param mapname the recently selected map
77  ///\param prop the changed property
78  void edgeMapChanged(std::string mapname, int prop);
[38]79
[123]80  ///Indicates to the owner \ref NoteBookTab that a \ref NewMapWin should be opened.
[38]81
[123]82  ///This function is bound to the
83  ///signal emitted by the \ref MapSelector in case of
84  ///the user wants to create a new map. It only pass the
85  ///information further to the tab owning this \ref MapWin that is needed to open the
86  ///\ref NewMapWin. (\ref NoteBookTab::popupNewMapWin)
87  ///\param itisedge should the new map will be an edgemap? (or nodemap)
88  void newMapWinNeeded(bool itisedge);
89
90  ///This function inserts name of the new edgemap in the name list in \ref MapSelector s
91
92  ///\param new_name
93  ///name of new map
94  void registerNewEdgeMap(std::string new_name);
95
96  ///This function inserts name of the new nodemap in the name list in \ref MapSelector s
97
98  ///\param new_name
99  ///name of new map
100  void registerNewNodeMap(std::string new_name);
101
102  ///Close window if Esc key pressed.
[30]103  virtual bool closeIfEscapeIsPressed(GdkEventKey*);
[38]104
[123]105  ///Updates list of maps in all \ref MapSelector
106
107  ///This function is called by \ref NoteBookTab, when the file
108  ///showed in it has changed, therefore the contained maps
109  ///have changed as well. \ref NoteBookTab knows, whether it
110  ///has to call this function or not from the \ref NoteBookTab::mapwinexists
111  ///variable.
112  ///\param eml edge map list
113  ///\param nml node map list
114  void update(std::vector<std::string> eml, std::vector<std::string> nml);
[6]115};
116
117#endif //MAP_WIN_H
Note: See TracBrowser for help on using the repository browser.