| 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 |
|---|