TabMarginsPage.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:8k
- // TabMarginsPage.cpp : implementation 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
- //
- /////////////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "tabmanager.h"
- #include "TabMarginsPage.h"
- #include "MainFrm.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CTabMarginsPage dialog
- CTabMarginsPage::CTabMarginsPage()
- : CXTPPropertyPage(CTabMarginsPage::IDD)
- {
- m_bApply[0] = TRUE;
- m_bApply[1] = FALSE;
- m_bApply[2] = FALSE;
- m_bApply[3] = FALSE;
- //{{AFX_DATA_INIT(CTabMarginsPage)
- //}}AFX_DATA_INIT
- }
- void AFXAPI DDX_TextEx(CDataExchange* pDX, int nIDC, long& value)
- {
- if (pDX->m_bSaveAndValidate)
- {
- CString str;
- pDX->m_pDlgWnd->GetDlgItem(nIDC)->GetWindowText(str);
- if (str.IsEmpty())
- {
- value = 0;
- return;
- }
- }
- DDX_Text(pDX, nIDC, value);
- }
- void CTabMarginsPage::DoDataExchange(CDataExchange* pDX)
- {
- CXTPPropertyPage::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CTabMarginsPage)
- //}}AFX_DATA_MAP
- DDX_TextEx(pDX, IDC_EDIT_CONTROL_LEFT, m_rcControlMargin.left);
- DDX_TextEx(pDX, IDC_EDIT_CONTROL_RIGHT, m_rcControlMargin.right);
- DDX_TextEx(pDX, IDC_EDIT_CONTROL_TOP, m_rcControlMargin.top);
- DDX_TextEx(pDX, IDC_EDIT_CONTROL_BOTTOM, m_rcControlMargin.bottom);
- DDX_TextEx(pDX, IDC_EDIT_CLIENT_LEFT, m_rcClientMargin.left);
- DDX_TextEx(pDX, IDC_EDIT_CLIENT_RIGHT, m_rcClientMargin.right);
- DDX_TextEx(pDX, IDC_EDIT_CLIENT_TOP, m_rcClientMargin.top);
- DDX_TextEx(pDX, IDC_EDIT_CLIENT_BOTTOM, m_rcClientMargin.bottom);
- DDX_TextEx(pDX, IDC_EDIT_HEADER_LEFT, m_rcHeaderMargin.left);
- DDX_TextEx(pDX, IDC_EDIT_HEADER_RIGHT, m_rcHeaderMargin.right);
- DDX_TextEx(pDX, IDC_EDIT_HEADER_TOP, m_rcHeaderMargin.top);
- DDX_TextEx(pDX, IDC_EDIT_HEADER_BOTTOM, m_rcHeaderMargin.bottom);
- DDX_TextEx(pDX, IDC_EDIT_BUTTON_LEFT, m_rcButtonMargin.left);
- DDX_TextEx(pDX, IDC_EDIT_BUTTON_RIGHT, m_rcButtonMargin.right);
- DDX_TextEx(pDX, IDC_EDIT_BUTTON_TOP, m_rcButtonMargin.top);
- DDX_TextEx(pDX, IDC_EDIT_BUTTON_BOTTOM, m_rcButtonMargin.bottom);
- DDX_Check(pDX, IDC_CHECK_TABWORKSPACE, m_bApply[0]);
- DDX_Check(pDX, IDC_CHECK_TABCONTROL, m_bApply[1]);
- DDX_Check(pDX, IDC_CHECK_DOCKINGPANE, m_bApply[2]);
- DDX_Check(pDX, IDC_CHECK_PANEL, m_bApply[3]);
- }
- CXTPTabPaintManager* CTabMarginsPage::GetPaintManager(int nIndex)
- {
- UpdateData();
- if (m_bApply[nIndex])
- {
- switch (nIndex)
- {
- case 0: return ((CMainFrame*)GetParentFrame())->m_MTIClientWnd.GetPaintManager();
- case 1: return GetParentTabControl()->GetPaintManager();
- case 2: return ((CMainFrame*)GetParentFrame())->m_paneManager.GetPaintManager()->GetTabPaintManager();
- case 3: return ((CMainFrame*)GetParentFrame())->m_paneManager.GetPaintManager()->GetPanelPaintManager();
- }
- }
- return NULL;
- }
- CXTPTabPaintManager* CTabMarginsPage::GetPaintManager()
- {
- for (int i = 0; i < 4; i++)
- {
- if (GetPaintManager(i) != 0)
- {
- return GetPaintManager(i);
- }
- }
- return NULL;
- }
- void CTabMarginsPage::Update()
- {
- CXTPTabPaintManager* pManager = GetPaintManager();
- if (pManager)
- {
- m_rcControlMargin = pManager->m_rcControlMargin;
- m_rcHeaderMargin = pManager->GetAppearanceSet()->m_rcHeaderMargin;
- m_rcClientMargin = pManager->m_rcClientMargin;
- m_rcButtonMargin = pManager->m_rcButtonMargin;
- } else
- {
- m_rcControlMargin.SetRect(0, 0, 0, 0);
- m_rcHeaderMargin.SetRect(0, 0, 0, 0);
- m_rcClientMargin.SetRect(0, 0, 0, 0);
- m_rcButtonMargin.SetRect(0, 0, 0, 0);
- }
- for (int i = IDC_EDIT_CONTROL_LEFT; i <= IDC_EDIT_BUTTON_BOTTOM; i++)
- GetDlgItem(i)->EnableWindow(pManager != NULL);
- UpdateData(FALSE);
- }
- void CTabMarginsPage::OnCancel()
- {
- }
- void CTabMarginsPage::OnOK()
- {
- }
- BEGIN_MESSAGE_MAP(CTabMarginsPage, CXTPPropertyPage)
- //{{AFX_MSG_MAP(CTabMarginsPage)
- ON_BN_CLICKED(IDC_CHECK_TABWORKSPACE, OnCheckApply)
- ON_BN_CLICKED(IDC_CHECK_TABCONTROL, OnCheckApply)
- ON_BN_CLICKED(IDC_CHECK_DOCKINGPANE, OnCheckApply)
- ON_BN_CLICKED(IDC_CHECK_PANEL, OnCheckApply)
- ON_EN_CHANGE(IDC_EDIT_CONTROL_LEFT, OnChangeEditControl)
- ON_EN_CHANGE(IDC_EDIT_CONTROL_TOP, OnChangeEditControl)
- ON_EN_CHANGE(IDC_EDIT_CONTROL_RIGHT, OnChangeEditControl)
- ON_EN_CHANGE(IDC_EDIT_CONTROL_BOTTOM, OnChangeEditControl)
- ON_EN_CHANGE(IDC_EDIT_CLIENT_LEFT, OnChangeEditClient)
- ON_EN_CHANGE(IDC_EDIT_CLIENT_TOP, OnChangeEditClient)
- ON_EN_CHANGE(IDC_EDIT_CLIENT_RIGHT, OnChangeEditClient)
- ON_EN_CHANGE(IDC_EDIT_CLIENT_BOTTOM, OnChangeEditClient)
- ON_EN_CHANGE(IDC_EDIT_HEADER_LEFT, OnChangeEditHeader)
- ON_EN_CHANGE(IDC_EDIT_HEADER_TOP, OnChangeEditHeader)
- ON_EN_CHANGE(IDC_EDIT_HEADER_RIGHT, OnChangeEditHeader)
- ON_EN_CHANGE(IDC_EDIT_HEADER_BOTTOM, OnChangeEditHeader)
- ON_EN_CHANGE(IDC_EDIT_BUTTON_LEFT, OnChangeEditButton)
- ON_EN_CHANGE(IDC_EDIT_BUTTON_TOP, OnChangeEditButton)
- ON_EN_CHANGE(IDC_EDIT_BUTTON_RIGHT, OnChangeEditButton)
- ON_EN_CHANGE(IDC_EDIT_BUTTON_BOTTOM, OnChangeEditButton)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CTabMarginsPage message handlers
- BOOL CTabMarginsPage::OnInitDialog()
- {
- CXTPPropertyPage::OnInitDialog();
- Update();
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CTabMarginsPage::OnCheckApply()
- {
- Update();
- }
- void CTabMarginsPage::OnChangeEditControl()
- {
- UpdateData();
- for (int i = 0; i < 4; i++)
- {
- if (GetPaintManager(i) != 0)
- {
- GetPaintManager(i)->m_rcControlMargin = m_rcControlMargin;
- }
- }
- ((CMainFrame*)GetParentFrame())->m_paneManager.RedrawPanes();
- GetParentTabControl()->Reposition();
- }
- void CTabMarginsPage::OnChangeEditClient()
- {
- UpdateData();
- for (int i = 0; i < 4; i++)
- {
- if (GetPaintManager(i) != 0)
- {
- GetPaintManager(i)->m_rcClientMargin = m_rcClientMargin;
- }
- }
- ((CMainFrame*)GetParentFrame())->m_paneManager.RedrawPanes();
- GetParentTabControl()->Reposition();
- }
- void CTabMarginsPage::OnChangeEditHeader()
- {
- UpdateData();
- for (int i = 0; i < 4; i++)
- {
- if (GetPaintManager(i) != 0)
- {
- GetPaintManager(i)->GetAppearanceSet()->m_rcHeaderMargin = m_rcHeaderMargin;
- }
- }
- ((CMainFrame*)GetParentFrame())->m_paneManager.RedrawPanes();
- GetParentTabControl()->Reposition();
- }
- CXTPTabControl* CTabMarginsPage::GetParentTabControl()
- {
- CXTPPropertyPageNavigator* pNavigator = ((CXTPPropertySheet*)GetParent())->GetNavigator();
- return (CXTPPropertyPageTabNavigator*)pNavigator;
- }
- void CTabMarginsPage::OnChangeEditButton()
- {
- UpdateData();
- for (int i = 0; i < 4; i++)
- {
- if (GetPaintManager(i) != 0)
- {
- GetPaintManager(i)->m_rcButtonMargin = m_rcButtonMargin;
- }
- }
- ((CMainFrame*)GetParentFrame())->m_paneManager.RedrawPanes();
- GetParentTabControl()->Reposition();
- }