Skip to content

Commit

Permalink
CLineComment::getLineComment メソッドに const 修飾子を付加
Browse files Browse the repository at this point in the history
CColor_LineComment::Disp と CColor_BlockComment::Disp メソッドの実装を更新

タイプ別設定 『カラー』プロパティのコメントのリストアイテムのチェックが付いていても始点・終端記号が入力されていない場合は false を返すようにした。
リストアイテムのチェックはデフォルト設定では付いているので、従来はコメントの始点・終端記号が空の場合でも true を返していた。

CColorStrategyPool::OnChangeSetting で Disp メソッドが false を返すと 色分け表示対象外になり
CColorStrategyPool::CheckColorMODE において色開始処理が呼ばれない為にレイアウト処理の負荷が軽くなる。
  • Loading branch information
beru committed Sep 22, 2019
1 parent 0925433 commit a5cd026
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
2 changes: 1 addition & 1 deletion sakura_core/doc/CLineComment.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class CLineComment
void CopyTo( const int n, const wchar_t* buffer, int nCommentPos ); // 行コメントデリミタをコピーする
bool Match( int nPos, const CStringRef& cStr ) const; // 行コメントに値するか確認する

const wchar_t* getLineComment( const int n ){
const wchar_t* getLineComment( const int n ) const{
return m_pszLineComment[n];
}
int getLineCommentPos( const int n ) const {
Expand Down
21 changes: 19 additions & 2 deletions sakura_core/view/colors/CColor_Comment.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,18 @@ class CColor_LineComment : public CColorStrategy{
virtual void InitStrategyStatus(){}
virtual bool BeginColor(const CStringRef& cStr, int nPos);
virtual bool EndColor(const CStringRef& cStr, int nPos);
virtual bool Disp() const { return m_pTypeData->m_ColorInfoArr[COLORIDX_COMMENT].m_bDisp; }
virtual bool Disp() const {
// タイプ別設定 『カラー』プロパティのコメントのリストアイテムのチェックが付いているか
if (!m_pTypeData->m_ColorInfoArr[COLORIDX_COMMENT].m_bDisp)
return false;
// 行型コメントの始点記号が入力されているか
auto& lineComment = m_pTypeData->m_cLineComment;
for (int i = 0; i < COMMENT_DELIMITER_NUM; ++i) {
if (wcslen(lineComment.getLineComment(i)))
return true;
}
return false;
}
};

// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- //
Expand All @@ -57,7 +68,13 @@ class CColor_BlockComment : public CColorStrategy{
virtual void InitStrategyStatus(){ m_nCOMMENTEND = 0; }
virtual bool BeginColor(const CStringRef& cStr, int nPos);
virtual bool EndColor(const CStringRef& cStr, int nPos);
virtual bool Disp() const { return m_pTypeData->m_ColorInfoArr[COLORIDX_COMMENT].m_bDisp; }
virtual bool Disp() const {
// タイプ別設定 『カラー』プロパティのコメントのリストアイテムのチェックが付いているか
if (!m_pTypeData->m_ColorInfoArr[COLORIDX_COMMENT].m_bDisp)
return false;
// ブロック型の始点・終端記号が入力されているか
return m_pcBlockComment->getBlockFromLen() > 0 && m_pcBlockComment->getBlockToLen();
}
private:
EColorIndexType m_nType;
const CBlockComment* m_pcBlockComment;
Expand Down

0 comments on commit a5cd026

Please sign in to comment.