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.
159 lines
5.0 KiB
C++
159 lines
5.0 KiB
C++
// XTPMarkupPage.h: interface for the CXTPMarkupPage class.
|
|
//
|
|
// This file is a part of the XTREME TOOLKIT PRO 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(__XTPMARKUPPAGE_H__)
|
|
#define __XTPMARKUPPAGE_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
|
|
//===========================================================================
|
|
// Summary: CXTPMarkupPage is CXTPMarkupFrameworkElement derived class. It implements Page XAML Tag
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPMarkupPage : public CXTPMarkupFrameworkElement
|
|
{
|
|
DECLARE_MARKUPCLASS(CXTPMarkupPage);
|
|
protected:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPMarkupPage object
|
|
//-----------------------------------------------------------------------
|
|
CXTPMarkupPage();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPMarkupPage object, handles cleanup and deallocation
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPMarkupPage();
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set new Child object for the Page element
|
|
// Parameters:
|
|
// pContent - New Child element
|
|
// See Also: SetContent
|
|
//-----------------------------------------------------------------------
|
|
void SetContent(CXTPMarkupUIElement* pContent);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns Child object of the Page element
|
|
// Returns:
|
|
// Child CXTPMarkupUIElement object
|
|
// See Also: SetContent
|
|
//-----------------------------------------------------------------------
|
|
CXTPMarkupUIElement* GetContent() const;
|
|
|
|
|
|
public:
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
|
|
// Implementation
|
|
virtual int GetVisualChildrenCount() const;
|
|
virtual CXTPMarkupVisual* GetVisualChild(int nIndex) const;
|
|
|
|
protected:
|
|
virtual CSize MeasureOverride(CXTPMarkupDrawingContext* pDC, CSize szAvailableSize);
|
|
virtual CSize ArrangeOverride(CSize szFinalSize);
|
|
virtual void SetContentObject(CXTPMarkupBuilder* pBuilder, CXTPMarkupObject* pContent);
|
|
virtual BOOL HasContentObject() const;
|
|
|
|
CXTPMarkupInputElement* InputHitTestOverride(CPoint /*point*/) const;
|
|
|
|
protected:
|
|
CXTPMarkupUIElement* m_pContent;
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
|
|
};
|
|
|
|
|
|
class _XTP_EXT_CLASS CXTPMarkupWindowContainer : public CXTPMarkupFrameworkElement
|
|
{
|
|
DECLARE_MARKUPCLASS(CXTPMarkupWindowContainer);
|
|
protected:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPMarkupPage object
|
|
//-----------------------------------------------------------------------
|
|
CXTPMarkupWindowContainer();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPMarkupPage object, handles cleanup and deallocation
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPMarkupWindowContainer();
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set new Child object for the Page element
|
|
// Parameters:
|
|
// pContent - New Child element
|
|
// See Also: SetContent
|
|
//-----------------------------------------------------------------------
|
|
void SetChild(HWND hwndContent);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns Child object of the Page element
|
|
// Returns:
|
|
// Child CXTPMarkupUIElement object
|
|
// See Also: SetContent
|
|
//-----------------------------------------------------------------------
|
|
HWND GetChild() const;
|
|
|
|
|
|
public:
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
|
|
// Implementation
|
|
|
|
protected:
|
|
virtual CSize MeasureOverride(CXTPMarkupDrawingContext* pDC, CSize szAvailableSize);
|
|
virtual CSize ArrangeOverride(CSize szFinalSize);
|
|
void OnRender(CXTPMarkupDrawingContext* pDC);
|
|
void RenderClipped(CXTPMarkupDrawingContext* pDC);
|
|
|
|
protected:
|
|
HWND m_hWndChild;
|
|
CSize m_szChild;
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
|
|
};
|
|
|
|
|
|
AFX_INLINE int CXTPMarkupPage::GetVisualChildrenCount() const {
|
|
return m_pContent != NULL ? 1 : 0;
|
|
}
|
|
AFX_INLINE CXTPMarkupVisual* CXTPMarkupPage::GetVisualChild(int nIndex) const {
|
|
return nIndex == 0 ? m_pContent : NULL;
|
|
}
|
|
|
|
|
|
#endif // !defined(__XTPMARKUPPAGE_H__)
|