325 lines
9.5 KiB
C++
325 lines
9.5 KiB
C++
// HeaderFooterView.h : header file
|
|
//
|
|
// This file is a part of the XTREME TOOLKIT PRO MFC class library.
|
|
// (c)1998-2008 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
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_HEADERFOOTERVIEW_H__5E52F174_9488_44B0_B8E7_48BC345422A2__INCLUDED_)
|
|
#define AFX_HEADERFOOTERVIEW_H__5E52F174_9488_44B0_B8E7_48BC345422A2__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "MainFrm.h"
|
|
|
|
//enum TaskImportance
|
|
//{
|
|
// taskImportanceNormal,
|
|
// taskImportanceHigh,
|
|
// taskImportanceLow
|
|
//};
|
|
//
|
|
//enum TaskStatus
|
|
//{
|
|
// taskStatusNotStarted,
|
|
// taskStatusInProgress,
|
|
// taskStatusCompleted,
|
|
// taskStatusWaiting,
|
|
// taskStatusDeferred,
|
|
//};
|
|
|
|
|
|
|
|
//class CTaskRecord : public CXTPReportRecord
|
|
//{
|
|
//protected:
|
|
//
|
|
// class CTaskItemType : public CXTPReportRecordItem
|
|
//{
|
|
// public:
|
|
// CTaskItemType(BOOL /*bSharedTask*/)
|
|
// {
|
|
// SetFocusable(FALSE);
|
|
// }
|
|
// };
|
|
//
|
|
// class CTaskItemImportance : public CXTPReportRecordItem
|
|
// {
|
|
// public:
|
|
// CTaskItemImportance(TaskImportance taskImportance)
|
|
// {
|
|
// SetImportance(taskImportance);
|
|
// }
|
|
// void OnConstraintChanged(XTP_REPORTRECORDITEM_ARGS* /*pItemArgs*/, CXTPReportRecordItemConstraint* pConstraint)
|
|
// {
|
|
// SetImportance((TaskImportance)pConstraint->m_dwData);
|
|
// }
|
|
// DWORD GetSelectedConstraintData(XTP_REPORTRECORDITEM_ARGS* /*pItemArgs*/)
|
|
// {
|
|
// return m_taskImportance;
|
|
// }
|
|
//
|
|
// void SetImportance(TaskImportance taskImportance )
|
|
// {
|
|
// m_taskImportance = taskImportance;
|
|
//
|
|
// SetIconIndex(taskImportance == taskImportanceHigh ? 6 :
|
|
// taskImportance == taskImportanceLow ? 9: -1);
|
|
//
|
|
// SetGroupPriority(
|
|
// taskImportance == taskImportanceHigh? IDS_GROUP_IMPOPRTANCE_HIGH:
|
|
// taskImportance == taskImportanceLow? IDS_GROUP_IMPOPRTANCE_LOW: IDS_GROUP_IMPOPRTANCE_NORMAL);
|
|
//
|
|
// SetSortPriority(GetGroupPriority());
|
|
// }
|
|
//
|
|
// public:
|
|
// TaskImportance m_taskImportance;
|
|
// };
|
|
//
|
|
// class CTaskItemAttachment : public CXTPReportRecordItem
|
|
// {
|
|
// public:
|
|
// CTaskItemAttachment::CTaskItemAttachment(BOOL bHasAttachment)
|
|
// {
|
|
// SetIconIndex(bHasAttachment ? 8 : -1);
|
|
// SetGroupPriority(bHasAttachment? IDS_GROUP_ATTACHMENTS_TRUE: IDS_GROUP_ATTACHMENTS_FALSE);
|
|
// SetSortPriority(GetGroupPriority());
|
|
// SetFocusable(FALSE);
|
|
// }
|
|
// };
|
|
// class CTaskItemDueDate : public CXTPReportRecordItemDateTime
|
|
// {
|
|
// public:
|
|
// CTaskItemDueDate(COleDateTime dtDateTime)
|
|
// : CXTPReportRecordItemDateTime(dtDateTime)
|
|
// {
|
|
// m_strFormatString = _T("%a %m/%d/%Y");
|
|
// }
|
|
// CString GetCaption(CXTPReportColumn* /*pColumn*/)
|
|
// {
|
|
// if ((DATE)m_odtValue == 0)
|
|
// return _T("None");
|
|
//
|
|
// return m_odtValue.Format(m_strFormatString);
|
|
// }
|
|
// };
|
|
//
|
|
// class CTaskItemStatus : public CXTPReportRecordItem
|
|
// {
|
|
// public:
|
|
// CTaskItemStatus(TaskStatus taskStatus)
|
|
// {
|
|
// m_taskStatus = taskStatus;
|
|
// }
|
|
//
|
|
// CString GetCaption(CXTPReportColumn* pColumn)
|
|
// {
|
|
// CXTPReportRecordItemConstraint* pConstraint = pColumn->GetEditOptions()->FindConstraint(m_taskStatus);
|
|
// ASSERT(pConstraint);
|
|
// return pConstraint->m_strConstraint;
|
|
// }
|
|
//
|
|
// void OnEditChanged(XTP_REPORTRECORDITEM_ARGS* pItemArgs, LPCTSTR szText)
|
|
// {
|
|
// CXTPReportRecordItemConstraint* pConstraint = pItemArgs->pColumn->GetEditOptions()->FindConstraint(szText);
|
|
// if (pConstraint)
|
|
// {
|
|
// m_taskStatus = (TaskStatus)pConstraint->m_dwData;
|
|
//
|
|
// CXTPReportRecordItem* pItemComplete = ((CTaskRecord*)GetRecord())->GetItem(6);
|
|
//
|
|
// if (m_taskStatus == taskStatusCompleted &&
|
|
// ((CTaskItemComplete*)pItemComplete)->GetValue() != 100)
|
|
// {
|
|
// ((CTaskItemComplete*)pItemComplete)->SetValue(100);
|
|
// }
|
|
// if (m_taskStatus != taskStatusCompleted &&
|
|
// ((CTaskItemComplete*)pItemComplete)->GetValue() == 100)
|
|
// {
|
|
// ((CTaskItemComplete*)pItemComplete)->SetValue(0);
|
|
// }
|
|
// }
|
|
// }
|
|
// TaskStatus m_taskStatus;
|
|
// };
|
|
//
|
|
// class CTaskItemComplete : public CXTPReportRecordItemNumber
|
|
// {
|
|
// public:
|
|
// CTaskItemComplete(int nComplete)
|
|
// : CXTPReportRecordItemNumber(nComplete, _T("%2.0f%%"))
|
|
// {
|
|
//
|
|
// }
|
|
// void OnEditChanged(XTP_REPORTRECORDITEM_ARGS* pItemArgs, LPCTSTR szText)
|
|
// {
|
|
// CXTPReportRecordItemNumber::OnEditChanged(pItemArgs, szText);
|
|
// if (m_dValue > 100)
|
|
// m_dValue = 100;
|
|
//
|
|
// int nStatus = (int)GetValue();
|
|
//
|
|
// CXTPReportRecordItem* pItemStatus = ((CTaskRecord*)GetRecord())->GetItem(3);
|
|
//
|
|
// if (nStatus == 100 &&
|
|
// ((CTaskItemStatus*)pItemStatus)->m_taskStatus !=taskStatusCompleted)
|
|
// {
|
|
// ((CTaskItemStatus*)pItemStatus)->m_taskStatus = taskStatusCompleted;
|
|
// }
|
|
// if (nStatus != 100 &&
|
|
// ((CTaskItemStatus*)pItemStatus)->m_taskStatus ==taskStatusCompleted)
|
|
// {
|
|
// ((CTaskItemStatus*)pItemStatus)->m_taskStatus = taskStatusInProgress;
|
|
// }
|
|
// }
|
|
//
|
|
// };
|
|
//
|
|
//
|
|
//public:
|
|
// CTaskRecord(
|
|
// BOOL bSharedTask, TaskImportance taskImportance, BOOL bHasAttachment,
|
|
// TaskStatus taskStatus, CString strSubject,
|
|
// COleDateTime odtDueDate, int nComplete, CString strCategories);
|
|
//
|
|
// virtual void GetItemMetrics(XTP_REPORTRECORDITEM_DRAWARGS* pDrawArgs, XTP_REPORTRECORDITEM_METRICS* pItemMetrics);
|
|
//};
|
|
|
|
|
|
|
|
class CHeaderFooterFrame : public CXTPFrameWnd
|
|
{
|
|
public:
|
|
CHeaderFooterFrame(CView* pView)
|
|
{
|
|
m_pOwnerView = pView;
|
|
|
|
}
|
|
|
|
protected: // control bar embedded members
|
|
CStatusBar m_wndStatusBar;
|
|
CToolBar m_wndToolBar;
|
|
CView* m_pOwnerView;
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CHeaderFooterFrame)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CHeaderFooterView view
|
|
|
|
class CHeaderFooterView : public CXTPReportView
|
|
{
|
|
protected:
|
|
CHeaderFooterView(); // protected constructor used by dynamic creation
|
|
DECLARE_DYNCREATE(CHeaderFooterView)
|
|
|
|
// Attributes
|
|
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CHeaderFooterView)
|
|
protected:
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
virtual ~CHeaderFooterView();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CHeaderFooterView)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnShowHeaderRecords();
|
|
afx_msg void OnUpdateShowHeaderRecords(CCmdUI* pCmdUI);
|
|
afx_msg void OnHeaderRecordsAllowEdit();
|
|
afx_msg void OnUpdateHeaderRecordsAllowEdit(CCmdUI* pCmdUI);
|
|
afx_msg void OnShowFooterRecords();
|
|
afx_msg void OnUpdateShowFooterRecords(CCmdUI* pCmdUI);
|
|
afx_msg void OnFooterRecordsAllowEdit();
|
|
afx_msg void OnUpdateFooterRecordsAllowEdit(CCmdUI* pCmdUI);
|
|
afx_msg void OnPinFooterRows();
|
|
afx_msg void OnUpdatePinFooterRows(CCmdUI* pCmdUI);
|
|
afx_msg void OnDrawGridForEmpty();
|
|
afx_msg void OnUpdateDrawGridForEmpty(CCmdUI* pCmdUI);
|
|
afx_msg void OnMoveInHeader();
|
|
afx_msg void OnUpdateMoveInHeader(CCmdUI* pCmdUI);
|
|
afx_msg void OnMoveInFooter();
|
|
afx_msg void OnUpdateMoveInFooter(CCmdUI* pCmdUI);
|
|
|
|
afx_msg void OnHeaderDividerStyleThin();
|
|
afx_msg void OnUpdateHeaderDividerStyleThin(CCmdUI* pCmdUI);
|
|
afx_msg void OnHeaderDividerStyleBold();
|
|
afx_msg void OnUpdateHeaderDividerStyleBold(CCmdUI* pCmdUI);
|
|
afx_msg void OnHeaderDividerStyleNone();
|
|
afx_msg void OnUpdateHeaderDividerStyleNone(CCmdUI* pCmdUI);
|
|
afx_msg void OnHeaderDividerStyleShade();
|
|
afx_msg void OnUpdateHeaderDividerStyleShade(CCmdUI* pCmdUI);
|
|
afx_msg void OnHeaderDividerStyleOutlook();
|
|
afx_msg void OnUpdateHeaderDividerStyleOutlook(CCmdUI* pCmdUI);
|
|
|
|
afx_msg void OnFooterDividerStyleThin();
|
|
afx_msg void OnUpdateFooterDividerStyleThin(CCmdUI* pCmdUI);
|
|
afx_msg void OnFooterDividerStyleBold();
|
|
afx_msg void OnUpdateFooterDividerStyleBold(CCmdUI* pCmdUI);
|
|
afx_msg void OnFooterDividerStyleNone();
|
|
afx_msg void OnUpdateFooterDividerStyleNone(CCmdUI* pCmdUI);
|
|
afx_msg void OnFooterDividerStyleShade();
|
|
afx_msg void OnUpdateFooterDividerStyleShade(CCmdUI* pCmdUI);
|
|
afx_msg void OnFooterDividerStyleOutlook();
|
|
afx_msg void OnUpdateFooterDividerStyleOutlook(CCmdUI* pCmdUI);
|
|
|
|
afx_msg void OnColumnsStyleFlat();
|
|
afx_msg void OnUpdateColumnsStyleFlat(CCmdUI* pCmdUI);
|
|
afx_msg void OnColumnsStyleExplorer();
|
|
afx_msg void OnUpdateColumnsStyleExplorer(CCmdUI* pCmdUI);
|
|
afx_msg void OnColumnsStyleShaded();
|
|
afx_msg void OnUpdateColumnsStyleShaded(CCmdUI* pCmdUI);
|
|
afx_msg void OnColumnsStyleOffice2003();
|
|
afx_msg void OnUpdateColumnsStyleOffice2003(CCmdUI* pCmdUI);
|
|
|
|
afx_msg void OnAddTask();
|
|
afx_msg void OnReportButtonClick(NMHDR * pNotifyStruct, LRESULT *result);
|
|
//}}AFX_MSG
|
|
|
|
BOOL Show_XTPDatePicker(CXTPReportControl* pControl, const CRect& rcItem, COleDateTime& rdtDate);
|
|
BOOL Show_MFCDatePicker(CXTPReportControl* pControl, const CRect& rcItem, COleDateTime& rdtDate);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_HEADERFOOTERVIEW_H__5E52F174_9488_44B0_B8E7_48BC345422A2__INCLUDED_)
|