/* * Copyright 2015, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #ifndef SIGNAL_DISPOSITION_EDIT_WINDOW_H #define SIGNAL_DISPOSITION_EDIT_WINDOW_H #include #include "Team.h" #include "types/Types.h" class BButton; class BMenu; class BMenuField; class Team; class UserInterfaceListener; class SignalDispositionEditWindow : public BWindow { public: SignalDispositionEditWindow( ::Team* team, int32 signal, UserInterfaceListener* listener, BHandler* target); ~SignalDispositionEditWindow(); static SignalDispositionEditWindow* Create(::Team* team, int32 signal, UserInterfaceListener* listener, BHandler* target); // throws virtual void MessageReceived(BMessage* message); virtual void Show(); private: void _Init(); BMenu* _BuildSignalSelectionMenu(); void _UpdateState(); private: ::Team* fTeam; UserInterfaceListener* fListener; bool fEditMode; int32 fCurrentSignal; int32 fCurrentDisposition; BButton* fSaveButton; BButton* fCancelButton; BMenuField* fSignalSelectionField; BMenuField* fDispositionSelectionField; BHandler* fTarget; }; #endif // SIGNAL_DISPOSITION_EDIT_WINDOW