// Renegade Map Selector // // Douglas Thrift // // MapSelector.h #ifndef _WIN32 #ifndef _MapSelector_h_ #define _MapSelector_h_ #include "RenegadeConfig.h" #include #include #include #include #include extern RenegadeConfig* config; inline void message(GtkWindow* parent, const string& text, const string& title, GtkMessageType type) { GtkWidget* box = gtk_message_dialog_new(parent, GTK_DIALOG_MODAL, type, GTK_BUTTONS_OK, text.c_str()); gtk_window_set_title(GTK_WINDOW(box), title.c_str()); gtk_dialog_run(GTK_DIALOG(box)); gtk_widget_destroy(box); } class MapSelector { private: GtkWidget* window; GtkWidget* available; GtkWidget* selected; GtkWidget* add; GtkWidget* remove; GtkWidget* up; GtkWidget* down; void setupAvailable(); void setupSelected(); unsigned counter; unsigned insert; public: MapSelector(); ~MapSelector() {} // friends: friend void destruct(GtkWidget* widget, MapSelector* data); friend void done(GtkWidget* widget, MapSelector* data); friend void changeAvailable(GtkTreeSelection* selection, MapSelector* data); friend void changeSelected(GtkTreeSelection* selection, MapSelector* data); friend void mapAdd(GtkWidget* widget, MapSelector* data); friend void mapAddEach(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, MapSelector* data); friend void mapRemove(GtkWidget* widget, MapSelector* data); friend void mapRemoveEach(GtkTreePath* path, MapSelector* data); friend void mapUp(GtkWidget* widget, MapSelector* data); friend void mapUpEach(GtkTreePath* path, MapSelector* data); friend void mapDown(GtkWidget* widget, MapSelector* data); friend void mapDownEach(GtkTreePath* path, MapSelector* data); }; #endif // _MapSelector_h_ #endif