Index: src/ch/MiniViewDlg.h =================================================================== diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/MiniViewDlg.h (.../MiniViewDlg.h) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/ch/MiniViewDlg.h (.../MiniViewDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -21,10 +21,18 @@ ///////////////////////////////////////////////////////////////////////////// // CMiniViewDlg dialog -#include "structs.h" #include "ProgressListBox.h" -#include "resource.h" +#include +namespace chengine { + class TTaskManager; +} + +namespace chcore +{ + class TTaskManager; +} + #define BTN_COUNT 5 #define MSG_DRAWBUTTON 1 @@ -38,90 +46,76 @@ public: struct _BTNDATA_ { - void (*pfnCallbackFunc)(CMiniViewDlg*, UINT, _BTNDATA_*, CDC*); // callback - click - int iPosition; // button pos counting from right - bool bPressed; // is it pressed ? - bool bEnabled; // is it enabled ? + void (*pfnCallbackFunc)(CMiniViewDlg*, UINT, _BTNDATA_*, CDC*) = nullptr; // callback - click + int iPosition = 0; // button pos counting from right + bool bPressed = false; // is it pressed ? + bool bEnabled = false; // is it enabled ? CRect rcButton; // filled in OnNCPaint - } m_bdButtons[BTN_COUNT]; + }; + std::array<_BTNDATA_, BTN_COUNT> m_bdButtons; + // Construction public: - CMiniViewDlg(CTaskArray* pArray, bool* pbHide, CWnd* pParent = NULL); // standard constructor + CMiniViewDlg(chengine::TTaskManager* pArray, bool* pbHide, CWnd* pParent = nullptr); // standard constructor void ShowWindow(); void HideWindow(); void ResizeDialog(); - friend void OnRestartBtn(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=NULL); - friend void OnCancelBtn(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=NULL); - friend void OnResume(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=NULL); - friend void OnPause(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=NULL); + friend void OnRestartBtn(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=nullptr); + friend void OnCancelBtn(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=nullptr); + friend void OnResume(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=nullptr); + friend void OnPause(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC=nullptr); friend void OnCloseBtn(CMiniViewDlg* pDlg, UINT uiMsg, CMiniViewDlg::_BTNDATA_* pData, CDC* pDC); void RefreshStatus(); void RecalcSize(int nHeight, bool bInitial); - virtual UINT GetLanguageUpdateOptions() { return LDF_NODIALOGSIZE; }; - virtual void OnLanguageChanged(); + UINT GetLanguageUpdateOptions() override { return LDF_NODIALOGSIZE; } + void OnLanguageChanged() override; +protected: + void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support + LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam) override; + + afx_msg HBRUSH OnCtlColor(CDC*, CWnd*, UINT); + BOOL OnInitDialog() override; + afx_msg void OnTimer(UINT_PTR nIDEvent); + afx_msg void OnSelchangeProgressList(); + afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); + afx_msg void OnLButtonUp(UINT nFlags, CPoint point); + afx_msg void OnNcPaint(); + afx_msg BOOL OnNcActivate(BOOL bActive); + afx_msg void OnSetfocusProgressList(); + afx_msg void OnSelcancelProgressList(); + afx_msg void OnMouseMove(UINT nFlags, CPoint point); + afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection); + afx_msg void OnDblclkProgressList(); + + DECLARE_MESSAGE_MAP() + +public: + static bool m_bLock; + +private: // from CMainWnd - CTaskArray *m_pTasks; + chengine::TTaskManager *m_pTasks; CBrush m_brBackground; int m_iLastHeight; bool m_bShown; - _PROGRESSITEM_ item; // cache - TASK_MINI_DISPLAY_DATA dd; bool m_bActive; // lock - static bool m_bLock; - bool *m_pbHide; // does the big status dialog visible ? + bool *m_pbHide; // is the big status dialog visible ? // in onmousemove points to last pressed button int m_iIndex; -// Dialog Data - //{{AFX_DATA(CMiniViewDlg) - enum { IDD = IDD_MINIVIEW_DIALOG }; CProgressListBox m_ctlStatus; - //}}AFX_DATA - - -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CMiniViewDlg) - public: - protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support - virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); - //}}AFX_VIRTUAL - -// Implementation -protected: - // Generated message map functions - //{{AFX_MSG(CMiniViewDlg) - afx_msg HBRUSH OnCtlColor(CDC*, CWnd*, UINT); - virtual BOOL OnInitDialog(); - afx_msg void OnTimer(UINT_PTR nIDEvent); - afx_msg void OnSelchangeProgressList(); - afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); - afx_msg void OnLButtonUp(UINT nFlags, CPoint point); - afx_msg void OnNcPaint(); - afx_msg BOOL OnNcActivate(BOOL bActive); - afx_msg void OnSetfocusProgressList(); - afx_msg void OnSelcancelProgressList(); - afx_msg void OnMouseMove(UINT nFlags, CPoint point); - afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection); - afx_msg void OnDblclkProgressList(); - //}}AFX_MSG - DECLARE_MESSAGE_MAP() }; -//{{AFX_INSERT_LOCATION}} -// Microsoft Visual C++ will insert additional declarations immediately before the previous line. - #endif