QueueController.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //---------------------------------------------------------------------------
  2. #ifndef QueueControllerH
  3. #define QueueControllerH
  4. //---------------------------------------------------------------------------
  5. #include <ComCtrls.hpp>
  6. //---------------------------------------------------------------------------
  7. enum TQueueOperation { qoNone, qoGoTo, qoPreferences, qoItemUserAction,
  8. qoItemQuery, qoItemError, qoItemPrompt, qoItemDelete, qoItemExecute,
  9. qoItemUp, qoItemDown };
  10. class TCustomListView;
  11. class TCriticalSection;
  12. class TQueueItemProxy;
  13. class TTerminalQueueStatus;
  14. //---------------------------------------------------------------------------
  15. class TQueueController
  16. {
  17. public:
  18. __fastcall TQueueController(TListView * ListView);
  19. __fastcall ~TQueueController();
  20. TQueueOperation __fastcall DefaultOperation();
  21. bool __fastcall AllowOperation(TQueueOperation Operation);
  22. void __fastcall ExecuteOperation(TQueueOperation Operation);
  23. void __fastcall UpdateQueueStatus(TTerminalQueueStatus * QueueStatus);
  24. void __fastcall RefreshQueueItem(TQueueItemProxy * QueueItem);
  25. __property TNotifyEvent OnChange = { read = FOnChange, write = FOnChange };
  26. private:
  27. TListView * FListView;
  28. TTerminalQueueStatus * FQueueStatus;
  29. TNotifyEvent FOnChange;
  30. TQueueItemProxy * __fastcall QueueViewItemToQueueItem(
  31. TListItem * Item, bool * Detail = NULL);
  32. void __fastcall QueueViewDblClick(TObject * Sender);
  33. void __fastcall QueueViewKeyDown(TObject * Sender, WORD & Key, TShiftState Shift);
  34. virtual void __fastcall DoChange();
  35. static void __fastcall FillQueueViewItem(TListItem * Item,
  36. TQueueItemProxy * QueueItem, bool Detail);
  37. };
  38. //---------------------------------------------------------------------------
  39. #endif