⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formatoptionpage.cpp

📁 用bcg库编写的java IDE 源码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -