X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FATC%2Fatcdialog.hxx;h=3125fd3e475e2e9a585cb9ed2f6ade38a20d44d3;hb=8eca7590777cf4cf9d79a7a83187b588d5e53f2d;hp=f667b87dc3f5f640f451117ebe6a15cf23d23c95;hpb=fa842a42b6e0b312049fff5c653675ad4ae69753;p=flightgear.git diff --git a/src/ATC/atcdialog.hxx b/src/ATC/atcdialog.hxx index f667b87dc..3125fd3e4 100644 --- a/src/ATC/atcdialog.hxx +++ b/src/ATC/atcdialog.hxx @@ -40,16 +40,17 @@ #include // mkDialog #include -typedef vector StringVec; -typedef vector:: iterator StringVecIterator; +typedef std::vector 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