You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1735 lines
80 KiB
C
1735 lines
80 KiB
C
2 years ago
|
// XTPDockingPanePaintManager.h : interface for the CXTPDockingPanePaintManager class.
|
||
|
//
|
||
|
// This file is a part of the XTREME DOCKINGPANE MFC class library.
|
||
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
||
|
//
|
||
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
||
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
||
|
// CONSENT OF CODEJOCK SOFTWARE.
|
||
|
//
|
||
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
||
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
||
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
||
|
// SINGLE COMPUTER.
|
||
|
//
|
||
|
// CONTACT INFORMATION:
|
||
|
// support@codejock.com
|
||
|
// http://www.codejock.com
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
#if !defined(__XTPDOCKINGPANEPAINTMANAGER_H__)
|
||
|
#define __XTPDOCKINGPANEPAINTMANAGER_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER >= 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER >= 1000
|
||
|
|
||
|
|
||
|
class CXTPDockingPaneTabsArray;
|
||
|
class CXTPDockingPaneTabbedContainer;
|
||
|
class CXTPDockingPaneAutoHidePanel;
|
||
|
class CXTPTabPaintManager;
|
||
|
class CXTPDockingPaneMiniWnd;
|
||
|
class CXTPDockingPaneSplitterWnd;
|
||
|
class CXTPDockingPaneCaptionButtons;
|
||
|
class CXTPDockingPaneSidePanel;
|
||
|
class CXTPWinThemeWrapper;
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Enumeration of the pin button state
|
||
|
// See Also:
|
||
|
// CXTPDockingPaneCaptionButton::GetState,
|
||
|
// CXTPDockingPaneCaptionButton::SetState
|
||
|
//
|
||
|
// <KEYWORDS xtpPanePinVisible, xtpPanePinPushed>
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPDockingPanePinState
|
||
|
{
|
||
|
xtpPanePinVisible = 1, // Pin button is visible.
|
||
|
xtpPanePinPushed = 2 // Pin button is pushed.
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Enumeration of the splitter styles
|
||
|
// Example:
|
||
|
// m_paneManager.GetPaintManager()->SetSplitterStyle(xtpPaneSplitterSoft3D + xtpPaneSplitterGripperOffice2003);
|
||
|
// See Also:
|
||
|
// CXTPDockingPanePaintManager::SetSplitterStyle
|
||
|
//
|
||
|
// <KEYWORDS xtpPaneSplitterFlat, xtpPaneSplitter3D, xtpPaneSplitterSoft3D, xtpPaneSplitterGripperOfficeXP, xtpPaneSplitterGripperOffice2003>
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPDockingPaneSplitterStyle
|
||
|
{
|
||
|
xtpPaneSplitterFlat = 0, // Flat splitter style
|
||
|
xtpPaneSplitter3D = 1, // 3D splitter style
|
||
|
xtpPaneSplitterSoft3D = 2, // Soft splitter style
|
||
|
xtpPaneSplitterGradient = 4, // Gradient splitter style
|
||
|
xtpPaneSplitterGradientVert = 8, // Gradient splitter style
|
||
|
xtpPaneSplitterGripperOfficeXP = 0x100, // Splitter has OfficeXP gripper
|
||
|
xtpPaneSplitterGripperOffice2003 = 0x200 // Splitter has Office2003 gripper
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Enumeration of the caption button styles
|
||
|
// Example:
|
||
|
// m_paneManager.GetPaintManager()->SetCaptionButtonStyle(xtpPaneCaptionButtonThemedExplorerBar);
|
||
|
// See Also:
|
||
|
// CXTPDockingPanePaintManager::SetCaptionButtonStyle
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPDockingPaneCaptionButtonStyle
|
||
|
{
|
||
|
xtpPaneCaptionButtonDefault, // Default caption button style
|
||
|
xtpPaneCaptionButtonOffice, // Office XP caption button style
|
||
|
xtpPaneCaptionButtonOffice2003, // Office 2003 caption button style
|
||
|
xtpPaneCaptionButtonThemedExplorerBar, // Explorer button style
|
||
|
xtpPaneCaptionButtonThemedButton, // Windows XP Button style
|
||
|
xtpPaneCaptionButtonThemedToolBar, // Windows XP Toolbar style
|
||
|
xtpPaneCaptionButtonThemedToolWindow, // Window XP Tool Window style
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneCaptionButton is a stand alone internal class.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneCaptionButton
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneCaptionButton object
|
||
|
// Parameters:
|
||
|
// nID - If of the caption button.
|
||
|
// pPane - Pane that the caption button controls.
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPDockingPaneCaptionButton (int nID, CXTPDockingPaneBase* pPane)
|
||
|
{
|
||
|
m_nID = nID; m_pPane = pPane;
|
||
|
m_bPressed = m_bSelected = FALSE;
|
||
|
m_dwState = 0;
|
||
|
m_rcButton.SetRectEmpty();
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to set the button's rectangle.
|
||
|
// Parameters:
|
||
|
// rc - Button's rectangle.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetRect (CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to draw a pin button.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to the device context in which to draw.
|
||
|
// pt - Center point.
|
||
|
// bPinned - TRUE if the button is pinned.
|
||
|
//-----------------------------------------------------------------------
|
||
|
static void AFX_CDECL DrawPinnButton(CDC* pDC, CPoint pt, BOOL bPinned);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to draw the maximize\restore button.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to the device context in which to draw.
|
||
|
// pt - Center point.
|
||
|
// bMaximize - TRUE if the button is to be drawn maximized, FALSE to
|
||
|
// draw restore button.
|
||
|
// clr - Color of button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
static void AFX_CDECL DrawMaximizeRestoreButton(CDC* pDC, CPoint pt, BOOL bMaximize, COLORREF clr);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to click button.
|
||
|
// Parameters:
|
||
|
// pWnd - Parent window of button.
|
||
|
// pt - Initial mouse position.
|
||
|
// bClient - TRUE if <i>pt</i> belongs client area of window.
|
||
|
//-----------------------------------------------------------------------
|
||
|
DWORD Click (CWnd* pWnd, CPoint pt, BOOL bClient = TRUE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to get the bounding rectangle
|
||
|
// Returns:
|
||
|
// A CRect object
|
||
|
//-----------------------------------------------------------------------
|
||
|
CRect GetRect() { return m_rcButton;}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to determine the state of the caption button.
|
||
|
// This will tell you if the pin caption button is visible or
|
||
|
// if it is pushed.
|
||
|
// Returns:
|
||
|
// 1 if the the button is visible, 2 if it is pushed, 3 if it
|
||
|
// is both visible and pushed.
|
||
|
// See Also: XTPDockingPanePinState
|
||
|
//-----------------------------------------------------------------------
|
||
|
DWORD GetState() const {
|
||
|
return m_dwState;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to set the state of the pin caption button.
|
||
|
// Parameters:
|
||
|
// dwState - XTPDockingPanePinState of pin button.
|
||
|
// See Also: XTPDockingPanePinState
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetState(DWORD dwState) {
|
||
|
m_dwState = dwState;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Retrieves button identifier
|
||
|
// Returns:
|
||
|
// Button identifier. Standard values are
|
||
|
// * <b>XTP_IDS_DOCKINGPANE_CLOSE</b> Close button
|
||
|
// * <b>XTP_IDS_DOCKINGPANE_AUTOHIDE</b> Auto-hide button
|
||
|
//-----------------------------------------------------------------------
|
||
|
int GetID() const {
|
||
|
return m_nID;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to retrieve the pane that the pin button controls.
|
||
|
// Returns:
|
||
|
// Pane that the pin button controls.
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPDockingPaneBase* GetPane() const {
|
||
|
return m_pPane;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to determine if the point belongs to button.
|
||
|
// Parameters:
|
||
|
// pt - Point to test.
|
||
|
// Returns:
|
||
|
// TRUE if point belongs to the button; otherwise returns FALSE
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL PtInRect (POINT pt) const {return m_rcButton.PtInRect (pt) != 0; }
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to refresh styles of the button.
|
||
|
// Parameters:
|
||
|
// pt - Mouse cursor pointer.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL CheckForMouseOver (CPoint pt);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to redraw button
|
||
|
//-----------------------------------------------------------------------
|
||
|
void InvalidateRect();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to determine if the button is pushed.
|
||
|
// Returns:
|
||
|
// TRUE is the button is pushed, FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsPressed() const {
|
||
|
return m_bPressed;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to determine if the button mouse hover the button
|
||
|
// Returns:
|
||
|
// TRUE if mouse hover the button.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsSelected() const {
|
||
|
return m_bSelected;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to determine if the pin caption button is visible.
|
||
|
// Returns:
|
||
|
// TRUE if the pin button is visible, FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsVisible();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Determines if button is enabled
|
||
|
// Returns:
|
||
|
// TRUE if button is enabled
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsEnabled() const;
|
||
|
|
||
|
protected:
|
||
|
CRect m_rcButton; // Bounding rectangle of the button
|
||
|
CXTPDockingPaneBase* m_pPane; // Parent pane
|
||
|
int m_nID; // Identifier of the button.
|
||
|
BOOL m_bPressed; // TRUE if button is pressed by user.
|
||
|
BOOL m_bSelected; // TRUE if user move mouse cursor inside button rectangle
|
||
|
DWORD m_dwState; // XTPDockingPanePinState of caption button.
|
||
|
|
||
|
friend class CXTPDockingPaneTabbedContainer;
|
||
|
friend class CXTPDockingPaneMiniWnd;
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPanePaintManager is a stand alone class.
|
||
|
// Override some virtual functions to get a new visual theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPanePaintManager : public CXTPCmdTarget
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPanePaintManager object
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPDockingPanePaintManager();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CXTPDockingPanePaintManager object, handles cleanup
|
||
|
// and deallocation
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~CXTPDockingPanePaintManager();
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a tabbed container.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawPane(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw the side panel.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the side panel.
|
||
|
// rc - Client rectangle of the side panel.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawSidePanel(CDC* pDC, CXTPDockingPaneSidePanel* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get pane's caption rectangle.
|
||
|
// Parameters:
|
||
|
// pPane - Side Panel container to get caption CRECT.
|
||
|
// Returns:
|
||
|
// Bounding rectangle of the side panel's caption.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetPaneCaptionRect(const CXTPDockingPaneSidePanel* pPane);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc) = 0;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw buttons of tabbed caption.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pButtons - Collection of buttons to draw.
|
||
|
// rcCaption - Caption rectangle
|
||
|
// clr - Color of button text.
|
||
|
// nButtonSize - Size of button
|
||
|
// nButtonGap - Distance between buttons.
|
||
|
// bVertical - TRUE if caption drawn vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionButtons(CDC* pDC, CXTPDockingPaneCaptionButtons* pButtons, CRect& rcCaption, COLORREF clr, int nButtonSize, int nButtonGap, BOOL bVertical = FALSE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw button of tabbed caption.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pButton - Button pointer need to draw.
|
||
|
// clrButton - Color of button text.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionButton(CDC* pDC, CXTPDockingPaneCaptionButton* pButton, COLORREF clrButton);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of manager.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member to change the client rectangle of the child
|
||
|
// docking pane.
|
||
|
// Parameters:
|
||
|
// pPane - Pointer to the tabbed container or side panel.
|
||
|
// rect - Client rectangle to be changed.
|
||
|
// bApply - TRUE to update tabs inside client area.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void AdjustClientRect(CXTPDockingPaneSidePanel* pPane, CRect& rect);
|
||
|
virtual void AdjustClientRect(CXTPDockingPaneTabbedContainer* pPane, CRect& rect, BOOL bApply);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member to change the caption rectangle of the child
|
||
|
// docking pane.
|
||
|
// Parameters:
|
||
|
// pPane - Pointer to a CXTPDockingPaneTabbedContainer object or CXTPDockingPaneSidePanel object.
|
||
|
// rc - Caption rectangle to be changed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void AdjustCaptionRect(const CXTPDockingPaneSidePanel* pPane, CRect& rc);
|
||
|
virtual void AdjustCaptionRect(const CXTPDockingPaneTabbedContainer* pPane, CRect& rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get caption rectangle.
|
||
|
// Parameters:
|
||
|
// pPane - Tabbed container to get caption CRECT.
|
||
|
// rc - Caption rectangle to store caption CRECT.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void GetCaptionRect(const CXTPDockingPaneTabbedContainer* pPane, CRect& rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get caption gripper for tabbed container
|
||
|
// Parameters:
|
||
|
// pPane - Tabbed container to test
|
||
|
// Returns: Bounding rectangle of gripper to set size cursor
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetCaptionGripperRect(const CXTPDockingPaneTabbedContainer* pPane);
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws a line.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// x0 - Specifies the logical x-coordinate of the start position.
|
||
|
// y0 - Specifies the logical y-coordinate of the start position.
|
||
|
// x1 - Specifies the logical x-coordinate of the endpoint for the line.
|
||
|
// y1 - Specifies the logical y-coordinate of the endpoint for the line.
|
||
|
// nPen - Specifies the color used to paint the line.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void Line(CDC* pDC, int x0, int y0, int x1, int y1, int nPen);
|
||
|
void Line(CDC* pDC, int x0, int y0, int x1, int y1); // <combine CXTPDockingPanePaintManager::Line@CDC*@int@int@int@int@int>
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws the text of a pane caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to a valid device context
|
||
|
// strTitle - Text to draw in caption.
|
||
|
// rc - Client rectangle of the tabbed container
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
// bCalcWidth - TRUE to calculate width
|
||
|
// Returns:
|
||
|
// The width of the text that was drawn in the pane caption bar.
|
||
|
//-----------------------------------------------------------------------
|
||
|
int DrawCaptionText(CDC* pDC, const CString& strTitle, CRect rc, BOOL bVertical, BOOL bCalcWidth = FALSE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Sets the pixel at the point.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// xPos - Specifies the logical x-coordinate of the point to be set.
|
||
|
// yPos - Specifies the logical y-coordinate of the point to be set.
|
||
|
// nPen - Specifies the color used to paint the point
|
||
|
//-----------------------------------------------------------------------
|
||
|
void Pixel(CDC* pDC, int xPos, int yPos, int nPen);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws a rectangle.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// rc - Specifies the rectangle in logical units.
|
||
|
// nPenEntry - Specifies the color used to paint the rectangle.
|
||
|
// nPenBorder - Specifies the color used to fill the rectangle.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void Rectangle(CDC* pDC, CRect rc, int nPenEntry, int nPenBorder);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to use office (Tahoma) font.
|
||
|
// Parameters:
|
||
|
// bUseOfficeFont - TRUE to use office font.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void UseOfficeFont(BOOL bUseOfficeFont);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to change caption font
|
||
|
// Parameters:
|
||
|
// pLogFont - LOGFONT of caption to use
|
||
|
// bUseStandardFont - Must be FALSE
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetCaptionFontIndirect(LOGFONT* pLogFont, BOOL bUseStandardFont = FALSE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to draw frame of floating window
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pPane - Floating window pointer
|
||
|
// rc - Client rectangle of floating frame
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this method to draw splitter.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pSplitter - Pointer to splitter window
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawSplitter(CDC* pDC, CXTPDockingPaneSplitterWnd* pSplitter);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to set Paint manager used for tabs of tabbed container.
|
||
|
// Parameters:
|
||
|
// pManager - New CXTPTabPaintManager pointer
|
||
|
// Returns:
|
||
|
// CXTPTabPaintManager pointer that will be used.
|
||
|
// See Also: GetTabPaintManager, SetPanelPaintManager
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPTabPaintManager* SetTabPaintManager(CXTPTabPaintManager* pManager);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to set Paint manager used for tabs of panel.
|
||
|
// Parameters:
|
||
|
// pManager - New CXTPTabPaintManager pointer
|
||
|
// Returns:
|
||
|
// CXTPTabPaintManager pointer that will be used.
|
||
|
// See Also: GetPanelPaintManager, SetTabPaintManager
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPTabPaintManager* SetPanelPaintManager(CXTPTabPaintManager* pManager);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Retrieves pointer to CXTPTabPaintManager used to draw tabs of tabbed container.
|
||
|
// Returns:
|
||
|
// Pointer used to draw tabs of tabbed container.
|
||
|
// See Also: SetTabPaintManager, GetPanelPaintManager
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPTabPaintManager* GetTabPaintManager() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Retrieves pointer to CXTPTabPaintManager used to draw tabs of panel.
|
||
|
// Returns:
|
||
|
// Pointer used to draw tabs of auto-hide panel.
|
||
|
// See Also: SetPanelPaintManager, GetTabPaintManager
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPTabPaintManager* GetPanelPaintManager() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Retrieves the current color of the specified XP display element.
|
||
|
// Parameters:
|
||
|
// nIndex - Specifies the display element whose color is to be
|
||
|
// retrieved. This parameter can be one of the
|
||
|
// following values displayed in the table below:
|
||
|
// Remarks:
|
||
|
// Display elements are the parts of a window
|
||
|
// and the display that appear on the system display screen.
|
||
|
// The function returns the red, green, blue (RGB) color value
|
||
|
// of the given element. To provide a consistent look to all
|
||
|
// Windows applications, the operating system provides and
|
||
|
// maintains global settings that define the colors of various
|
||
|
// aspects of the display. These settings as a group are sometimes
|
||
|
// referred to as a "color scheme." To view the current color
|
||
|
// settings, click Control Panel, double-click the Display icon,
|
||
|
// and then click the "Appearance" tab.
|
||
|
//<TABLE>
|
||
|
// <b>Constant</b> <b>Value</b> <b>Description</b>
|
||
|
// -------------------------------- ============ ------------------------------------------------------------
|
||
|
// COLOR_SCROLLBAR 0 Scroll bar color
|
||
|
// COLOR_BACKGROUND 1 Desktop color
|
||
|
// COLOR_ACTIVECAPTION 2 Color of the title bar for the active window, Specifies the left side color in the color gradient of an active window's title bar if the gradient effect is enabled.
|
||
|
// COLOR_INACTIVECAPTION 3 Color of the title bar for the inactive window, Specifies the left side color in the color gradient of an inactive window's title bar if the gradient effect is enabled.
|
||
|
// COLOR_MENU 4 Menu background color
|
||
|
// COLOR_WINDOW 5 Window background color
|
||
|
// COLOR_WINDOWFRAME 6 Window frame color
|
||
|
// COLOR_MENUTEXT 7 Color of text on menus
|
||
|
// COLOR_WINDOWTEXT 8 Color of text in windows
|
||
|
// COLOR_CAPTIONTEXT 9 Color of text in caption, size box, and scroll arrow
|
||
|
// COLOR_ACTIVEBORDER 10 Border color of active window
|
||
|
// COLOR_INACTIVEBORDER 11 Border color of inactive window
|
||
|
// COLOR_APPWORKSPACE 12 Background color of multiple-document interface (MDI) applications
|
||
|
// COLOR_HIGHLIGHT 13 Background color of items selected in a control
|
||
|
// COLOR_HIGHLIGHTTEXT 14 Text color of items selected in a control
|
||
|
// COLOR_BTNFACE 15 Face color for three-dimensional display elements and for dialog box backgrounds.
|
||
|
// COLOR_BTNSHADOW 16 Color of shading on the edge of command buttons
|
||
|
// COLOR_GRAYTEXT 17 Grayed (disabled) text
|
||
|
// COLOR_BTNTEXT 18 Text color on push buttons
|
||
|
// COLOR_INACTIVECAPTIONTEXT 19 Color of text in an inactive caption
|
||
|
// COLOR_BTNHIGHLIGHT 20 Highlight color for 3-D display elements
|
||
|
// COLOR_3DDKSHADOW 21 Darkest shadow color for 3-D display elements
|
||
|
// COLOR_3DLIGHT 22 Second lightest 3-D color after 3DHighlight, Light color for three-dimensional display elements (for edges facing the light source.)
|
||
|
// COLOR_INFOTEXT 23 Color of text in ToolTips
|
||
|
// COLOR_INFOBK 24 Background color of ToolTips
|
||
|
// COLOR_HOTLIGHT 26 Color for a hot-tracked item. Single clicking a hot-tracked item executes the item.
|
||
|
// COLOR_GRADIENTACTIVECAPTION 27 Right side color in the color gradient of an active window's title bar. COLOR_ACTIVECAPTION specifies the left side color.
|
||
|
// COLOR_GRADIENTINACTIVECAPTION 28 Right side color in the color gradient of an inactive window's title bar. COLOR_INACTIVECAPTION specifies the left side color.
|
||
|
// XPCOLOR_TOOLBAR_FACE 30 XP toolbar background color.
|
||
|
// XPCOLOR_HIGHLIGHT 31 XP menu item selected color.
|
||
|
// XPCOLOR_HIGHLIGHT_BORDER 32 XP menu item selected border color.
|
||
|
// XPCOLOR_HIGHLIGHT_PUSHED 33 XP menu item pushed color.
|
||
|
// XPCOLOR_HIGHLIGHT_CHECKED 36 XP menu item checked color.
|
||
|
// XPCOLOR_HIGHLIGHT_CHECKED_BORDER 37 An RGB value that represents the XP menu item checked border color.
|
||
|
// XPCOLOR_ICONSHADDOW 34 XP menu item icon shadow.
|
||
|
// XPCOLOR_GRAYTEXT 35 XP menu item disabled text color.
|
||
|
// XPCOLOR_TOOLBAR_GRIPPER 38 XP toolbar gripper color.
|
||
|
// XPCOLOR_SEPARATOR 39 XP toolbar separator color.
|
||
|
// XPCOLOR_DISABLED 40 XP menu icon disabled color.
|
||
|
// XPCOLOR_MENUBAR_FACE 41 XP menu item text background color.
|
||
|
// XPCOLOR_MENUBAR_EXPANDED 42 XP hidden menu commands background color.
|
||
|
// XPCOLOR_MENUBAR_BORDER 43 XP menu border color.
|
||
|
// XPCOLOR_MENUBAR_TEXT 44 XP menu item text color.
|
||
|
// XPCOLOR_HIGHLIGHT_TEXT 45 XP menu item selected text color.
|
||
|
// XPCOLOR_TOOLBAR_TEXT 46 XP toolbar text color.
|
||
|
// XPCOLOR_PUSHED_TEXT 47 XP toolbar pushed text color.
|
||
|
// XPCOLOR_TAB_INACTIVE_BACK 48 XP inactive tab background color.
|
||
|
// XPCOLOR_TAB_INACTIVE_TEXT 49 XP inactive tab text color.
|
||
|
// XPCOLOR_HIGHLIGHT_PUSHED_BORDER 50 An RGB value that represents the XP border color for pushed in 3D elements.
|
||
|
// XPCOLOR_CHECKED_TEXT 45 XP color for text displayed in a checked button.
|
||
|
// XPCOLOR_3DFACE 51 XP face color for three- dimensional display elements and for dialog box backgrounds.
|
||
|
// XPCOLOR_3DSHADOW 52 XP shadow color for three-dimensional display elements (for edges facing away from the light source).
|
||
|
// XPCOLOR_EDITCTRLBORDER 53 XP color for the border color of edit controls.
|
||
|
// XPCOLOR_FRAME 54 Office 2003 frame color.
|
||
|
// XPCOLOR_SPLITTER_FACE 55 XP splitter face color.
|
||
|
// XPCOLOR_LABEL 56 Color for label control (xtpControlLabel)
|
||
|
// XPCOLOR_STATICFRAME 57 WinXP Static frame color
|
||
|
//</TABLE>
|
||
|
// Returns:
|
||
|
// The red, green, blue (RGB) color value of the given element.
|
||
|
//-----------------------------------------------------------------------
|
||
|
COLORREF GetXtremeColor(UINT nIndex);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to set the colors for each element to the
|
||
|
// color in the specified color array.
|
||
|
// Parameters:
|
||
|
// cElements - Number of elements in array.
|
||
|
// lpaElements - Array of elements.
|
||
|
// lpaRgbValues - Array of RGB values.
|
||
|
// See Also: SetColor
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetColors(int cElements, CONST INT *lpaElements, CONST COLORREF* lpaRgbValues);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to get caption height of tabbed container
|
||
|
// See Also: GetTabsHeight
|
||
|
//-----------------------------------------------------------------------
|
||
|
int GetCaptionHeight() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to get tabs height of tabbed container
|
||
|
// See Also: GetCaptionHeight
|
||
|
//-----------------------------------------------------------------------
|
||
|
int GetTabsHeight() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to set splitter style.
|
||
|
// Parameters:
|
||
|
// dwStyle - New style of splitters
|
||
|
// Remarks:
|
||
|
// dwStyle parameter can be one or more of the following:
|
||
|
// * <b>xtpPaneSplitterFlat</b>
|
||
|
// * <b>xtpPaneSplitter3D</b>
|
||
|
// * <b>xtpPaneSplitterSoft3D</b>
|
||
|
// * <b>xtpPaneSplitterGripperOfficeXP</b>
|
||
|
// * <b>xtpPaneSplitterGripperOffice2003</b>
|
||
|
// Example:
|
||
|
// m_paneManager.GetPaintManager()->SetSplitterStyle(xtpPaneSplitterSoft3D + xtpPaneSplitterGripperOffice2003);
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetSplitterStyle(DWORD dwStyle);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get splitter styles
|
||
|
// See Also: XTPDockingPaneSplitterStyle, SetSplitterStyle
|
||
|
//-----------------------------------------------------------------------
|
||
|
DWORD GetSplitterStyle() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to set caption buttons style.
|
||
|
// Parameters:
|
||
|
// nStyle - New style of caption buttons
|
||
|
// Remarks:
|
||
|
// dwStyle parameter can be one or more of the following:
|
||
|
// * <b>xtpPaneCaptionButtonDefault</b>
|
||
|
// * <b>xtpPaneCaptionButtonOffice</b>
|
||
|
// * <b>xtpPaneCaptionButtonOffice2003</b>
|
||
|
// * <b>xtpPaneCaptionButtonThemeExplorerBar</b>
|
||
|
// * <b>xtpPaneCaptionButtonThemeButton</b>
|
||
|
// * <b>xtpPaneCaptionButtonThemeToolBar</b>
|
||
|
// Example:
|
||
|
// m_paneManager.GetPaintManager()->SetCaptionButtonStyle(xtpPaneCaptionButtonOffice2003);
|
||
|
// See Also: XTPDockingPaneCaptionButtonStyle, GetCaptionButtonStyle
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetCaptionButtonStyle(XTPDockingPaneCaptionButtonStyle nStyle);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get caption button styles
|
||
|
// See Also: XTPDockingPaneCaptionButtonStyle, SetCaptionButtonStyle
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTPDockingPaneCaptionButtonStyle GetCaptionButtonStyle() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member function to determine the current Windows XP
|
||
|
// theme in use.
|
||
|
// Returns:
|
||
|
// A XTPCurrentSystemTheme enumeration that represents the
|
||
|
// current Windows theme in use, can be one of the following
|
||
|
// values:
|
||
|
// * <b>xtpSystemThemeUnknown</b> Indicates no known theme in use
|
||
|
// * <b>xtpSystemThemeBlue</b> Indicates blue theme in use
|
||
|
// * <b>xtpSystemThemeOlive</b> Indicates olive theme in use
|
||
|
// * <b>xtpSystemThemeSilver</b> Indicates silver theme in use
|
||
|
// See Also: SetLunaTheme, RefreshLunaColors
|
||
|
//-----------------------------------------------------------------------
|
||
|
XTPCurrentSystemTheme GetCurrentSystemTheme() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to force system theme.
|
||
|
// Parameters:
|
||
|
// systemTheme - theme to use. Can be any of the values listed in the Remarks section.
|
||
|
// Remarks:
|
||
|
// theme can be one of the following:
|
||
|
// * <b>xtpSystemThemeUnknown</b> Disables <i>luna</i> theme support.
|
||
|
// * <b>xtpSystemThemeBlue</b> Enables blue theme
|
||
|
// * <b>xtpSystemThemeOlive</b> Enables olive theme
|
||
|
// * <b>xtpSystemThemeSilver</b> Enables silver theme
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetLunaTheme(XTPCurrentSystemTheme systemTheme);
|
||
|
|
||
|
protected:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws only the glyph of a button. For example, the cross of a Close Button.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to the device context in which to draw.
|
||
|
// pButton - Button pointer need to draw.
|
||
|
// pt - Center point.
|
||
|
// clrButton - Color of glyph.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionButtonEntry(CDC* pDC, CXTPDockingPaneCaptionButton* pButton, CPoint pt, COLORREF clrButton);
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
void DrawCaptionIcon(CDC* pDC, CXTPDockingPaneBase* pPane, CRect& rcCaption, BOOL bVertical);
|
||
|
public:
|
||
|
static CXTPDockingPane* AFX_CDECL GetSelectedPane(CXTPDockingPaneBase* pPane);
|
||
|
BOOL IsCaptionEnabled(CXTPDockingPaneBase* pPane);
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
public:
|
||
|
BOOL m_bUseBoldCaptionFont; // TRUE to use Bold font for caption
|
||
|
BOOL m_bHighlightActiveCaption; // TRUE to highlight active caption.
|
||
|
int m_nSplitterSize; // Splitter size
|
||
|
BOOL m_bShowCaption; // TRUE to draw captions of tabbed containers
|
||
|
BOOL m_bDrawSingleTab; // TRUE to draw single tab.
|
||
|
BOOL m_bDrawCaptionIcon; // TRUE to draw caption icon.
|
||
|
BOOL m_bAutoHidePanelHighlightSelected;
|
||
|
|
||
|
int m_nSplitterIndent; // Size of splitter indent.
|
||
|
|
||
|
CXTPPaintManagerColor m_clrSplitterGripper; // Splitter gripper color
|
||
|
CXTPPaintManagerColor m_clrSplitter; // Splitter color
|
||
|
CXTPPaintManagerColorGradient m_clrSplitterGradient; // Splitter color
|
||
|
CXTPPaintManagerColorGradient m_clrNormalCaption; // Color of pane caption when inactive.
|
||
|
CXTPPaintManagerColorGradient m_clrActiveCaption; // Color of pane caption when active.
|
||
|
CXTPPaintManagerColor m_clrNormalCaptionText; // Color of pane caption text when the caption is inactive
|
||
|
CXTPPaintManagerColor m_clrActiveCaptionText; // Active caption text
|
||
|
CXTPPaintManagerColor m_clrDisabledCaptionText; // Disabled caption text
|
||
|
|
||
|
protected:
|
||
|
XTPDockingPaneCaptionButtonStyle m_nCaptionButtonStyle; // Caption button style
|
||
|
DWORD m_dwSplitterStyle; // Splitter style
|
||
|
int m_nTitleHeight; // Title's height.
|
||
|
int m_nCaptionFontGap; // Additional gap of font.
|
||
|
int m_nTabsHeight; // Tab bar's height.
|
||
|
CFont m_fntTitle; // Title font.
|
||
|
CFont m_fntTitleVertical; // Title vertical font.
|
||
|
BOOL m_bUseOfficeFont; // TRUE to use Tahoma font.
|
||
|
BOOL m_bUseStandardFont; // TRUE to use system icon font.
|
||
|
|
||
|
protected:
|
||
|
CXTPTabPaintManager* m_pTabPaintManager; // Paint Manager used to draw tabs for tabbed container
|
||
|
CXTPTabPaintManager* m_pPanelPaintManager; // Paint Manager used to draw tabs for auto-hide panel
|
||
|
|
||
|
COLORREF m_arrColor[XPCOLOR_LAST + 1]; // Self colors array.
|
||
|
XTPDockingPanePaintTheme m_themeCurrent; // Current theme.
|
||
|
CString m_strOfficeFont; // Office font name.
|
||
|
CRect m_rcCaptionMargin; // Margins of caption.
|
||
|
XTPCurrentSystemTheme m_systemTheme; // Current system theme.
|
||
|
|
||
|
CXTPWinThemeWrapper* m_themeToolbar; // Toolbar theme helper
|
||
|
CXTPWinThemeWrapper* m_themeExplorer; // WinXP Explorer theme helper
|
||
|
CXTPWinThemeWrapper* m_themeButton; // WinXP Button theme helper
|
||
|
CXTPWinThemeWrapper* m_themeWindow; // WinXP Window Theme helper.
|
||
|
CXTPWinThemeWrapper* m_themeRebar; // Rebar theme helper
|
||
|
|
||
|
BOOL m_bLunaTheme; // TRUE if luna colors user
|
||
|
|
||
|
|
||
|
private:
|
||
|
friend class CXTPDockingPaneManager;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
namespace XTPDockingPanePaintThemes
|
||
|
{
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneDefaultTheme is CXTPDockingPanePaintManager derived class, represents
|
||
|
// classic theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeDefault); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneDefaultTheme : public CXTPDockingPanePaintManager
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneDefaultTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneDefaultTheme();
|
||
|
public:
|
||
|
// -----------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to draw frame of floating window
|
||
|
// Parameters:
|
||
|
// pDC : Pointer to a valid device context
|
||
|
// pPane : Floating window pointer
|
||
|
// rc : CLient rectangle of floating frame
|
||
|
//
|
||
|
// -----------------------------------------------------
|
||
|
void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
|
||
|
// --------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC : Reference to the device context in which to draw.
|
||
|
// pPane : Pointer to the tabbed container.
|
||
|
// rc : Client rectangle of the tabbed container.
|
||
|
//
|
||
|
// --------------------------------------------------------------
|
||
|
virtual void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
// --------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw the side panel.
|
||
|
// Parameters:
|
||
|
// pDC : Reference to the device context in which to draw.
|
||
|
// pPane : Pointer to the side panel.
|
||
|
// rc : Client rectangle of the side panel.
|
||
|
//
|
||
|
// --------------------------------------------------------------
|
||
|
virtual void DrawSidePanel(CDC* pDC, CXTPDockingPaneSidePanel* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
protected:
|
||
|
// ------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC : Reference to the device context in which to draw.
|
||
|
// pPane : Container which caption need to draw.
|
||
|
// rcCaption : Caption bounding rectangle
|
||
|
// strTitle : Caption text.
|
||
|
// bActive : TRUE if caption is active.
|
||
|
// bVertical : TRUE to draw caption vertically
|
||
|
//
|
||
|
// ------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneGripperedTheme is CXTPDockingPaneDefaultTheme derived class, represents
|
||
|
// gripper theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeGrippered); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneGripperedTheme : public CXTPDockingPaneDefaultTheme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneGripperedTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneGripperedTheme();
|
||
|
|
||
|
public:
|
||
|
// -----------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to draw frame of floating window
|
||
|
// Parameters:
|
||
|
// pDC : Pointer to a valid device context
|
||
|
// pPane : Floating window pointer
|
||
|
// rc : Client rectangle of floating frame
|
||
|
//
|
||
|
// -----------------------------------------------------
|
||
|
void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container which caption need to draw.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneWinExplorerTheme is CXTPDockingPaneDefaultTheme derived class, represents
|
||
|
// explorer theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeWinExplorer); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneWinExplorerTheme : public CXTPDockingPaneGripperedTheme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneWinExplorerTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneWinExplorerTheme();
|
||
|
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
protected:
|
||
|
|
||
|
// ------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC : Reference to the device context in which to draw.
|
||
|
// pPane : Container which caption need to draw.
|
||
|
// rcCaption : Caption bounding rectangle
|
||
|
// strTitle : Caption text.
|
||
|
// bActive : TRUE if caption is active.
|
||
|
// bVertical : TRUE to draw caption vertically
|
||
|
//
|
||
|
// ------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio6Theme is CXTPDockingPaneGripperedTheme derived class, represents
|
||
|
// Visual Studio 6 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio6); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio6Theme : public CXTPDockingPaneGripperedTheme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio6Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio6Theme();
|
||
|
|
||
|
protected:
|
||
|
// ------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC : Reference to the device context in which to draw.
|
||
|
// pPane : Container which caption need to draw.
|
||
|
// rcCaption : Caption bounding rectangle
|
||
|
// strTitle : Caption text.
|
||
|
// bActive : TRUE if caption is active.
|
||
|
// bVertical : TRUE to draw caption vertically
|
||
|
//
|
||
|
// ------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio2003Theme is CXTPDockingPaneGripperedTheme derived class, represents
|
||
|
// Office XP theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio2003); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2003Theme : public CXTPDockingPaneGripperedTheme
|
||
|
{
|
||
|
class COfficePanelColorSet;
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio2003Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio2003Theme();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container which caption need to draw.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws the background of the pane caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container of the caption needs to draw the background.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COLORREF FillCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
protected:
|
||
|
BOOL m_bGradientCaption; // TRUE to draw gradient caption.
|
||
|
int m_nCaptionButtonSize;
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneWinNativeTheme is CXTPDockingPaneVisualStudio2003Theme derived class, represents
|
||
|
// Win XP theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeWinNative); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneWinNativeTheme : public CXTPDockingPaneVisualStudio2003Theme
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneWinNativeTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneWinNativeTheme();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to draw frame of floating window
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pPane - Floating window pointer
|
||
|
// rc - CLient rectangle of floating frame
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw the side panel.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the side panel.
|
||
|
// rc - Client rectangle of the side panel.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawSidePanel(CDC* pDC, CXTPDockingPaneSidePanel* pPane, CRect rc);
|
||
|
|
||
|
protected:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container which caption need to draw.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
protected:
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2002VisioTheme is CXTPDockingPaneVisualStudio2003Theme derived class, represents
|
||
|
// Visio theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2002Visio); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2002VisioTheme : public CXTPDockingPaneVisualStudio2003Theme
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2002VisioTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2002VisioTheme();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a tabbed container.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawPane(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member to change the caption rectangle of the child
|
||
|
// docking pane.
|
||
|
// Parameters:
|
||
|
// pPane - Pointer to a CXTPDockingPaneTabbedContainer object.
|
||
|
// rc - Caption rectangle to be changed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void AdjustCaptionRect(const CXTPDockingPaneTabbedContainer* pPane, CRect& rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to draw frame of floating window
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pPane - Floating window pointer
|
||
|
// rc - Client rectangle of floating frame
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2003VisioTheme is CXTPDockingPaneOffice2002VisioTheme
|
||
|
// derived class, represents Office 2003 Visio theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2003Visio); to set
|
||
|
// this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2003VisioTheme : public CXTPDockingPaneOffice2002VisioTheme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2003VisioTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2003VisioTheme();
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2007VisioTheme is CXTPDockingPaneOffice2003VisioTheme
|
||
|
// derived class, represents Office 2007 Visio theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2007Visio); to set
|
||
|
// this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2007VisioTheme : public CXTPDockingPaneOffice2003VisioTheme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2007VisioTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2007VisioTheme();
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2003Theme is CXTPDockingPaneVisualStudio2003Theme derived class, represents
|
||
|
// Office 2003 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2003); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2003Theme : public CXTPDockingPaneVisualStudio2003Theme
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2003Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2003Theme();
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CXTPDockingPaneOffice2003Theme object, handles cleanup and deallocation.
|
||
|
//-------------------------------------------------------------------------
|
||
|
virtual ~CXTPDockingPaneOffice2003Theme();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to draw frame of floating window
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context
|
||
|
// pPane - Floating window pointer
|
||
|
// rc - Client rectangle of floating frame
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw the side panel.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the side panel.
|
||
|
// rc - Client rectangle of the side panel.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawSidePanel(CDC* pDC, CXTPDockingPaneSidePanel* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get pane's caption rectangle.
|
||
|
// Parameters:
|
||
|
// pPane - Side Panel container to get caption CRECT.
|
||
|
// Returns:
|
||
|
// Bounding rectangle of the side panel's caption.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetPaneCaptionRect(const CXTPDockingPaneSidePanel* pPane);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get caption gripper for tabbed container
|
||
|
// Parameters:
|
||
|
// pPane - Tabbed container to test
|
||
|
// Returns: Bounding rectangle of gripper to set size cursor
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetCaptionGripperRect(const CXTPDockingPaneTabbedContainer* pPane);
|
||
|
|
||
|
protected:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container which caption need to draw.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
public:
|
||
|
BOOL m_bDrawGripper; // TRUE to draw gripper
|
||
|
protected:
|
||
|
BOOL m_bRoundedCaption; // TRUE to draw rounded caption
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2007Theme is CXTPDockingPaneOffice2003Theme derived class, represents
|
||
|
// Office 2007 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeResource); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2007Theme : public CXTPDockingPaneOffice2003Theme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2007Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2007Theme();
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2007OutlookTheme is CXTPDockingPaneOffice2007Theme derived class, represents
|
||
|
// Outlook 2007 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2007Outlook); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2007OutlookTheme : public CXTPDockingPaneOffice2007Theme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2007OutlookTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2007OutlookTheme();
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2007WordTheme is CXTPDockingPaneOffice2003Theme derived class, represents
|
||
|
// Office Word 2007 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2007Word); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2007WordTheme : public CXTPDockingPaneOffice2003Theme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2007WordTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2007WordTheme();
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawCaption(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draw common part of tabbed and floating caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container which caption need to draw.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, const CString& strTitle, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member to change the client rectangle of the child
|
||
|
// docking pane.
|
||
|
// Parameters:
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rect - Client rectangle to be changed.
|
||
|
// bApply - TRUE to update tabs inside client area.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void AdjustClientRect(CXTPDockingPaneTabbedContainer* pPane, CRect& rect, BOOL bApply);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Override this member function to draw a tabbed container.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// rc - Client rectangle of the tabbed container.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void DrawPane(CDC* pDC, CXTPDockingPaneTabbedContainer* pPane, CRect rc);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Determines if a pane has borders (if title is visible).
|
||
|
// Parameters:
|
||
|
// pPane - Pointer to the tabbed container.
|
||
|
// Returns:
|
||
|
// TRUE if the pane has borders (title visible), FALSE otherwise.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL PaneHasBorders(CXTPDockingPaneTabbedContainer* pPane) const;
|
||
|
|
||
|
protected:
|
||
|
BOOL m_bOffice2010Style;
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneOffice2003OutlookTheme is CXTPDockingPaneOffice2003Theme derived class, represents
|
||
|
// Office 2003 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeOffice2003Outlook); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOffice2003OutlookTheme : public CXTPDockingPaneOffice2003Theme
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneOffice2003OutlookTheme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneOffice2003OutlookTheme();
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CXTPDockingPaneOffice2003OutlookTheme object, handles cleanup and deallocation.
|
||
|
//-------------------------------------------------------------------------
|
||
|
virtual ~CXTPDockingPaneOffice2003OutlookTheme();
|
||
|
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this method to get caption gripper for tabbed container
|
||
|
// Parameters:
|
||
|
// pPane - Tabbed container to test
|
||
|
// Returns: Bounding rectangle of gripper to set size cursor
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRect GetCaptionGripperRect(const CXTPDockingPaneTabbedContainer* pPane);
|
||
|
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio2005Beta1Theme is CXTPDockingPaneVisualStudio2003Theme derived class, represents
|
||
|
// Visual Studio 2005 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio2005Beta1); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2005Beta1Theme : public CXTPDockingPaneVisualStudio2003Theme
|
||
|
{
|
||
|
public:
|
||
|
class CColorSetVisualStudio2005;
|
||
|
class CColorSetVisualStudio2003;
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio2005Beta1Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio2005Beta1Theme();
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-------------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio2005Beta2Theme is CXTPDockingPaneVisualStudio2005Beta1Theme derived class, represents
|
||
|
// Visual Studio 2005 beta 2 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio2005Beta1); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2005Beta2Theme : public CXTPDockingPaneVisualStudio2005Beta1Theme
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio2005Beta2Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio2005Beta2Theme();
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of the pane.
|
||
|
//-------------------------------------------------------------------------
|
||
|
void RefreshMetrics();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws the background of the pane caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container of the caption needs to draw the background.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COLORREF FillCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
protected:
|
||
|
COLORREF m_clrCaptionBorder; //Color used to draw the border of the pane caption.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio2005Beta2Theme is CXTPDockingPaneVisualStudio2005Beta2Theme derived class, represents
|
||
|
// Visual Studio 2005 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio2005Beta1); to set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2005Theme : public CXTPDockingPaneVisualStudio2005Beta2Theme
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio2005Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio2005Theme();
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio2008Theme is CXTPDockingPaneVisualStudio2005Theme
|
||
|
// derived class, represents Visual Studio 2008 theme for docking panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio2008); to set
|
||
|
// this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2008Theme : public CXTPDockingPaneVisualStudio2005Theme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio2008Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio2008Theme();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of manager.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
protected:
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPDockingPaneVisualStudio2010Theme is CXTPDockingPaneVisualStudio2008Theme
|
||
|
// derived class, represents Visual Studio 2010 Beta 1 theme for docking
|
||
|
// panes.
|
||
|
// Remarks:
|
||
|
// Call CXTPDockingPaneManager::SetTheme(xtpPaneThemeVisualStudio2010); to
|
||
|
// set this theme.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2010Theme : public CXTPDockingPaneVisualStudio2008Theme
|
||
|
{
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPDockingPaneVisualStudio2010Theme object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPDockingPaneVisualStudio2010Theme();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to refresh the visual metrics of manager.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void RefreshMetrics();
|
||
|
|
||
|
protected:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws the background of the pane caption.
|
||
|
// Parameters:
|
||
|
// pDC - Reference to the device context in which to draw.
|
||
|
// pPane - Container of the caption needs to draw the background.
|
||
|
// rcCaption - Caption bounding rectangle
|
||
|
// strTitle - Caption text.
|
||
|
// bActive - TRUE if caption is active.
|
||
|
// bVertical - TRUE to draw caption vertically
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual COLORREF FillCaptionPart(CDC* pDC, CXTPDockingPaneBase* pPane, CRect rcCaption, BOOL bActive, BOOL bVertical);
|
||
|
|
||
|
void DrawFloatingFrame(CDC* pDC, CXTPDockingPaneMiniWnd* pPane, CRect rc);
|
||
|
|
||
|
virtual void DrawCaptionButtonEntry(CDC* pDC, CXTPDockingPaneCaptionButton* pButton, CPoint pt, COLORREF clrButton);
|
||
|
};
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
// obsolete, for backward compatibility only.
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneNativeXPTheme : public CXTPDockingPaneWinNativeTheme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneExplorerTheme : public CXTPDockingPaneWinExplorerTheme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOfficeTheme : public CXTPDockingPaneVisualStudio2003Theme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneWhidbeyTheme : public CXTPDockingPaneVisualStudio2005Beta1Theme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisioTheme : public CXTPDockingPaneOffice2002VisioTheme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneShortcutBar2003Theme : public CXTPDockingPaneOffice2003OutlookTheme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneOutlook2007Theme : public CXTPDockingPaneOffice2007OutlookTheme {};
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneWord2007Theme : public CXTPDockingPaneOffice2007WordTheme {} ;
|
||
|
class _XTP_EXT_CLASS CXTPDockingPaneVisualStudio2005SecondTheme : public CXTPDockingPaneVisualStudio2005Beta2Theme {};
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
}
|
||
|
|
||
|
using namespace XTPDockingPanePaintThemes;
|
||
|
|
||
|
AFX_INLINE int CXTPDockingPanePaintManager::GetCaptionHeight() const {
|
||
|
return m_nTitleHeight;
|
||
|
}
|
||
|
AFX_INLINE int CXTPDockingPanePaintManager::GetTabsHeight() const{
|
||
|
return m_nTabsHeight;
|
||
|
}
|
||
|
|
||
|
AFX_INLINE CXTPTabPaintManager* CXTPDockingPanePaintManager::GetTabPaintManager() const {
|
||
|
return m_pTabPaintManager;
|
||
|
}
|
||
|
AFX_INLINE CXTPTabPaintManager* CXTPDockingPanePaintManager::GetPanelPaintManager() const {
|
||
|
return m_pPanelPaintManager;
|
||
|
}
|
||
|
AFX_INLINE void CXTPDockingPanePaintManager::DrawFloatingFrame(CDC* /*pDC*/, CXTPDockingPaneMiniWnd* /*pPane*/, CRect /*rc*/) {
|
||
|
}
|
||
|
AFX_INLINE void CXTPDockingPanePaintManager::DrawSidePanel(CDC* /*pDC*/, CXTPDockingPaneSidePanel* /*pPane*/, CRect /*rc*/) {
|
||
|
}
|
||
|
AFX_INLINE void CXTPDockingPanePaintManager::SetCaptionButtonStyle(XTPDockingPaneCaptionButtonStyle nStyle) {
|
||
|
m_nCaptionButtonStyle = nStyle;
|
||
|
}
|
||
|
AFX_INLINE XTPDockingPaneCaptionButtonStyle CXTPDockingPanePaintManager::GetCaptionButtonStyle() const {
|
||
|
return m_nCaptionButtonStyle;
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif // #if !defined(__XTPDOCKINGPANEPAINTMANAGER_H__)
|