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.
239 lines
8.7 KiB
C
239 lines
8.7 KiB
C
2 years ago
|
// XTPReportGroupRow.h: interface for the CXTPReportGroupItem class.
|
||
|
//
|
||
|
// This file is a part of the XTREME REPORTCONTROL 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(__XTPREPORTGROUPROW_H__)
|
||
|
#define __XTPREPORTGROUPROW_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
|
||
|
class CXTPMarkupContext;
|
||
|
class CXTPMarkupUIElement;
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// This class represents a 'group row' of the report control view -
|
||
|
// that means a row which has no associated Record item, but
|
||
|
// has a special text caption instead.
|
||
|
// Remarks:
|
||
|
// CXTPReportGroupRow has a slightly different reaction on mouse events and another
|
||
|
// draw logic.
|
||
|
//
|
||
|
// All other behavior of the group row is similar to its parent.
|
||
|
//
|
||
|
// See Also: CXTPReportRow overview, CXTPReportControl overview
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPReportGroupRow : public CXTPReportRow
|
||
|
{
|
||
|
public:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// A constructor of the CXTPReportGroupRow object.
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPReportGroupRow();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// A default object destructor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~CXTPReportGroupRow();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Returns the group text caption.
|
||
|
// Remarks:
|
||
|
// Call this member function to retrieve a text caption of this
|
||
|
// group row item.
|
||
|
// Returns:
|
||
|
// Group text caption.
|
||
|
// See Also: CXTPReportGroupRow::CXTPReportGroupRow
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString GetCaption() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Returns tool tip text displayed for this group row.
|
||
|
// Remarks:
|
||
|
// Call this member function to retrieve the tool tip text displayed the
|
||
|
// this group row.
|
||
|
// Returns:
|
||
|
// Tool tip Text for this row.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString GetTooltip() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to specify the text that is displayed as the group
|
||
|
// caption when the column that the ReportRecordItem is in has been grouped.
|
||
|
// Parameters:
|
||
|
// lpszCaption - Caption to be set
|
||
|
// Remarks:
|
||
|
// When a column that the ReportRecordItem belong to has been grouped,
|
||
|
// the caption of the column is displayed as
|
||
|
// the group caption. If you specify a caption with CXTPReportGroupRow::SetCaption
|
||
|
// for the ReportRecordItem, the m_strGroupText text
|
||
|
// will be displayed instead of the caption of the column.
|
||
|
// You can use CXTPReportGroupRow::SetCaption to "sub group" your ReportRecordItems when
|
||
|
// the column they belong to has been grouped. The ReportRecordItems
|
||
|
// will be "sub grouped" by the value in m_strGroupText when the
|
||
|
// column they belong to is grouped.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetCaption(LPCTSTR lpszCaption);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Gets group row Formula
|
||
|
// Returns:
|
||
|
// String object, containing current Formula
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString GetFormula() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Sets group row Formula.
|
||
|
// Parameters:
|
||
|
// sFormula - New Formula.
|
||
|
virtual void SetFormula(LPCTSTR sFormula);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Gets group row caption format string.
|
||
|
// Returns:
|
||
|
// String object, containing current format string
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CString GetFormatString() const;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Sets group row caption format string.
|
||
|
// Parameters:
|
||
|
// strFormat - New format string.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SetFormatString(LPCTSTR strFormat);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Draws the row using the specified device context.
|
||
|
// Parameters:
|
||
|
// pDC - A pointer to the device context in which the drawing occurs.
|
||
|
// rcRow - Position of the row in client window coordinates.
|
||
|
// rcClip - Position of the row in client window coordinates.
|
||
|
// nLeftOffset - Start drawing left offset in pixels (Horizontal scroll position).
|
||
|
// See Also: CXTPReportRow::Draw
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void Draw(CDC* pDC, CRect rcRow, CRect rcClip, int nLeftOffset,
|
||
|
CXTPReportRecordMergeItems &mergeItems, int nColumnFrom, int nColumnTo);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Process mouse single clicks.
|
||
|
// Parameters:
|
||
|
// ptClicked - Point coordinates where the message was fired from.
|
||
|
// See Also: CXTPReportRow::OnClick
|
||
|
//-----------------------------------------------------------------------
|
||
|
void OnClick(CPoint ptClicked);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Process mouse double clicks.
|
||
|
// Parameters:
|
||
|
// ptClicked - Point coordinates where the message was fired from.
|
||
|
// Remarks:
|
||
|
// Group row adds a collapse/expand functionality if double-
|
||
|
// clicked on a row.
|
||
|
// See Also: CXTPReportRow::OnDblClick
|
||
|
//-----------------------------------------------------------------------
|
||
|
void OnDblClick(CPoint ptClicked);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Determines if this is a group row or not.
|
||
|
// Returns:
|
||
|
// TRUE because this is a group row.
|
||
|
// See Also: CXTPReportRow::IsGroupRow
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsGroupRow() const;
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
BOOL CalculateByChilds(CXTPReportRow* pPassedRow, int col_start, int col_end, double& dPassedValue);
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
CXTPMarkupUIElement* m_pMarkupUIElement;// Store Markup Object
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The framework calls this member function to determine whether a
|
||
|
// point is in the bounding rectangle of the specified tool.
|
||
|
// Parameters:
|
||
|
// point - Specifies the x- and y-coordinate of the cursor. These
|
||
|
// coordinates are always relative to the upper-left corner of the window
|
||
|
// pTI - A pointer to a TOOLINFO structure.
|
||
|
// Returns:
|
||
|
// If the tooltip control was found, the window control ID. If
|
||
|
// the tooltip control was not found, -1.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual INT_PTR OnToolHitTest(CPoint point, TOOLINFO* pTI);
|
||
|
|
||
|
protected:
|
||
|
CString m_strGroupText; // Group text label
|
||
|
CString m_strGroupLabel; // Group text label - used as formula prefix
|
||
|
CString m_strFormula; // The formula.
|
||
|
CString m_strFormat; // The format string.
|
||
|
|
||
|
friend class CXTPReportPaintManager;
|
||
|
|
||
|
};
|
||
|
|
||
|
AFX_INLINE BOOL CXTPReportGroupRow::IsGroupRow() const
|
||
|
{
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
AFX_INLINE CString CXTPReportGroupRow::GetTooltip() const
|
||
|
{
|
||
|
return GetCaption();
|
||
|
}
|
||
|
|
||
|
AFX_INLINE CString CXTPReportGroupRow::GetFormula() const
|
||
|
{
|
||
|
return m_strFormula;
|
||
|
}
|
||
|
|
||
|
AFX_INLINE void CXTPReportGroupRow::SetFormula(LPCTSTR sFormula)
|
||
|
{
|
||
|
m_strFormula = sFormula;
|
||
|
}
|
||
|
|
||
|
AFX_INLINE CString CXTPReportGroupRow::GetFormatString() const
|
||
|
{
|
||
|
return m_strFormat;
|
||
|
}
|
||
|
|
||
|
AFX_INLINE void CXTPReportGroupRow::SetFormatString(LPCTSTR strFormat)
|
||
|
{
|
||
|
m_strFormat = strFormat;
|
||
|
}
|
||
|
|
||
|
#endif //#if !defined(__XTPREPORTGROUPROW_H__)
|