Index: trunk/ab5.0/abdev/abdev/include/ProjectManager.h
===================================================================
--- trunk/ab5.0/abdev/abdev/include/ProjectManager.h	(revision 613)
+++ 	(revision )
@@ -1,95 +1,0 @@
-#pragma once
-
-struct PROJECTINFO{
-	DWORD dwModuleType;
-
-	char name[MAX_PATH];
-	char dir[MAX_PATH];
-
-	DWORD dwVersion;
-
-	CDBFileInfo *pobj_DBFileInfo;
-
-	char ResourceFileName[MAX_PATH];
-
-	int NumberOfMenu;
-	MENU_INFO *pMenuInfo;
-	HTREEITEM hMenuTreeItem;
-
-	std::vector<WINDOW_INFO> windowInfos;
-	HTREEITEM hWindowTreeItem;
-
-	RESOURCEINFO res;
-
-	DWORD dwOption;
-	char lpszOutput_Release[MAX_PATH];
-	char lpszOutput_Debug[MAX_PATH];
-
-	//マニフェスト
-	char szManifestPath[MAX_PATH];
-
-	//デバッグ情報
-	char szCmdLine[8192];
-	char szExePath[MAX_PATH];
-
-	//ブレークポイント情報
-	CDBBreakPoint *pobj_DBBreakPoint;
-
-	_int8 ModifyOfMaterial;
-	_int8 ModifuOfResource;
-	_int8 modify;
-};
-
-namespace ActiveBasic{ namespace IDE{
-
-class Project
-{
-	std::string name;
-	ActiveBasic::Common::TargetModuleType::EnumType moduleType;
-public:
-	void Open( const std::string &projectFileName );
-	void Close() const;
-	void Save() const;
-};
-typedef std::vector<Project *> Projects;
-
-class ProjectManager
-{
-	Projects projects;
-	Project *pCurrentProject;
-public:
-	ProjectManager()
-		: pCurrentProject( NULL )
-	{
-	}
-	~ProjectManager()
-	{
-		if( IsOpenedProject() )
-		{
-			throw;
-		}
-	}
-	const Project &GetCurrentProject() const
-	{
-		return *pCurrentProject;
-	}
-	Project &GetCurrentProject()
-	{
-		return *pCurrentProject;
-	}
-
-	bool IsOpenedProject() const
-	{
-		return !projects.empty();
-	}
-	void OpenProject( const std::string &projectFileName );
-	void CloseProject( const std::string &projectName );
-
-	void CloseAllProjects();
-};
-
-
-}}
-
-extern ActiveBasic::IDE::ProjectManager projectManager;
-extern PROJECTINFO ProjectInfo;
Index: trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h
===================================================================
--- trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h	(revision 615)
+++ trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h	(revision 615)
@@ -0,0 +1,95 @@
+#pragma once
+
+struct PROJECTINFO{
+	DWORD dwModuleType;
+
+	char name[MAX_PATH];
+	char dir[MAX_PATH];
+
+	DWORD dwVersion;
+
+	CDBFileInfo *pobj_DBFileInfo;
+
+	char ResourceFileName[MAX_PATH];
+
+	int NumberOfMenu;
+	MENU_INFO *pMenuInfo;
+	HTREEITEM hMenuTreeItem;
+
+	WindowInfos windowInfos;
+	HTREEITEM hWindowTreeItem;
+
+	RESOURCEINFO res;
+
+	DWORD dwOption;
+	char lpszOutput_Release[MAX_PATH];
+	char lpszOutput_Debug[MAX_PATH];
+
+	//マニフェスト
+	char szManifestPath[MAX_PATH];
+
+	//デバッグ情報
+	char szCmdLine[8192];
+	char szExePath[MAX_PATH];
+
+	//ブレークポイント情報
+	CDBBreakPoint *pobj_DBBreakPoint;
+
+	_int8 ModifyOfMaterial;
+	_int8 ModifuOfResource;
+	_int8 modify;
+};
+
+namespace ActiveBasic{ namespace IDE{
+
+class Project
+{
+	std::string name;
+	ActiveBasic::Common::TargetModuleType::EnumType moduleType;
+public:
+	void Open( const std::string &projectFileName );
+	void Close() const;
+	void Save() const;
+};
+typedef std::vector<Project *> Projects;
+
+class ProjectManager
+{
+	Projects projects;
+	Project *pCurrentProject;
+public:
+	ProjectManager()
+		: pCurrentProject( NULL )
+	{
+	}
+	~ProjectManager()
+	{
+		if( IsOpenedProject() )
+		{
+			throw;
+		}
+	}
+	const Project &GetCurrentProject() const
+	{
+		return *pCurrentProject;
+	}
+	Project &GetCurrentProject()
+	{
+		return *pCurrentProject;
+	}
+
+	bool IsOpenedProject() const
+	{
+		return !projects.empty();
+	}
+	void OpenProject( const std::string &projectFileName );
+	void CloseProject( const std::string &projectName );
+
+	void CloseAllProjects();
+};
+
+
+}}
+
+extern ActiveBasic::IDE::ProjectManager projectManager;
+extern PROJECTINFO ProjectInfo;
Index: trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h
===================================================================
--- trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h	(revision 615)
+++ trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h	(revision 615)
@@ -0,0 +1,116 @@
+#pragma once
+
+
+namespace ActiveBasic{ namespace IDE{
+
+/*
+struct ImageReferenceType
+{
+	enum EnumType
+	{
+		File = 0,
+		Resource,
+	};
+};
+
+struct IMAGECTRLINFO
+{
+	ImageReferenceType::EnumType type;
+	std::string path;
+};
+*/
+
+}}
+
+
+//イメージタイプ
+#define IMGTYPE_FILE	0
+#define IMGTYPE_RES		1
+
+struct IMAGECTRLINFO{
+	int type;
+	char *path;
+};
+
+struct CHILDINFO{
+	char *IdName;
+	POINT pos;
+	SIZE size;
+	char *caption;
+	DWORD style;
+	DWORD ExStyle;
+	int Control;
+
+	IMAGECTRLINFO ImageCtrlInfo;
+};
+class WindowInfo
+{
+public:
+	WindowInfo()
+		: name( NULL )
+		, HandleName( NULL )
+		, caption( NULL )
+		, MenuID( NULL )
+		, IconResName( NULL )
+		, ClassName( NULL )
+		, CallBackName( NULL )
+	{
+	}
+
+	//ウィンドウデータ
+	char *name;
+	char *HandleName;
+	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;
+	char *filepath;
+
+	//子ウィンドウ管理
+	int NumberOfChildWindows;
+	CHILDINFO *pChildInfo;
+
+	//ツリー項目
+	HTREEITEM hTreeItem;
+};
+
+class WindowInfos
+	: public std::vector<WindowInfo *>
+{
+public:
+	WindowInfos()
+	{
+	}
+	~WindowInfos()
+	{
+		Clear();
+	}
+
+	void Clear()
+	{
+		WindowInfos &windowInfos = *this;
+		BOOST_FOREACH( WindowInfo *pWindowInfo, windowInfos )
+		{
+			delete pWindowInfo;
+		}
+		this->clear();
+	}
+	void Erase( int index )
+	{
+		WindowInfos::iterator it = this->begin();
+		for( int i=0; i!=index ;i++, it++ )
+		{
+			delete *it;
+		}
+		this->erase( it );
+	}
+};
