00001 // Copyright (C) 2005-2009 Christopher Mire, Mark McKelvy 00002 // Copyright (C) 2005-2009 University of Louisiana at Lafayette 00003 00004 #ifndef CAJUN_CBTRAFFIC_EDITOR_UI_CONFIG_H 00005 #define CAJUN_CBTRAFFIC_EDITOR_UI_CONFIG_H 00006 00007 #include <cassert> 00008 #include <cstring> 00009 #include <string> 00010 #include <fstream> 00011 #include <vector> 00012 #include <gtk/gtk.h> 00013 #include <glade/glade-xml.h> 00014 #include "xml_utils.H" 00015 00016 namespace cajun 00017 { 00018 class ui_config_t 00019 { 00020 public: 00021 ui_config_t (); 00022 ~ui_config_t (); 00023 00024 GladeXML *init (std::string glade_file); 00025 gboolean gui_init (); 00026 void app_finished (); 00027 gboolean is_app_finished () const; 00028 00029 gchar *m_object_file; 00030 xml_doc_t m_object_doc; 00031 xml_node_t m_object_root; 00032 guint m_selection; 00033 xml_node_t m_selection_node; 00034 gboolean m_has_selection; 00036 GtkTreeIter m_object_selection; 00037 GtkTreeIter m_sensors_selection; 00038 GtkTreeIter m_goals_selection; 00039 std::vector<GtkTreeIter> m_goals_selections; 00041 private: 00042 gboolean m_init; 00043 gboolean m_gui_init; 00044 gboolean m_app_finished; 00045 }; 00046 }; 00047 00048 #endif