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.
		
		
		
		
		
			
		
			
				
	
	
		
			153 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C++
		
	
			
		
		
	
	
			153 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C++
		
	
// XTPMarkupPanel.h: interface for the CXTPMarkupPanel 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(__XTPMARKUPPANEL_H__)
 | 
						|
#define __XTPMARKUPPANEL_H__
 | 
						|
//}}AFX_CODEJOCK_PRIVATE
 | 
						|
 | 
						|
#if _MSC_VER > 1000
 | 
						|
#pragma once
 | 
						|
#endif // _MSC_VER > 1000
 | 
						|
 | 
						|
 | 
						|
class CXTPMarkupBrush;
 | 
						|
 | 
						|
//===========================================================================
 | 
						|
// Summary: CXTPMarkupUIElementCollection is CXTPMarkupCollection derived class. It implements basic collection of CXTPMarkupUIElement elements
 | 
						|
//===========================================================================
 | 
						|
class _XTP_EXT_CLASS CXTPMarkupUIElementCollection : public CXTPMarkupCollection
 | 
						|
{
 | 
						|
public:
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Constructs a CXTPMarkupUIElementCollection object
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	CXTPMarkupUIElementCollection();
 | 
						|
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Destroys a CXTPMarkupUIElementCollection object, handles cleanup and deallocation
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	~CXTPMarkupUIElementCollection();
 | 
						|
 | 
						|
public:
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Call this method to get CXTPMarkupUIElement element by its index
 | 
						|
	// Parameters:
 | 
						|
	//     nIndex - Item index to retrieve
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	CXTPMarkupUIElement* GetItem(int nIndex) const;
 | 
						|
 | 
						|
protected:
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     This virtual method is called when collection was changed
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	void OnChanged();
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
//===========================================================================
 | 
						|
// Summary: CXTPMarkupPanel is CXTPMarkupFrameworkElement derived class.
 | 
						|
// It implements base class for all container objects with multiple children
 | 
						|
//===========================================================================
 | 
						|
class _XTP_EXT_CLASS CXTPMarkupPanel : public CXTPMarkupFrameworkElement
 | 
						|
{
 | 
						|
	DECLARE_MARKUPCLASS(CXTPMarkupPanel)
 | 
						|
 | 
						|
protected:
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Constructs a CXTPMarkupPanel object
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	CXTPMarkupPanel();
 | 
						|
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Destroys a CXTPMarkupPanel object, handles cleanup and deallocation
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	virtual ~CXTPMarkupPanel();
 | 
						|
 | 
						|
public:
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Retrieves Children collection
 | 
						|
	// Returns: Pointer to CXTPMarkupUIElementCollection collection contained children elements
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	CXTPMarkupUIElementCollection* GetChildren() const;
 | 
						|
 | 
						|
public:
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Call this method to set background of the panel object
 | 
						|
	// Parameters: brush - New Brush to be set as background brush
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	void SetBackground(CXTPMarkupBrush* brush);
 | 
						|
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	// Summary:
 | 
						|
	//     Call this method to get background brush of the panel object
 | 
						|
	// Returns: Pointer to CXTPMarkupBrush object contained current brush of panel's object
 | 
						|
	//-----------------------------------------------------------------------
 | 
						|
	CXTPMarkupBrush* GetBackground() const;
 | 
						|
 | 
						|
protected:
 | 
						|
 | 
						|
//{{AFX_CODEJOCK_PRIVATE
 | 
						|
	// Implementation
 | 
						|
	virtual int GetVisualChildrenCount() const;
 | 
						|
	virtual CXTPMarkupVisual* GetVisualChild(int nIndex) const;
 | 
						|
 | 
						|
protected:
 | 
						|
	virtual void SetContentObject(CXTPMarkupBuilder* pBuilder, CXTPMarkupObject* pContent);
 | 
						|
	virtual BOOL HasContentObject() const;
 | 
						|
	virtual void OnRender(CXTPMarkupDrawingContext* drawingContext);
 | 
						|
	virtual CXTPMarkupInputElement* InputHitTestOverride(CPoint point) const;
 | 
						|
 | 
						|
protected:
 | 
						|
	CXTPMarkupUIElementCollection* m_pChildren;
 | 
						|
 | 
						|
public:
 | 
						|
	static CXTPMarkupDependencyProperty* m_pBackgroundProperty;
 | 
						|
 | 
						|
//}}AFX_CODEJOCK_PRIVATE
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
AFX_INLINE CXTPMarkupUIElementCollection* CXTPMarkupPanel::GetChildren() const {
 | 
						|
	return m_pChildren;
 | 
						|
}
 | 
						|
AFX_INLINE int CXTPMarkupPanel::GetVisualChildrenCount() const {
 | 
						|
	return m_pChildren->GetCount();
 | 
						|
}
 | 
						|
AFX_INLINE CXTPMarkupVisual* CXTPMarkupPanel::GetVisualChild(int nIndex) const {
 | 
						|
	return m_pChildren->GetItem(nIndex);
 | 
						|
}
 | 
						|
 | 
						|
AFX_INLINE CXTPMarkupUIElement* CXTPMarkupUIElementCollection::GetItem(int nIndex) const {
 | 
						|
	return nIndex >= 0 && nIndex < m_arrItems.GetSize() ? (CXTPMarkupUIElement*)m_arrItems[nIndex] : NULL;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
#endif // !defined(__XTPMARKUPPANEL_H__)
 |