/********************************************************************/
/* Copyright (c) 2019 System fugen G.K. and Yuzi Mizuno          */
/* All rights reserved.                                             */
/********************************************************************/

/**
 * @file GLAttribSheet.h
 * @brief クラス CGLAttribSheet の宣言
 */
#if !defined(AFX_GLATTRIBSHEET_H__165BCDDF_83FF_400B_9166_3A32743A4C89__INCLUDED_)
#define AFX_GLATTRIBSHEET_H__165BCDDF_83FF_400B_9166_3A32743A4C89__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "GLColorLineAttribPage.h"

class MGAttribedGel;
class fugenDoc;

/// @class CGLAttribSheet GLAttribSheet.h "GLAttribSheet.h"
/// オブジェクトのプロパティーダイアログ。
class CGLAttribSheet : public CPropertySheet
{
	DECLARE_DYNAMIC(CGLAttribSheet)

// コンストラクション
public:
	CGLAttribSheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
	CGLAttribSheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
	virtual ~CGLAttribSheet();

	/// 初期状態
	void InitAttrib(const MGPickObjects& objs, fugenDoc* pDoc);
	void getAttrib(
		MGColor& color,
		MGLineWidth& lwidth,
		MGLineStipple& lstipple
	)const;

	/// 選択オブジェクトのプロパティーを変更する。
	//@{
	void ModifyAttrib(MGPickObject& target, fugenDoc* pDoc) const;
	void ModifyAttrib(MGPickObjects& objs, fugenDoc* pDoc) const;
	//@}

protected:
	DECLARE_MESSAGE_MAP()

	void InitContents();

private:
	CGLColorLineAttribPage m_pageColorLine;
};

#endif // !defined(AFX_GLATTRIBSHEET_H__165BCDDF_83FF_400B_9166_3A32743A4C89__INCLUDED_)
