📄 formatoptionpage.cpp
字号:
// FormatOptionPage.cpp : implementation file
//
#include "stdafx.h"
#include "VisualJava.h"
#include "FormatOptionPage.h"
#include "registry.h"
#include "VisualJavaDoc.h"
#include "VisualJavaView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFormatOptionPage property page
#define CPropertyPage CSAPrefsSubDlg
#define NUMROWS 11
#define NUMCOLS 2
const UINT wm_msgFormatUpdate = ::RegisterWindowMessage(_T("ADDC0ADE-BC54-4988-8043-140BBC2B9AC4"));
struct forebackColors
{
DWORD m_dwForeGrnd;
DWORD m_dwBackGrnd;
forebackColors()
{
m_dwForeGrnd = 0;
m_dwBackGrnd = 0;
}
};
struct attributeColorMap
{
LPCTSTR m_lszpName;
forebackColors m_cfColors;
};
#define mapARRAY CArray<attributeColorMap*,attributeColorMap*>
struct windowType
{
mapARRAY m_lColorAttrItems;
int m_nFontSize;
CString m_lszpFont;
windowType()
{
}
~windowType()
{
int nCount = m_lColorAttrItems.GetSize();
for(int I=0; I<nCount; I++)
delete m_lColorAttrItems[I];
}
};
static LPCTSTR m_szplColorToTextmap[]=
{
m_szpText,
m_szpTextSel,
m_szpCurErrTag,
m_szpBkMrk,
m_szpBrkPt,
m_szpCurSt,
m_szpSelMar,
m_szpKeyWd,
m_szpCom,
m_szpNum,
m_szpStr,
m_szpOp,
m_szpHtmlEleName,
m_szpHtmlAttrName,
m_szpHtmlAttrVal,
m_szpHtmlCom,
m_szpHtmlEnt,
m_szpHtmlTagDel,
m_szpHtmlStr,
m_szpHtmlTagTxt,
m_szpHtmlOp,
m_szpHtmlSsS,
m_szpWzCode,
m_szpUserDefKeywd,
m_szpValHglt,
m_szpMemHglht,
m_szpCallHglht,
m_szpSupCd,
m_szpVarHglht,
m_szpWatchHglht,
m_szpAssemCode,
NULL
};
static COLORREF m_nDefaultColors[31][2] =
{
{0x000000,0xffffff},//TEXT_COLOR
{0xffffff,0x000000},//TEXT_SELECTION_COLOR
{0xFFFFFF,0xffffff},//CUR_ERR_TAG_COLOR
{0x800000,0xffffff},//BOOK_MARK_COLOR
{0x008000,0xffffff},//BREAK_POINT_COLOR
{0x228b22,0xffffff},//CUR_STATEMENT_COLOR
{0x4b0082,0xffffff},//SEL_MARGIN_COLOR
{0xff0000,0xffffff},//KEYWORD_COLOR
{0x00ff00,0xffffff},//COMMENT_COLOR
{0xa9a9a9,0xffffff},//NUMBER_COLOR
{0x0000ff,0xffffff},//STRING_COLOR
{0xff4500,0xffffff},//OPERATOR_COLOR
{0x00ff7f,0xffffff},//HTML_ELENAME_COLOR
{0xffff00,0xffffff},//HTML_ATTRNAME_COLOR
{0x4169e1,0xffffff},//HTML_ATTRVAL_COLOR
{0xee82ee,0xffffff},//HTML_COMMENT_COLOR
{0xb0e0e6,0xffffff},//HTML_ENTITY_COLOR
{0xc21a84,0xffffff},//HTML_TAG_DEL_COLOR
{0xbde245,0xffffff},//HTML_STRING_COLOR
{0x456378,0xffffff},//HTML_TAG_TEXT_COLOR
{0x7c5e2f,0xffffff},//HTML_OPERATOR_COLOR
{0x2ab35c,0xffffff},//HTML_SsS_COLOR
{0x237954,0xffffff},//WIZARD_CODE_COLOR
{0xff0000,0xffffff},//USER_DEFINED_KEYWD_COLOR
{0xff0000,0xffffff},//m_szpValHglt
{0xff0000,0xffffff},//m_szpMemHglht
{0xff0000,0xffffff},//m_szpCallHglht
{0xff0000,0xffffff},//m_szpSupCd
{0xff0000,0xffffff},//m_szpVarHglht
{0xff0000,0xffffff},//m_szpWatchHglht
{0xff0000,0xffffff}//m_szpAssemCode
};
LPCTSTR CFormatOptionPage::m_szpAllColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpCurErrTag,
m_szpBkMrk,
m_szpBrkPt,
m_szpCurSt,
m_szpSelMar,
m_szpKeyWd,
m_szpCom,
m_szpNum,
m_szpStr,
m_szpOp,
m_szpHtmlEleName,
m_szpHtmlAttrName,
m_szpHtmlAttrVal,
m_szpHtmlCom,
m_szpHtmlEnt,
m_szpHtmlTagDel,
m_szpHtmlStr,
m_szpHtmlTagTxt,
m_szpHtmlOp,
m_szpHtmlSsS,
m_szpWzCode,
m_szpUserDefKeywd,
m_szpValHglt,
m_szpMemHglht,
m_szpCallHglht,
m_szpSupCd,
m_szpVarHglht,
m_szpWatchHglht,
m_szpAssemCode,
NULL
};
LPCTSTR CFormatOptionPage::m_szpSourceColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpCurErrTag,
m_szpBkMrk,
m_szpBrkPt,
m_szpCurSt,
m_szpSelMar,
m_szpKeyWd,
m_szpCom,
m_szpNum,
m_szpStr,
m_szpOp,
m_szpHtmlEleName,
m_szpHtmlAttrName,
m_szpHtmlAttrVal,
m_szpHtmlCom,
m_szpHtmlEnt,
m_szpHtmlTagDel,
m_szpHtmlStr,
m_szpHtmlTagTxt,
m_szpHtmlOp,
m_szpHtmlSsS,
m_szpWzCode,
m_szpUserDefKeywd,
NULL
};
LPCTSTR CFormatOptionPage::m_szpDebugColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpValHglt,
m_szpMemHglht,
m_szpCallHglht,
m_szpSupCd,
m_szpVarHglht,
m_szpWatchHglht,
m_szpAssemCode,
NULL
};
LPCTSTR CFormatOptionPage::m_szpBrowserColorItems[] =
{
m_szpText,
m_szpTextSel,
NULL
};
LPCTSTR CFormatOptionPage::m_szpOutPutColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpCurErrTag,
m_szpBkMrk,
NULL
};
LPCTSTR CFormatOptionPage::m_szpRegColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpValHglt,
NULL
};
LPCTSTR CFormatOptionPage::m_szpMemColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpMemHglht,
NULL
};
LPCTSTR CFormatOptionPage::m_szpCallWndColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpCallHglht,
m_szpSupCd,
NULL
};
LPCTSTR CFormatOptionPage::m_szpVarWndColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpVarHglht,
NULL
};
LPCTSTR CFormatOptionPage::m_szpWatchWndColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpWatchHglht,
NULL
};
LPCTSTR CFormatOptionPage::m_szpDisAssemColorItems[] =
{
m_szpText,
m_szpTextSel,
m_szpAssemCode,
NULL
};
LPCTSTR* CFormatOptionPage::m_pBases[] =
{
CFormatOptionPage::m_szpAllColorItems,
CFormatOptionPage::m_szpSourceColorItems,
CFormatOptionPage::m_szpDebugColorItems,
CFormatOptionPage::m_szpBrowserColorItems,
CFormatOptionPage::m_szpOutPutColorItems,
NULL,
CFormatOptionPage::m_szpRegColorItems,
CFormatOptionPage::m_szpMemColorItems,
CFormatOptionPage::m_szpCallWndColorItems,
CFormatOptionPage::m_szpVarWndColorItems,
CFormatOptionPage::m_szpWatchWndColorItems,
CFormatOptionPage::m_szpDisAssemColorItems,
};
LPCTSTR* CFormatOptionPage::m_szpWindows[NUMROWS][2] =
{
{&m_lszpAllWindow,CFormatOptionPage::m_szpAllColorItems},
{&m_lszpSrcWindow,CFormatOptionPage::m_szpSourceColorItems},
{&m_lszpDebugWnd,CFormatOptionPage::m_szpDebugColorItems},
{&m_lszpSrcBrowser,CFormatOptionPage::m_szpBrowserColorItems},
{&m_lszpWorkspcWnd,NULL},
{&m_lszpRegWindow,CFormatOptionPage::m_szpRegColorItems},
{&m_lszpMemWindow,CFormatOptionPage::m_szpMemColorItems},
{&m_lszpCallWindow,CFormatOptionPage::m_szpCallWndColorItems},
{&m_lszpVarWindow,CFormatOptionPage::m_szpVarWndColorItems},
{&m_lszpWatchWindow,CFormatOptionPage::m_szpWatchWndColorItems},
{&m_lszpDisAssemWnd,CFormatOptionPage::m_szpDisAssemColorItems}
};
COLORREF m_nAppChoosenColors[] =
{
0x000000,
0xffffff,
0x555555,
0x800000,
0x008000,
0x228b22,
0x4b0082,
0x000080,
0x808000,
0xa9a9a9,
0x008b8b,
0xff4500,
0x00ff7f,
0xffff00,
0x4169e1,
0xee82ee,
0xb0e0e6
};
void getDefaultColors(LPCTSTR lszpText,forebackColors& nColors)
{
for(int I=0; m_szplColorToTextmap[I] != NULL; I++)
{
if(strcmp(lszpText,m_szplColorToTextmap[I]) == 0)
{
nColors.m_dwForeGrnd = m_nDefaultColors[I][0];
nColors.m_dwBackGrnd = m_nDefaultColors[I][1];
return;
}
}
}
IMPLEMENT_DYNCREATE(CFormatOptionPage, CPropertyPage)
CFormatOptionPage::CFormatOptionPage(): CSAPrefsSubDlg(CFormatOptionPage::IDD)
{
//{{AFX_DATA_INIT(CFormatOptionPage)
m_szpFont = _T("");
//}}AFX_DATA_INIT
m_nfont =0;
m_nfontSize =0;
m_nforegrd =0;
m_nbkgrd =0;
}
CFormatOptionPage::~CFormatOptionPage()
{
}
void CFormatOptionPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFormatOptionPage)
DDX_Control(pDX, IDC_FONT_SIZES_COMBO, m_wndFontSize);
DDX_Control(pDX, IDC_FONTS_COMBO, m_wndFonts);
DDX_Control(pDX, IDC_ITEMS_LIST, m_wndItems);
DDX_Control(pDX, IDC_WINDOWS_LIST, m_wndWindowList);
DDX_CBString(pDX, IDC_FONTS_COMBO, m_szpFont);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFormatOptionPage, CPropertyPage)
//{{AFX_MSG_MAP(CFormatOptionPage)
ON_LBN_SELCHANGE(IDC_WINDOWS_LIST, OnSelchangeWindowsList)
ON_CBN_SELCHANGE(IDC_COMBO_FOREGRND, OnSelchangeComboForegrnd)
ON_CBN_SELCHANGE(IDC_COMBO_BACKGRND, OnSelchangeComboBackgrnd)
ON_CBN_SELCHANGE(IDC_FONT_SIZES_COMBO, OnSelchangeFontSizesCombo)
ON_CBN_SELCHANGE(IDC_FONTS_COMBO, OnSelchangeFontsCombo)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -