#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();
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