]> git.mxchange.org Git - flightgear.git/blobdiff - src/ATC/atcdialog.hxx
Merge branch 'next' of gitorious.org:fg/flightgear into next
[flightgear.git] / src / ATC / atcdialog.hxx
index f667b87dc3f5f640f451117ebe6a15cf23d23c95..3125fd3e475e2e9a585cb9ed2f6ade38a20d44d3 100644 (file)
 #include <GUI/gui.h>           // mkDialog
 #include <GUI/new_gui.hxx>
 
-typedef vector<string> StringVec;
-typedef vector<string>:: iterator StringVecIterator;
+typedef std::vector<std::string> StringVec;
+typedef StringVec::iterator StringVecIterator;
 
-static bool doATCDialog(const SGPropertyNode* arg);
 
 class FGATCDialogNew {
 private:
      NewGUI *_gui;
      bool dialogVisible;
      StringVec commands;
+
+     static FGATCDialogNew *_instance;
 public:
 
     FGATCDialogNew();
@@ -60,8 +61,20 @@ public:
     void update(double dt);
     void PopupDialog();
     void addEntry(int, string);
+    void removeEntry(int);
+
+    static bool popup( const SGPropertyNode * ) {
+        instance()->PopupDialog();
+        return true;
+    }
+
+    inline static FGATCDialogNew * instance() {
+        if( _instance != NULL ) return _instance;
+        _instance = new FGATCDialogNew();
+        _instance->init();
+        return _instance;
+    }
 };
 
-extern FGATCDialogNew *currentATCDialog;
 
 #endif // _ATC_DIALOG_HXX_
\ No newline at end of file