123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- //---------------------------------------------------------------------------
- #ifndef QueueControllerH
- #define QueueControllerH
- //---------------------------------------------------------------------------
- #include <ComCtrls.hpp>
- //---------------------------------------------------------------------------
- enum TQueueOperation { qoNone, qoGoTo, qoPreferences, qoItemUserAction,
- qoItemQuery, qoItemError, qoItemPrompt, qoItemDelete, qoItemExecute,
- qoItemUp, qoItemDown, qoItemPause, qoItemResume, qoItemSpeed, qoPauseAll, qoResumeAll,
- qoOnceEmpty, qoDeleteAllDone, qoDeleteAll };
- class TQueueItemProxy;
- class TTerminalQueueStatus;
- //---------------------------------------------------------------------------
- class TQueueController
- {
- public:
- __fastcall TQueueController(TCustomListView * ListView);
- virtual __fastcall ~TQueueController();
- TQueueOperation __fastcall DefaultOperation();
- bool __fastcall AllowOperation(TQueueOperation Operation, unsigned long * Param = NULL);
- void __fastcall ExecuteOperation(TQueueOperation Operation, unsigned long Param = 0);
- void __fastcall UpdateQueueStatus(TTerminalQueueStatus * QueueStatus);
- void __fastcall RefreshQueueItem(TQueueItemProxy * QueueItem);
- static bool __fastcall QueueItemNeedsFrequentRefresh(TQueueItemProxy * QueueItem);
- bool __fastcall NeedRefresh();
- TQueueItemProxy * __fastcall GetFocusedPrimaryItem();
- __property TNotifyEvent OnChange = { read = FOnChange, write = FOnChange };
- __property bool Empty = { read = GetEmpty };
- private:
- TListView * FListView;
- TTerminalQueueStatus * FQueueStatus;
- TNotifyEvent FOnChange;
- TFormatBytesStyle FFormatSizeBytes;
- TQueueItemProxy * __fastcall QueueViewItemToQueueItem(TListItem * Item);
- void __fastcall QueueViewDblClick(TObject * Sender);
- void __fastcall QueueViewKeyDown(TObject * Sender, WORD & Key, TShiftState Shift);
- void __fastcall QueueViewCustomDrawItem(TCustomListView * Sender, TListItem * Item,
- TCustomDrawState State, bool & DefaultDraw);
- virtual void __fastcall DoChange();
- bool __fastcall GetEmpty();
- void __fastcall RememberConfiguration();
- static void __fastcall FillQueueViewItem(TListItem * Item,
- TQueueItemProxy * QueueItem, bool Detail, bool OnlyLine);
- TListItem * __fastcall InsertItemFor(TQueueItemProxy * QueueItem, int Index);
- bool __fastcall UseDetailsLine(int ItemIndex, TQueueItemProxy * QueueItem);
- static bool SimpleOperation(TQueueItemProxy * QueueItem);
- };
- //---------------------------------------------------------------------------
- #endif
|