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