#ifndef SAVE_DETAILS_WIDGET #define SAVE_DETAILS_WIDGET #include #include #include #include #include #include #include #include class MapStorage; class SaveDetailsWidget : public Gtk::VBox { public: struct MapModelColumns : public Gtk::TreeModel::ColumnRecord { MapModelColumns() { add(colName); add(colSaveToMainSect); add(colSaveToGuiSect); } Gtk::TreeModelColumn colName; Gtk::TreeModelColumn colSaveToMainSect; Gtk::TreeModelColumn colSaveToGuiSect; }; private: Gtk::RadioButton rbLgfFile; Gtk::RadioButton rbConfFile; Gtk::TreeView twNodeMaps; Gtk::TreeView twEdgeMaps; MapModelColumns NodeMapColumns; MapModelColumns EdgeMapColumns; Glib::RefPtr refNodeMapStore; Glib::RefPtr refEdgeMapStore; Gtk::RadioButton rbNodeCoordGuiSection; Gtk::RadioButton rbNodeCoordNodesetSection; Gtk::RadioButton rbNodeCoordOneMap; Gtk::RadioButton rbNodeCoordTwoMaps; Gtk::Entry entNodeCoordsOneMap; Gtk::Entry entNodeCoordsTwoMaps1; Gtk::Entry entNodeCoordsTwoMaps2; Gtk::RadioButton rbArrowCoordGuiSection; Gtk::RadioButton rbArrowCoordEdgesetSection; Gtk::RadioButton rbArrowCoordOneMap; Gtk::RadioButton rbArrowCoordTwoMaps; Gtk::Entry entArrowCoordsOneMap; Gtk::Entry entArrowCoordsTwoMaps1; Gtk::Entry entArrowCoordsTwoMaps2; MapStorage* pMapStorage; void onGuiSectSaveDestChanged(); void onNodeCoordSaveDestChanged(); void onNodeCoordMapNumChanged(); void onNodeCoordsOneMapName(); void onNodeCoordsTwoMaps1Name(); void onNodeCoordsTwoMaps2Name(); void onArrowCoordSaveDestChanged(); void onArrowCoordMapNumChanged(); void onArrowCoordsOneMapName(); void onArrowCoordsTwoMaps1Name(); void onArrowCoordsTwoMaps2Name(); void onEdgeMapRowChanged(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter); void onNodeMapRowChanged(const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter); public: SaveDetailsWidget(MapStorage* ms); ~SaveDetailsWidget(); }; #endif