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.
176 lines
6.4 KiB
C++
176 lines
6.4 KiB
C++
// XTPRibbonCustomizeQuickAccessPage.h: interface for the CXTPRibbonCustomizeQuickAccessPage class.
|
|
//
|
|
// This file is a part of the XTREME RIBBON 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(__XTPRIBBONCUSTOMIZEQUICKACCESSPAGE_H__)
|
|
#define __XTPRIBBONCUSTOMIZEQUICKACCESSPAGE_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class CXTPCustomizeSheet;
|
|
class CXTPCommandBars;
|
|
class CXTPRibbonBar;
|
|
struct XTP_COMMANDBARS_CATEGORYINFO;
|
|
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// CXTPRibbonCustomizeQuickAccessPage is a CPropertyPage derived class.
|
|
// It represents the Quick Access page of the Customize dialog.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPRibbonCustomizeQuickAccessPage : public CXTPPropertyPage
|
|
{
|
|
// Construction
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPRibbonCustomizeQuickAccessPage object
|
|
// Parameters:
|
|
// pSheet - Points to a CXTPCustomizeSheet object
|
|
//-----------------------------------------------------------------------
|
|
CXTPRibbonCustomizeQuickAccessPage(CXTPCustomizeSheet* pSheet, UINT nIDTemplate = (UINT)-1);
|
|
CXTPRibbonCustomizeQuickAccessPage(CXTPCommandBars* pCommandBars);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPCustomizeCommandsPage object, handles cleanup
|
|
// and deallocation.
|
|
//-----------------------------------------------------------------------
|
|
~CXTPRibbonCustomizeQuickAccessPage();
|
|
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Retrieves Ribbon bar to customize
|
|
// Returns:
|
|
// Pointer to commandbars' ribbon bar
|
|
//-----------------------------------------------------------------------
|
|
CXTPRibbonBar* GetRibbonBar();
|
|
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Adds categories branch from menu resource.
|
|
// Parameters:
|
|
// nIDResource - Menu resource from where categories will be built.
|
|
// bListSubItems - TRUE to add sub menus to categories.
|
|
// Returns:
|
|
// TRUE if successful; otherwise returns FALSE
|
|
//-----------------------------------------------------------------------
|
|
BOOL AddCategories(UINT nIDResource, BOOL bListSubItems = FALSE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Adds categories branch from Controls.
|
|
// Parameters:
|
|
// pControls - Points to a CXTPControls object
|
|
// Returns:
|
|
// TRUE if successful; otherwise returns FALSE
|
|
//-----------------------------------------------------------------------
|
|
BOOL AddCategories(CXTPControls* pControls);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Adds a new category from a CMenu object.
|
|
// Parameters:
|
|
// strCategory - Category to be added.
|
|
// pMenu - Points to a CMenu object
|
|
// bListSubItems - TRUE to add sub menus to the category.
|
|
// Returns:
|
|
// TRUE if successful; otherwise returns FALSE
|
|
//-----------------------------------------------------------------------
|
|
BOOL AddCategory(LPCTSTR strCategory, CMenu* pMenu, BOOL bListSubItems = FALSE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method adds a new empty category in the given index.
|
|
// Parameters:
|
|
// strCategory - Category to be added.
|
|
// nIndex - Index to insert.
|
|
// Returns:
|
|
// A pointer to a CXTPControls object
|
|
//-----------------------------------------------------------------------
|
|
CXTPControls* InsertCategory(LPCTSTR strCategory, int nIndex = -1);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Retrieves the control list of the given category.
|
|
// Parameters:
|
|
// strCategory - Category to retrieve.
|
|
// Returns:
|
|
// A pointer to a CXTPControls object.
|
|
//-----------------------------------------------------------------------
|
|
CXTPControls* GetControls(LPCTSTR strCategory);
|
|
|
|
protected:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Refills list of quick access controls
|
|
//-----------------------------------------------------------------------
|
|
void RefreshQuickAccessList();
|
|
|
|
// Implementation
|
|
protected:
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
//{{AFX_VIRTUAL(CXTPRibbonCustomizeQuickAccessPage)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
//}}AFX_VIRTUAL
|
|
|
|
//{{AFX_MSG(CXTPRibbonCustomizeQuickAccessPage)
|
|
afx_msg void OnCheckShowQuickAccessBelow();
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnCategoriesSelectionChanged();
|
|
afx_msg void OnDblclkListQuickAccess();
|
|
afx_msg void OnDblclkListCommands();
|
|
afx_msg void OnButtonAdd();
|
|
afx_msg void OnButtonRemove();
|
|
afx_msg void OnButtonReset();
|
|
afx_msg void OnCommandsSelectionChanged();
|
|
afx_msg void OnQuickAccessSelectionChanged();
|
|
//}}AFX_MSG
|
|
|
|
private:
|
|
XTP_COMMANDBARS_CATEGORYINFO* FindCategory(LPCTSTR strCategory) const;
|
|
XTP_COMMANDBARS_CATEGORYINFO* GetCategoryInfo(int nIndex);
|
|
|
|
public:
|
|
CComboBox m_lstCategories; // Categories list
|
|
CXTPCustomizeCommandsListBox m_lstQuickAccess; // Quick access list
|
|
CXTPCustomizeCommandsListBox m_lstCommands; // Commands list
|
|
BOOL m_bShowQuickAccessBelow; // TRUE to show quick access below ribbon
|
|
|
|
protected:
|
|
CXTPCustomizeSheet* m_pSheet; // Parent Sheet window
|
|
CXTPCommandBars* m_pCommandBars; // Parent CommandBars object
|
|
CXTPCommandBarsCategoryArray m_arrCategories; // Array of categories.
|
|
|
|
CXTPMarkupStatic m_wndTitle;
|
|
};
|
|
|
|
#endif // !defined(__XTPRIBBONCUSTOMIZEQUICKACCESSPAGE_H__)
|