text: ﻿/*!	@file
  	@brief ブロックコメントデリミタを管理する
  
  	@author Yazaki
  	@date 2002/09/17 新規作成
  */
  /*
  	Copyright (C) 2002, Yazaki
  	Copyright (C) 2005, Moca
  
  	This source code is designed for sakura editor.
  	Please contact the copyright holder to use this code for other purpose.
  */
  
  #ifndef _CBLOCKCOMMENT_H_
  #define _CBLOCKCOMMENT_H_
  
  //	sakura
  #include "_main/global.h"
  
  enum ECommentType{
  	COMMENT_TYPE_0	= 0,
  	COMMENT_TYPE_1	= 1,
  };
  
  /*-----------------------------------------------------------------------
  クラスの宣言
  -----------------------------------------------------------------------*/
  /*! ブロックコメントデリミタを管理する
  
  	@note CBlockCommentGroupは、共有メモリSTypeConfigに含まれるので、メンバ変数は常に実体を持っていなければならない。
  */
  #define BLOCKCOMMENT_NUM	2
  #define BLOCKCOMMENT_BUFFERSIZE	16
  
  //	2005.11.10 Moca アクセス関数追加
  class CBlockComment{
  public:
  	//生成と破棄
  	CBlockComment();
  
  	//設定
  	void SetBlockCommentRule( const wchar_t* pszFrom, const wchar_t* pszTo );	//	行コメントデリミタをコピーする
  
  	//判定
  	bool Match_CommentFrom( int nPos, const CStringRef& cStr ) const;	//	行コメントに値するか確認する
  	int Match_CommentTo( int nPos, const CStringRef& cStr ) const;	//	行コメントに値するか確認する
  
  	//取得
  	const wchar_t* getBlockCommentFrom() const{ return m_szBlockCommentFrom; }
  	const wchar_t* getBlockCommentTo() const{ return m_szBlockCommentTo; }
  	int getBlockFromLen() const { return m_nBlockFromLen; }
  	int getBlockToLen() const { return m_nBlockToLen; }
  
  private:
  	wchar_t	m_szBlockCommentFrom[BLOCKCOMMENT_BUFFERSIZE]; //!< ブロックコメントデリミタ(From)
  	wchar_t	m_szBlockCommentTo[BLOCKCOMMENT_BUFFERSIZE];   //!< ブロックコメントデリミタ(To)
  	int		m_nBlockFromLen;
  	int		m_nBlockToLen;
  };
  
  ///////////////////////////////////////////////////////////////////////
  #endif /* _CBLOCKCOMMENT_H_ */
  
  