📄 workspcoptionpage.cpp
字号:
// WorkSpcOptionPage.cpp : implementation file
//
#include "stdafx.h"
#include "VisualJava.h"
#include "WorkSpcOptionPage.h"
#include "registry.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define CPropertyPage CSAPrefsSubDlg
/////////////////////////////////////////////////////////////////////////////
// CWorkSpcOptionPage property page
static LPCTSTR m_szpDockingViews [] =
{
_T("Output"),
_T("Watch"),
_T("Variables"),
_T("Registers"),
_T("Memory"),
_T("Call Stack"),
_T("Disassembly"),
_T("Workspace"),
NULL
}
;
IMPLEMENT_DYNCREATE(CWorkSpcOptionPage, CPropertyPage)
CWorkSpcOptionPage::CWorkSpcOptionPage() : CSAPrefsSubDlg(CWorkSpcOptionPage::IDD)
{
//{{AFX_DATA_INIT(CWorkSpcOptionPage)
m_bAutoSortWindowMenu = FALSE;
m_bDisplayClockOnStatus = FALSE;
m_bDisplayStatusbar = FALSE;
m_nRecentFileCount = 0;
m_bReloadDocOnOpenWorkspc = FALSE;
m_bShowRecentlyUsed = FALSE;
m_bSRCmenus = FALSE;
m_nRecentWindowCount = 0;
m_bRecentWorkSpcCount = 0;
//}}AFX_DATA_INIT
for(int i=0; i<8; i++)
m_nCheckState[i] =0;
}
CWorkSpcOptionPage::~CWorkSpcOptionPage()
{
}
void CWorkSpcOptionPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CWorkSpcOptionPage)
DDX_Check(pDX, IDC_AUTO_SORT_MENU_CHECK, m_bAutoSortWindowMenu);
DDX_Check(pDX, IDC_DISPLAY_CLOCK_ON_STATUS_BAR_CHECK, m_bDisplayClockOnStatus);
DDX_Check(pDX, IDC_DISPLAY_STATUS_BAR_CHECK, m_bDisplayStatusbar);
DDX_Text(pDX, IDC_FILE_COUNT_EDIT, m_nRecentFileCount);
DDX_Check(pDX, IDC_RELOAD_DOCS_ON_WORKSPC_OPENED_CHECK, m_bReloadDocOnOpenWorkspc);
DDX_Check(pDX, IDC_SHOW_RECENT_ITEMS_CHECK, m_bShowRecentlyUsed);
DDX_Check(pDX, IDC_USE_SCREEN_TYPE_MENUS_CHECK, m_bSRCmenus);
DDX_Text(pDX, IDC_WINDOWS_COUNT_EDIT, m_nRecentWindowCount);
DDX_Text(pDX, IDC_WORKSPACE_COUNT_EDIT, m_bRecentWorkSpcCount);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CWorkSpcOptionPage, CPropertyPage)
//{{AFX_MSG_MAP(CWorkSpcOptionPage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CWorkSpcOptionPage message handlers
BOOL CWorkSpcOptionPage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
LoadSettings();
UpdateData(FALSE);
m_wndDockingViews.SubclassDlgItem(IDC_DOCKING_VIEWS_LIST,this);
for(int i=0;m_szpDockingViews[i] != NULL;i++)
{
m_wndDockingViews.AddString(m_szpDockingViews[i]);
m_wndDockingViews.SetCheck(i,m_nCheckState[i]);
}
return TRUE;
}
void CWorkSpcOptionPage::LoadSettings()
{
CReg reg;
LPCTSTR lszpWorkSpaceOpts = _T("Options\\Workspace");
LPCTSTR lszpBase = REGISTRY_ROOT;
if(reg.Create(HKEY_CURRENT_USER,lszpBase,KEY_READ))
{
CReg edtReg;
if(edtReg.Create(reg.hKey,lszpWorkSpaceOpts,KEY_READ))
{
edtReg.LoadNumber(_T ("Display status bar"),(DWORD*)&m_bDisplayStatusbar);
edtReg.LoadNumber(_T ("Display clock on status bar"),(DWORD*)&m_bDisplayClockOnStatus);
edtReg.LoadNumber(_T ("Reload documents when opening workspace"),(DWORD*)&m_bReloadDocOnOpenWorkspc);
edtReg.LoadNumber(_T ("Automatically sort window menu"),(DWORD*)&m_bAutoSortWindowMenu);
edtReg.LoadNumber(_T ("Use screen reader compatible menus"),(DWORD*)&m_bSRCmenus);
edtReg.LoadNumber(_T ("Show recently used items on submenus"),(DWORD*)&m_bShowRecentlyUsed);
edtReg.LoadNumber(_T ("window menu cantains"),(DWORD*)&m_nRecentWindowCount);
edtReg.LoadNumber(_T ("recent file list contains"),(DWORD*)&m_nRecentFileCount);
edtReg.LoadNumber(_T ("recent workspace list contains"),(DWORD*)&m_bRecentWorkSpcCount);
CReg wkReg;
if(wkReg.Create(edtReg.hKey,_T("\\Docking views"),KEY_READ))
{
for(int i=0; i<8; i++)
edtReg.LoadNumber(m_szpDockingViews[i],(DWORD*)&m_nCheckState[i]);
wkReg.Close();
}
edtReg.Close();
}
reg.Close();
}
}
void CWorkSpcOptionPage::SaveSettings()
{
CReg reg;
LPCTSTR lszpWorkSpaceOpts = _T("Options\\Workspace");
LPCTSTR lszpBase = REGISTRY_ROOT;
if(reg.Create(HKEY_CURRENT_USER,lszpBase,KEY_WRITE))
{
CReg edtReg;
if(edtReg.Create(reg.hKey,lszpWorkSpaceOpts,KEY_WRITE))
{
VERIFY(edtReg.SaveNumber(_T ("Display status bar"),m_bDisplayStatusbar));
VERIFY(edtReg.SaveNumber(_T ("Display clock on status bar"),m_bDisplayClockOnStatus));
VERIFY(edtReg.SaveNumber(_T ("Reload documents when opening workspace"),m_bReloadDocOnOpenWorkspc));
VERIFY(edtReg.SaveNumber(_T ("Automatically sort window menu"),m_bAutoSortWindowMenu));
VERIFY(edtReg.SaveNumber(_T ("Use screen reader compatible menus"),m_bSRCmenus));
VERIFY(edtReg.SaveNumber(_T ("Show recently used items on submenus"),m_bShowRecentlyUsed));
VERIFY(edtReg.SaveNumber(_T ("window menu cantains"),m_nRecentWindowCount));
VERIFY(edtReg.SaveNumber(_T ("recent file list contains"),m_nRecentFileCount));
VERIFY(edtReg.SaveNumber(_T ("recent workspace list contains"),m_bRecentWorkSpcCount));
CReg wkReg;
if(wkReg.Create(edtReg.hKey,_T("\\Docking views"),KEY_WRITE))
{
for(int i=0; i<8; i++)
VERIFY(edtReg.SaveNumber(m_szpDockingViews[i],m_nCheckState[i]));
wkReg.Close();
}
edtReg.Close();
}
reg.Close();
}
}
void CWorkSpcOptionPage::OnOK()
{
for(int i=0; i<8; i++)
m_nCheckState[i] = m_wndDockingViews.GetCheck(i);
UpdateData();
SaveSettings();
CPropertyPage::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -