// piecebar.h : header file // ///////////////////////////////////////////////////////////////////////// #if !defined(PIECEBAR_H_INCLUDED) #define PIECEBAR_H_INCLUDED #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include "PieceLst.h" #include "ColorLst.h" #include "PieceCmb.h" #include "PiecePrv.h" #include "TransBar.h" #include "Splitter.h" ///////////////////////////////////////////////////////////////////////// // CPiecesBar control bar class CPiecesBar : public CControlBar { public: CPiecesBar(); // Attributes public: CSize m_sizeHorz; CSize m_sizeVert; CSize m_sizeFloat; BOOL IsHorzDocked() const; BOOL IsVertDocked() const; // Operations public: // Overrides public: // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CPiecesBar) public: virtual BOOL Create(LPCTSTR lpszWindowName, CWnd* pParentWnd, CSize sizeDefault, BOOL bHasGripper, UINT nID, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP); virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz); virtual CSize CalcDynamicLayout(int nLength, DWORD dwMode); //}}AFX_VIRTUAL // Implementation public: virtual ~CPiecesBar(); protected: // implementation helpers void StartTracking(); void StopTracking(BOOL bAccept); void OnTrackUpdateSize(CPoint& point); void OnTrackInvertTracker(); virtual CSize CalcMaxSize(); virtual BOOL QueryDragFullWindows() const; protected: // used for resizing CSize m_sizeMin; CSize m_sizeMax; CPoint m_ptOld; CRect m_rectBorder; BOOL m_bTracking; BOOL m_bDragShowContent; CSize m_sizeOld; BOOL m_bInRecalcNC; UINT m_nDockBarID; int m_cxEdge; BOOL m_bHasGripper; int m_cyGripper; CRect m_rectGripper; public: void CreateGroupsBar(); BOOL m_bSubParts; BOOL m_bPreview; BOOL m_bGroups; BOOL m_bCombo; BOOL m_bNumbers; CPiecesList m_wndPiecesList; CColorsList m_wndColorsList; CPiecesCombo m_wndPiecesCombo; CPiecePreview m_wndPiecePreview; CTransToolBar m_wndGroupsBar; CySplitterWnd m_wndSplitter; char m_GroupNames[32][33]; int m_nCurGroup; // Generated message map functions protected: BOOL m_bNoContext; CFont m_Font; int m_nPreviewHeight; void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler); void OnSelChangeColor(); //{{AFX_MSG(CPiecesBar) afx_msg void OnPaint(); afx_msg void OnNcPaint(); afx_msg void OnWindowPosChanged(WINDOWPOS FAR* lpwndpos); afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); afx_msg void OnRButtonDown(UINT nFlags, CPoint point); afx_msg void OnCaptureChanged(CWnd *pWnd); afx_msg UINT OnNcHitTest(CPoint point); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); //}}AFX_MSG afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult); afx_msg LONG OnSplitterMoved(UINT lParam, LONG wParam); void OnPieceGroupClicked(UINT nID); DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(PIECEBAR_H_INCLUDED)