summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2MoverModuleTable.h
blob: 66adb4e4f46d264c1d5b8a30d4b9bcafc945a453 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once
#include "common.h"
#include "T2DlgItemImageTable.h"

struct HomeNotification {
    T2ElevatorModule *theModule;
    int whichMover;
    int whichFloor;
    T2MoverModuleTable *theTable;
};

class AFX_CLASS_EXPORT T2MoverModuleTable : public T2DlgItemImageTable {
public:
	T2MoverModuleTable(T2TowerDoc* inDoc, T2ImageObj* inImageObj, CPalette* inPalette);
	virtual ~T2MoverModuleTable();
    virtual BOOL Create(const char* inWindowName, DWORD inStyle, const RECT& inRect, CWnd* inParentWnd, UINT inID);
	virtual void SpendTime();
    virtual void ListenToMessage(UINT inMessage, void *ioData);
    void SetMover(T2Mover* inMover);
    void RefreshMoverCell(int inFloor, unsigned int inIndex);
    void DrawMoverCellByIndex(unsigned int inIndex);

protected:
    virtual BOOL OnCommand(WPARAM inWParam, LPARAM inLParam);
    virtual BOOL OnT2DlgItemEraseBkgnd(CDC* pDC);
    virtual void OnT2DlgItemLButtonDown(UINT inFlags, CPoint inPt);
    virtual void OnT2DlgItemLButtonUp(UINT inFlags, CPoint inPt) {}
    virtual void OnT2DlgItemMouseMove(UINT inFlags, CPoint inPt) {}
    virtual BOOL OnT2DlgItemCreate(CREATESTRUCT* inCreateStruct);
    virtual void ClickCell(const TableCellT& inCell, const POINT& inPt);
    virtual void DrawCellSelf(CDC* pDC, const TableCellT& inCell, BOOL inSelected);

    friend class T2FloorNumberTable;

    T2ElevatorModule* GetModule(int inIndex);
    int GetCellContent(const TableCellT& inCell);
    int GetVScrValue();

    T2Mover *mMover;
    T2MoverModuleList *mMoverModuleList;
    T2BitImage *mImage;
    RECT mRect;
};