gui/new_map_win.h
author marci
Wed, 30 Nov 2005 17:00:17 +0000
changeset 1840 173b53b28d7c
parent 1823 cb082cdf3667
child 1849 a4d1362397fe
permissions -rw-r--r--
max flow with lp column generation
     1 // -*- C++ -*- //
     2 
     3 #ifndef NEWMAPWIN_H
     4 #define NEWMAPWIN_H
     5 
     6 class NewMapWin;
     7 
     8 #include <all_include.h>
     9 #include <main_win.h>
    10 #include <libgnomecanvasmm.h>
    11 #include <libgnomecanvasmm/polygon.h>
    12 #include <stack>
    13 
    14 ///This class is responsible for creating a window,
    15 ///on which the parameters of a new map can be set.
    16 
    17 class NewMapWin : public Gtk::Dialog
    18 {
    19   MainWin & mainwin;
    20 
    21 public:
    22   struct tree_node
    23   {
    24     char ch;
    25     tree_node * left_child;
    26     tree_node * right_child;
    27   };
    28   
    29   ///Constructor of NewMapWin creates the widgets shown in NewMapWin.
    30   NewMapWin(const std::string& title, MainWin &, bool itisedge=true, bool edgenode=true);
    31   
    32   ///Signal on button is connected to this function,
    33   ///Therefore this function determines whether to
    34   ///call the map/creatort function, and if yes, it
    35   //tells it the attributes.(name, default value)
    36   virtual void on_response(int response_id);
    37 
    38   virtual bool closeIfEscapeIsPressed(GdkEventKey*);
    39 
    40   ///Function that creates a tree from an appropriately manipulated string
    41   tree_node * weightedString2Tree(std::string, std::vector<unsigned int> &, int);
    42 
    43   ///Function  that creates a string from a tree by postorder reading.
    44   std::string postOrder(tree_node *);
    45 
    46   std::string string2Polishform(std::string, bool);
    47 
    48   bool validVariable(std::string, bool);
    49 
    50   std::map<char, std::string> ch2var;
    51 
    52   Gtk::Entry name, default_value;
    53 
    54   Gtk::Table * table;
    55   Gtk::Label * label;
    56 
    57   Gtk::RadioButton node, edge;
    58 };
    59 
    60 #endif //NEWMAPWIN_H