Index: trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h
===================================================================
--- trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h	(revision 623)
+++ trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h	(revision 624)
@@ -2,5 +2,5 @@
 
 
-namespace ActiveBasic{ namespace IDE{
+namespace ActiveBasic{ namespace PM{
 
 class Project
@@ -83,3 +83,3 @@
 }}
 
-extern ActiveBasic::IDE::Project projectInfo;
+extern ActiveBasic::PM::Project projectInfo;
Index: trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h
===================================================================
--- trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h	(revision 623)
+++ trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h	(revision 624)
@@ -2,7 +2,7 @@
 
 
-namespace ActiveBasic{ namespace IDE{
-
-/*
+namespace ActiveBasic{ namespace PM{
+
+
 struct ImageReferenceType
 {
@@ -14,78 +14,160 @@
 };
 
-struct IMAGECTRLINFO
-{
+class ImageControlInfo
+{
+public:
 	ImageReferenceType::EnumType type;
 	std::string path;
-};
-*/
-
-}}
-
-
-//イメージタイプ
-#define IMGTYPE_FILE	0
-#define IMGTYPE_RES		1
-
-struct IMAGECTRLINFO{
-	int type;
-	char *path;
-};
-
-class CHILDINFO
-{
-public:
-	char *IdName;
+
+	bool IsFile() const
+	{
+		return ( type == ImageReferenceType::File );
+	}
+	bool IsResource() const
+	{
+		return ( type == ImageReferenceType::Resource );
+	}
+};
+
+class WindowInfoBase
+{
+public:
+	const std::string &GetName() const
+	{
+		return name;
+	}
+	void SetName( const std::string &name )
+	{
+		this->name = name;
+	}
+
+	const std::string &GetCaption() const
+	{
+		return caption;
+	}
+	void SetCaption( const std::string &caption )
+	{
+		this->caption = caption;
+	}
+
+	DWORD GetStyle() const
+	{
+		return style;
+	}
+	void SetStyle( DWORD style )
+	{
+		this->style = style;
+	}
+	void AddStyle( DWORD style )
+	{
+		this->style |= style;
+	}
+	void AndStyle( DWORD style )
+	{
+		this->style &= style;
+	}
+	void DeleteStyle( DWORD style )
+	{
+		this->style &= ~style;
+	}
+
+	DWORD GetExStyle() const
+	{
+		return exstyle;
+	}
+	void SetExStyle( DWORD exstyle )
+	{
+		this->exstyle = exstyle;
+	}
+	void AddExStyle( DWORD exstyle )
+	{
+		this->exstyle |= exstyle;
+	}
+
+private:
+	std::string name;
+	std::string caption;
+	DWORD style;
+	DWORD exstyle;
+
+public:
 	POINT pos;
 	SIZE size;
-	char *caption;
-	DWORD style;
-	DWORD ExStyle;
+};
+
+class ChildWindowInfo
+	: public WindowInfoBase
+{
+public:
 	int Control;
 
-	IMAGECTRLINFO ImageCtrlInfo;
-};
+	ImageControlInfo image;
+};
+typedef std::vector<ChildWindowInfo *> ChildWindowInfos;
 class WindowInfo
+	: public WindowInfoBase
 {
 public:
 	WindowInfo()
-		: caption( NULL )
-		, MenuID( NULL )
-		, IconResName( NULL )
-		, ClassName( NULL )
+		: WindowInfoBase()
 		, CallBackName( NULL )
 	{
 	}
 
-	void SetName( const std::string &name )
-	{
-		this->name = name;
-	}
-	const std::string &GetName() const
-	{
-		return name;
-	}
-
+	const std::string &GetClassName() const
+	{
+		return className;
+	}
+	void SetClassName( const std::string &className )
+	{
+		this->className = className;
+	}
+
+	const std::string &GetHandleName() const
+	{
+		return handleName;
+	}
 	void SetHandleName( const std::string &handleName )
 	{
 		this->handleName = handleName;
 	}
-	const std::string &GetHandleName() const
-	{
-		return handleName;
+
+	const std::string &GetMenuIdName() const
+	{
+		return menuIdName;
+	}
+	void SetMenuIdName( const std::string &menuIdName )
+	{
+		this->menuIdName = menuIdName;
+	}
+	bool HasMenu() const
+	{
+		return !menuIdName.empty();
+	}
+
+	int GetBackgroundColor() const
+	{
+		return backgroundColor;
+	}
+	void SetBackgroundColor( int backgroundColor )
+	{
+		this->backgroundColor = backgroundColor;
+	}
+
+	const std::string &GetIconResourceName() const
+	{
+		return iconResourceName;
+	}
+	void SetIconResourceName( const std::string &iconResourceName )
+	{
+		this->iconResourceName = iconResourceName;
+	}
+	bool HasIcon() const
+	{
+		return !iconResourceName.empty();
 	}
 
 	//ウィンドウデータ
-	POINT pos;
-	SIZE size;
-	char *caption;
-	DWORD style;
-	DWORD ExStyle;
-	char *MenuID;
-	int id;
-	int bgColor;
 	LOGFONT LogFont;
-	char *IconResName;
-	char *ClassName;
 	char *CallBackName;
 	long type;
@@ -93,5 +175,5 @@
 
 	//子ウィンドウ管理
-	std::vector<CHILDINFO *> childWindowInfos;
+	ChildWindowInfos childWindowInfos;
 
 	//ツリー項目
@@ -99,6 +181,9 @@
 
 private:
-	std::string name;
+	std::string className;
 	std::string handleName;
+	std::string menuIdName;
+	int backgroundColor;
+	std::string iconResourceName;
 };
 
@@ -133,2 +218,5 @@
 	}
 };
+
+
+}}
