380 lines
9.1 KiB
C++
380 lines
9.1 KiB
C++
// AlphaIconsPage.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 "resource.h"
|
|
#include "TabClientPage.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTabManagerPage dialog
|
|
|
|
|
|
CTabManagerPage::CTabManagerPage()
|
|
: CXTPPropertyPage(CTabManagerPage::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CTabManagerPage)
|
|
m_nAppearance = xtpTabAppearancePropertyPage2003;
|
|
m_nColor = -1;
|
|
m_nLayout = -1;
|
|
m_nPosition = -1;
|
|
m_bFillBackground = FALSE;
|
|
m_bBoldSelected = TRUE;
|
|
m_bLunaColors = TRUE;
|
|
m_bOneNoteColors = TRUE;
|
|
m_bHotTracking = FALSE;
|
|
m_bShowIcons = FALSE;
|
|
m_nArrows = -1;
|
|
m_nClose = -1;
|
|
m_bShowStaticFrame = FALSE;
|
|
m_nClientFrame = -1;
|
|
m_bAllowReorder = TRUE;
|
|
m_bMultiRowFixedSelection = FALSE;
|
|
m_bMultiRowJustified = FALSE;
|
|
//}}AFX_DATA_INIT
|
|
|
|
|
|
m_bShowIcons = TRUE;
|
|
}
|
|
|
|
|
|
void CTabManagerPage::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CXTPPropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CTabManagerPage)
|
|
DDX_Control(pDX, IDC_COMBO_APPEARANCE, m_comboAppearance);
|
|
DDX_Control(pDX, IDC_COMBO_POSITION, m_comboPosition);
|
|
DDX_Control(pDX, IDC_COMBO_COLOR, m_comboColor);
|
|
DDX_CBIndex(pDX, IDC_COMBO_APPEARANCE, m_nAppearance);
|
|
DDX_CBIndex(pDX, IDC_COMBO_COLOR, m_nColor);
|
|
DDX_CBIndex(pDX, IDC_COMBO_LAYOUT, m_nLayout);
|
|
DDX_CBIndex(pDX, IDC_COMBO_POSITION, m_nPosition);
|
|
DDX_Check(pDX, IDC_CHECK_BOLD_SELECTED, m_bBoldSelected);
|
|
DDX_Check(pDX, IDC_CHECK_LUNA_COLORS, m_bLunaColors);
|
|
DDX_Check(pDX, IDC_CHECK_ONENOTE_COLORS, m_bOneNoteColors);
|
|
DDX_Check(pDX, IDC_CHECK_HOTTRACKING, m_bHotTracking);
|
|
DDX_Check(pDX, IDC_CHECK_ICONS, m_bShowIcons);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTabManagerPage, CXTPPropertyPage)
|
|
//{{AFX_MSG_MAP(CTabManagerPage)
|
|
ON_CBN_SELCHANGE(IDC_COMBO_COLOR, OnSelchangeComboColor)
|
|
ON_CBN_SELCHANGE(IDC_COMBO_POSITION, OnSelchangeComboPosition)
|
|
ON_CBN_SELCHANGE(IDC_COMBO_APPEARANCE, OnSelchangeComboAppearance)
|
|
ON_BN_CLICKED(IDC_CHECK_BOLD_SELECTED, OnCheckBoldSelected)
|
|
ON_BN_CLICKED(IDC_CHECK_LUNA_COLORS, OnCheckLunaColors)
|
|
ON_BN_CLICKED(IDC_CHECK_ONENOTE_COLORS, OnCheckOnenoteColors)
|
|
ON_BN_CLICKED(IDC_CHECK_HOTTRACKING, OnCheckHottracking)
|
|
ON_BN_CLICKED(IDC_CHECK_ICONS, OnCheckIcons)
|
|
ON_CBN_SELCHANGE(IDC_COMBO_LAYOUT, OnSelchangeComboLayout)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTabManagerPage message handlers
|
|
|
|
BOOL CTabManagerPage::OnInitDialog()
|
|
{
|
|
CXTPPropertyPage::OnInitDialog();
|
|
|
|
// Initialize OneNote style tabs.
|
|
//GetPaintManager()->SetAppearance((XTPTabAppearanceStyle)m_nAppearance);
|
|
//GetPaintManager()->DisableLunaColors(!m_bLunaColors);
|
|
//GetPaintManager()->SetOneNoteColors(m_bOneNoteColors);
|
|
|
|
Update();
|
|
|
|
m_comboPosition.SetItemData(0, xtpTabPositionTop);
|
|
m_comboPosition.SetItemData(1, xtpTabPositionLeft);
|
|
m_comboPosition.SetItemData(2, xtpTabPositionBottom);
|
|
m_comboPosition.SetItemData(3, xtpTabPositionRight);
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
}
|
|
|
|
void CTabManagerPage::Update()
|
|
{
|
|
m_nAppearance = GetPaintManager()->GetAppearance();
|
|
m_nColor = 1;
|
|
m_bFillBackground = GetPaintManager()->m_bFillBackground;
|
|
m_nLayout = GetPaintManager()->GetLayout();
|
|
m_nPosition = GetPaintManager()->GetPosition();
|
|
m_bBoldSelected = GetPaintManager()->m_bBoldSelected;
|
|
m_bLunaColors = !GetPaintManager()->IsLunaColorsDisabled();
|
|
m_bOneNoteColors = GetPaintManager()->m_bOneNoteColors;
|
|
|
|
m_bHotTracking = GetPaintManager()->m_bHotTracking;
|
|
m_bShowStaticFrame = GetPaintManager()->m_bStaticFrame;
|
|
|
|
CXTPTabManager* pManager = GetManager();
|
|
if (pManager)
|
|
{
|
|
m_nArrows = pManager->FindNavigateButton(xtpTabNavigateButtonLeft)->GetFlags();
|
|
m_nClose = pManager->FindNavigateButton(xtpTabNavigateButtonClose)->GetFlags();
|
|
}
|
|
|
|
m_nClientFrame = GetPaintManager()->m_clientFrame;
|
|
|
|
m_bMultiRowFixedSelection = GetPaintManager()->m_bMultiRowFixedSelection;
|
|
m_bMultiRowJustified = GetPaintManager()->m_bMultiRowJustified;
|
|
|
|
UpdateData(FALSE);
|
|
|
|
UpdateControls();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnCancel()
|
|
{
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboColor()
|
|
{
|
|
UpdateData();
|
|
|
|
XTPTabColorStyle color = (XTPTabColorStyle)m_comboColor.GetItemData(m_nColor);
|
|
|
|
GetPaintManager()->SetColor(color);
|
|
|
|
UpdateControls();
|
|
Reposition();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboPosition()
|
|
{
|
|
UpdateData();
|
|
|
|
XTPTabPosition position = (XTPTabPosition)m_comboPosition.GetItemData(m_nPosition);
|
|
|
|
GetPaintManager()->SetPosition(position);
|
|
Reposition();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboAppearance()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->SetAppearance((XTPTabAppearanceStyle)m_nAppearance);
|
|
|
|
UpdateControls();
|
|
Reposition();
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboLayout()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->SetLayout((XTPTabLayoutStyle)m_nLayout);
|
|
|
|
UpdateControls();
|
|
Reposition();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboArrows()
|
|
{
|
|
UpdateData();
|
|
|
|
CXTPTabManager* pManager = GetManager();
|
|
if (pManager)
|
|
{
|
|
pManager->FindNavigateButton(xtpTabNavigateButtonLeft)->SetFlags((XTPTabNavigateButtonFlags)m_nArrows);
|
|
pManager->FindNavigateButton(xtpTabNavigateButtonRight)->SetFlags((XTPTabNavigateButtonFlags)m_nArrows);
|
|
}
|
|
|
|
Reposition();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboClose()
|
|
{
|
|
UpdateData();
|
|
|
|
CXTPTabManager* pManager = GetManager();
|
|
if (pManager)
|
|
{
|
|
pManager->FindNavigateButton(xtpTabNavigateButtonClose)->SetFlags((XTPTabNavigateButtonFlags)m_nClose);
|
|
}
|
|
|
|
Reposition();
|
|
}
|
|
|
|
void CTabManagerPage::OnSelchangeComboClientFrame()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->m_clientFrame = (XTPTabClientFrame)m_nClientFrame;
|
|
Reposition();
|
|
}
|
|
|
|
|
|
|
|
|
|
void CTabManagerPage::UpdateControls()
|
|
{
|
|
|
|
const struct
|
|
{
|
|
int nColorSet;
|
|
LPCTSTR strColorSet;
|
|
}
|
|
colors[] =
|
|
{
|
|
xtpTabColorDefault, _T("xtpTabColorDefault"),
|
|
xtpTabColorVisualStudio, _T("xtpTabColorVisualStudio"),
|
|
xtpTabColorOffice2003, _T("xtpTabColorOffice2003"),
|
|
xtpTabColorWinXP, _T("xtpTabColorWinXP"),
|
|
xtpTabColorWhidbey, _T("xtpTabColorWhidbey")
|
|
};
|
|
|
|
int nSupported = GetPaintManager()->GetAppearanceSet()->GetSupportedColorSets();
|
|
|
|
m_comboColor.ResetContent();
|
|
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
if (nSupported & colors[i].nColorSet)
|
|
{
|
|
int nItem = m_comboColor.AddString(colors[i].strColorSet);
|
|
m_comboColor.SetItemData(nItem, colors[i].nColorSet);
|
|
if (GetPaintManager()->GetColor() == colors[i].nColorSet)
|
|
{
|
|
m_nColor = nItem;
|
|
m_comboColor.SetCurSel(nItem);
|
|
}
|
|
|
|
}
|
|
}
|
|
GetDlgItem(IDC_CHECK_LUNA_COLORS)->EnableWindow((m_comboColor.GetItemData(m_nColor) & (xtpTabColorOffice2003|xtpTabColorWhidbey)) != 0);
|
|
GetDlgItem(IDC_CHECK_ONENOTE_COLORS)->EnableWindow(m_comboColor.GetItemData(m_nColor) != xtpTabColorWinXP);
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckBoldSelected()
|
|
{
|
|
UpdateData();
|
|
|
|
GetPaintManager()->m_bBoldSelected = m_bBoldSelected;
|
|
|
|
Reposition();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckLunaColors()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->DisableLunaColors(!m_bLunaColors);
|
|
Reposition();
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckOnenoteColors()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->SetOneNoteColors(m_bOneNoteColors);
|
|
Reposition();
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckHottracking()
|
|
{
|
|
UpdateData();
|
|
|
|
GetPaintManager()->m_bHotTracking = m_bHotTracking;
|
|
|
|
Reposition();
|
|
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckIcons()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->m_bShowIcons = m_bShowIcons;
|
|
|
|
Reposition();
|
|
}
|
|
|
|
|
|
void CTabManagerPage::OnCheckStaticFrame()
|
|
{
|
|
UpdateData();
|
|
|
|
GetPaintManager()->m_bStaticFrame = m_bShowStaticFrame;
|
|
Reposition();
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckAllowReorder()
|
|
{
|
|
UpdateData();
|
|
if (GetManager())
|
|
GetManager()->SetAllowReorder(m_bAllowReorder);
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckFixedSelection()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->m_bMultiRowFixedSelection = m_bMultiRowFixedSelection;
|
|
Reposition();
|
|
}
|
|
|
|
void CTabManagerPage::OnCheckBackground()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->m_bFillBackground = m_bFillBackground;
|
|
Reposition();
|
|
}
|
|
|
|
|
|
void CTabManagerPage::OnCheckJustified()
|
|
{
|
|
UpdateData();
|
|
GetPaintManager()->m_bMultiRowJustified = m_bMultiRowJustified;
|
|
Reposition();
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// CTabControlPage
|
|
|
|
CTabControlPage::CTabControlPage()
|
|
{
|
|
m_bShowIcons = FALSE;
|
|
m_bAllowReorder = FALSE;
|
|
}
|
|
|
|
CXTPTabManager* CTabControlPage::GetManager()
|
|
{
|
|
CXTPPropertyPageNavigator* pNavigator = m_pSheet->GetNavigator();
|
|
|
|
return (CXTPPropertyPageTabNavigator*)pNavigator;
|
|
}
|
|
|
|
void CTabControlPage::Reposition()
|
|
{
|
|
GetManager()->Reposition();
|
|
m_pSheet->RecalcLayout();
|
|
m_pSheet->RedrawWindow(0, 0, RDW_INVALIDATE | RDW_ALLCHILDREN| RDW_ERASE);
|
|
}
|
|
|
|
|