save_details_widget.h
changeset 1 67188bd752db
equal deleted inserted replaced
-1:000000000000 0:5065b4201040
       
     1 #ifndef SAVE_DETAILS_WIDGET
       
     2 #define SAVE_DETAILS_WIDGET
       
     3 
       
     4 #include <gtkmm/entry.h>
       
     5 #include <gtkmm/box.h>
       
     6 #include <gtkmm/radiobutton.h>
       
     7 #include <gtkmm/label.h>
       
     8 #include <gtkmm/notebook.h>
       
     9 #include <gtkmm/treemodel.h>
       
    10 #include <gtkmm/liststore.h>
       
    11 #include <gtkmm/treeview.h>
       
    12 #include <gtkmm/scrolledwindow.h>
       
    13 
       
    14 class MapStorage;
       
    15 
       
    16 class SaveDetailsWidget : public Gtk::VBox
       
    17 {
       
    18   public:
       
    19     struct MapModelColumns : public Gtk::TreeModel::ColumnRecord
       
    20     {
       
    21       MapModelColumns()
       
    22       {
       
    23         add(colName);
       
    24         add(colSaveToMainSect);
       
    25         add(colSaveToGuiSect);
       
    26       }
       
    27       Gtk::TreeModelColumn<Glib::ustring> colName;
       
    28       Gtk::TreeModelColumn<bool> colSaveToMainSect;
       
    29       Gtk::TreeModelColumn<bool> colSaveToGuiSect;
       
    30     };
       
    31   private:
       
    32     Gtk::RadioButton rbLgfFile;
       
    33     Gtk::RadioButton rbConfFile;
       
    34 
       
    35     Gtk::TreeView twNodeMaps;
       
    36     Gtk::TreeView twArcMaps;
       
    37 
       
    38     MapModelColumns NodeMapColumns;
       
    39     MapModelColumns ArcMapColumns;
       
    40 
       
    41     Glib::RefPtr<Gtk::ListStore> refNodeMapStore;
       
    42     Glib::RefPtr<Gtk::ListStore> refArcMapStore;
       
    43 
       
    44     Gtk::RadioButton rblueCoordGuiSection;
       
    45     Gtk::RadioButton rblueCoordNodesetSection;
       
    46     Gtk::RadioButton rblueCoordOneMap;
       
    47     Gtk::RadioButton rblueCoordTwoMaps;
       
    48     Gtk::Entry entNodeCoordsOneMap;
       
    49     Gtk::Entry entNodeCoordsTwoMaps1;
       
    50     Gtk::Entry entNodeCoordsTwoMaps2;
       
    51 
       
    52     Gtk::RadioButton rbArrowCoordGuiSection;
       
    53     Gtk::RadioButton rbArrowCoordArcsetSection;
       
    54     Gtk::RadioButton rbArrowCoordOneMap;
       
    55     Gtk::RadioButton rbArrowCoordTwoMaps;
       
    56     Gtk::Entry entArrowCoordsOneMap;
       
    57     Gtk::Entry entArrowCoordsTwoMaps1;
       
    58     Gtk::Entry entArrowCoordsTwoMaps2;
       
    59 
       
    60     MapStorage* pMapStorage;
       
    61 
       
    62     void onGuiSectSaveDestChanged();
       
    63 
       
    64     void onNodeCoordSaveDestChanged();
       
    65     void onNodeCoordMapNumChanged();
       
    66 
       
    67     void onNodeCoordsOneMapName();
       
    68     void onNodeCoordsTwoMaps1Name();
       
    69     void onNodeCoordsTwoMaps2Name();
       
    70 
       
    71     void onArrowCoordSaveDestChanged();
       
    72     void onArrowCoordMapNumChanged();
       
    73 
       
    74     void onArrowCoordsOneMapName();
       
    75     void onArrowCoordsTwoMaps1Name();
       
    76     void onArrowCoordsTwoMaps2Name();
       
    77 
       
    78     void onArcMapRowChanged(const Gtk::TreeModel::Path& path,
       
    79         const Gtk::TreeModel::iterator& iter);
       
    80     void onNodeMapRowChanged(const Gtk::TreeModel::Path& path,
       
    81         const Gtk::TreeModel::iterator& iter);
       
    82   public:
       
    83     SaveDetailsWidget(MapStorage* ms);
       
    84     ~SaveDetailsWidget();
       
    85 };
       
    86 
       
    87 #endif