COIN-OR::LEMON - Graph Library

source: glemon/eps_win.h @ 6:3a44a2bb6da8

Last change on this file since 6:3a44a2bb6da8 was 1:67188bd752db, checked in by Peter Hegyi <hegyi@…>, 16 years ago

SVN revision 3500 made compilable with Lemon 1.0.

File size: 3.1 KB
Line 
1/* -*- C++ -*-
2 *
3 * This file is a part of LEMON, a generic C++ optimization library
4 *
5 * Copyright (C) 2003-2006
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8 *
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
12 *
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
15 * purpose.
16 *
17 */
18
19#ifndef EPS_WIN_H
20#define EPS_WIN_H
21
22class MapSelector;
23
24#include <all_include.h>
25#include <libgnomecanvasmm.h>
26#include <libgnomecanvasmm/polygon.h>
27#include "map_value.h"
28
29///Digraph visualization setup window.
30
31///This class is responsible for creating a window,
32///on which the visualization attributes can be
33///assigned to maps.
34class EpsWin : public Gtk::Dialog
35{
36protected:
37  ///Designing element
38  Gtk::Table * table;
39 
40  ///Information holder
41  Gtk::Label * label;
42
43  ///configuration
44  std::vector<Gtk::CheckButton *> options;
45
46  ///OK, Cancel
47  Gtk::Button * ok, * cancel;
48
49  ///Container in which filename entry are organized.
50  Gtk::HBox hbox;
51
52  ///Filename
53  Gtk::Entry name;
54
55  MapSelector * mapselector;
56public:
57  ///Constructor
58
59  ///It creates the widgets shown in \ref EpsWin and
60  ///binds the needed signal to the correct place.
61  ///\param title title of window
62  ///\param eml arcmap list
63  ///\param nml nodemap list
64  ///\param mw the owner \ref NoteBookTab (\ref mytab)
65  EpsWin(const std::string& title, std::vector<std::string>, std::vector<std::string>);
66
67  ///Deregistrates \ref EpsWin in its \ref NoteBookTab (\ref mytab)
68  virtual bool on_delete_event(GdkEventAny *);
69
70  ///Close window if Esc key pressed.
71  virtual bool closeIfEscapeIsPressed(GdkEventKey*);
72
73  ///Callback function for OK button. It creates the map.
74 
75  ///If OK is pressed this function
76  ///transmits the collected data to
77  ///appropriate functions to be able
78  ///to create EPS
79  virtual void on_response(int response_id);
80
81  ///indicates that user is ready to export EPS file
82  sigc::signal<void, std::vector<bool>, std::string, std::string > signal_eps_details;
83
84  ///returns \ref signal_eps_details
85  sigc::signal<void, std::vector<bool>, std::string, std::string > signal_eps_details_ch(){return signal_eps_details;};
86
87  ///indicates that the windows can be closed
88  sigc::signal<void> signal_eps_close;
89
90  ///returns \ref signal_eps_close
91  sigc::signal<void> signal_eps_close_ch(){return signal_eps_close;};
92 
93  ///indicates that the windows can be closed
94  sigc::signal<void, bool> signal_new_map;
95
96  ///returns \ref signal_eps_close
97  sigc::signal<void, bool> signal_new_map_ch(){return signal_new_map;};
98
99  ///Function is called when new map is required.
100  void newMapWinNeeded(bool);
101
102  ///This function inserts name of the new nodemap in the name list in \ref MapSelector s
103
104  ///\param new_name
105  ///name of new map
106  void registerNewNodeMap(std::string new_name, MapValue::Type type);
107};
108
109#endif //EPS_WIN_H
Note: See TracBrowser for help on using the repository browser.