1/* 2 * Copyright 2015, Rene Gollent, rene@gollent.com. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef SIGNAL_DISPOSITION_EDIT_WINDOW_H 6#define SIGNAL_DISPOSITION_EDIT_WINDOW_H 7 8 9#include <Window.h> 10 11#include "Team.h" 12 13#include "types/Types.h" 14 15 16class BButton; 17class BMenu; 18class BMenuField; 19class Team; 20class UserInterfaceListener; 21 22 23class SignalDispositionEditWindow : public BWindow { 24public: 25 SignalDispositionEditWindow( 26 ::Team* team, 27 int32 signal, 28 UserInterfaceListener* listener, 29 BHandler* target); 30 31 ~SignalDispositionEditWindow(); 32 33 static SignalDispositionEditWindow* Create(::Team* team, 34 int32 signal, 35 UserInterfaceListener* listener, 36 BHandler* target); 37 // throws 38 39 virtual void MessageReceived(BMessage* message); 40 41 virtual void Show(); 42 43private: 44 void _Init(); 45 BMenu* _BuildSignalSelectionMenu(); 46 void _UpdateState(); 47 48private: 49 ::Team* fTeam; 50 UserInterfaceListener* fListener; 51 bool fEditMode; 52 int32 fCurrentSignal; 53 int32 fCurrentDisposition; 54 BButton* fSaveButton; 55 BButton* fCancelButton; 56 BMenuField* fSignalSelectionField; 57 BMenuField* fDispositionSelectionField; 58 BHandler* fTarget; 59}; 60 61 62#endif // SIGNAL_DISPOSITION_EDIT_WINDOW 63