void Style::AddBaseStyle(Style* style)
{
	iBaseStyles.Add(new CString(style->iStyleName));

	iForeGndColor.AddBaseItem(&style->iForeGndColor);
	iBackGndColor.AddBaseItem(&style->iBackGndColor);
	iSelectedForeGndColor.AddBaseItem(&style->iSelectedForeGndColor);
	iSelectedBackGndColor.AddBaseItem(&style->iSelectedBackGndColor);
	iBoldColor.AddBaseItem(&style->iBoldColor);
	iUnderlineColor.AddBaseItem(&style->iUnderlineColor);
	iBoldUnderlineColor.AddBaseItem(&style->iBoldUnderlineColor);
	iExpandTabs.AddBaseItem(&style->iExpandTabs);
	iHighBitFilter.AddBaseItem(&style->iHighBitFilter);
	iTextWithLayout.AddBaseItem(&style->iTextWithLayout);
	iTabWidth.AddBaseItem(&style->iTabWidth);
	iDisplayMode.AddBaseItem(&style->iDisplayMode);
	iExternalFilterCmd.AddBaseItem(&style->iExternalFilterCmd);
	iFilterEnabled.AddBaseItem(&style->iFilterEnabled);
	iEditor.AddBaseItem(&style->iEditor);
	iTopLineFormat.AddBaseItem(&style->iTopLineFormat);
	iWordBreak.AddBaseItem(&style->iWordBreak);
	iSyntaxHighlightEnabled.AddBaseItem(&style->iSyntaxHighlightEnabled);
	iSymbolsColor.AddBaseItem(&style->iSymbolsColor);
	iCommentColor.AddBaseItem(&style->iCommentColor);
	iStringColor.AddBaseItem(&style->iStringColor);
	iReservedColor.AddBaseItem(&style->iReservedColor);
	iPreprocessorColor.AddBaseItem(&style->iPreprocessorColor);
	iNumberColor.AddBaseItem(&style->iNumberColor);
	iIdentColor.AddBaseItem(&style->iIdentColor);
	iSymbols.AddBaseItem(&style->iSymbols);
	iString.AddBaseItem(&style->iString);
	iEscape.AddBaseItem(&style->iEscape);
	iNumericPrefix.AddBaseItem(&style->iNumericPrefix);
	iCaseSensitive.AddBaseItem(&style->iCaseSensitive);
	iCaseConvert.AddBaseItem(&style->iCaseConvert);
	iCommentColumn.AddBaseItem(&style->iCommentColumn);
	iLineContinuation.AddBaseItem(&style->iLineContinuation);

	// extensions don't inherit
	// iExtensions.AddBaseItem(&style->iExtensions);

	iOpenComment.AddBaseItem(&style->iOpenComment);
	iCloseComment.AddBaseItem(&style->iCloseComment);
	iEolComment.AddBaseItem(&style->iEolComment);
	iOpenPreprocessor.AddBaseItem(&style->iOpenPreprocessor);
	iClosePreprocessor.AddBaseItem(&style->iClosePreprocessor);

	// Reserved words have to use a special technique to keep recognition fast.
	// All reserved words are directly copied into the inheriting styles
	// array but inherited ones are marked as such.

	if (style->iReserved.Size() > 0)
		{
		for (int i=0; i < style->iReserved.Size(); i++)
			AddReservedWord(style->iReserved[i].iKeyword, TRUE);
		}
}
示例#2
0
/*
** 名字:ctor
** 说明:
**
*/
Scanner::Scanner() 
	:
m_bFileOpened( 0 ),
m_pFileReader( NULL ),
m_pFSM( NULL )
//m_otherHandlerCB( this, &Scanner::otherHandler ),
//m_numHandlerCB( this, &Scanner::numHandler ),
//m_assignHanderCB( this, &Scanner::assignHandler ),
//m_charGetterCB( this, &Scanner::GetChar ),
//m_errorHandlerCB( this, &Scanner::errorHandler ),
//m_commentHandlerCB( this, &Scanner::commentHandler ),
//m_whitespaceHandlerCB( this, &Scanner::whitespaceHandler ),
//m_IDHandlerCB( this, &Scanner::IDHandler )
{
	m_pFileReader = new FileReader;
	m_pFSM = new StateMachine;	

	AddHandlers();
	AddReservedWord();


}