source: dev/trunk/ab5.0/abdev/abdev/include/ProjectManager/WindowManager.h@ 616

Last change on this file since 616 was 616, checked in by dai_9181, 16 years ago

CHILDINFOの管理方法をstd::vectorに変更。

File size: 1.6 KB
Line 
1#pragma once
2
3
4namespace ActiveBasic{ namespace IDE{
5
6/*
7struct ImageReferenceType
8{
9 enum EnumType
10 {
11 File = 0,
12 Resource,
13 };
14};
15
16struct IMAGECTRLINFO
17{
18 ImageReferenceType::EnumType type;
19 std::string path;
20};
21*/
22
23}}
24
25
26//イメージタイプ
27#define IMGTYPE_FILE 0
28#define IMGTYPE_RES 1
29
30struct IMAGECTRLINFO{
31 int type;
32 char *path;
33};
34
35class CHILDINFO
36{
37public:
38 char *IdName;
39 POINT pos;
40 SIZE size;
41 char *caption;
42 DWORD style;
43 DWORD ExStyle;
44 int Control;
45
46 IMAGECTRLINFO ImageCtrlInfo;
47};
48class WindowInfo
49{
50public:
51 WindowInfo()
52 : name( NULL )
53 , HandleName( NULL )
54 , caption( NULL )
55 , MenuID( NULL )
56 , IconResName( NULL )
57 , ClassName( NULL )
58 , CallBackName( NULL )
59 {
60 }
61
62 //ウィンドウデータ
63 char *name;
64 char *HandleName;
65 POINT pos;
66 SIZE size;
67 char *caption;
68 DWORD style;
69 DWORD ExStyle;
70 char *MenuID;
71 int id;
72 int bgColor;
73 LOGFONT LogFont;
74 char *IconResName;
75 char *ClassName;
76 char *CallBackName;
77 long type;
78 char *filepath;
79
80 //子ウィンドウ管理
81 std::vector<CHILDINFO *> childWindowInfos;
82
83 //ツリー項目
84 HTREEITEM hTreeItem;
85};
86
87class WindowInfos
88 : public std::vector<WindowInfo *>
89{
90public:
91 WindowInfos()
92 {
93 }
94 ~WindowInfos()
95 {
96 }
97
98 void Clear()
99 {
100 WindowInfos &windowInfos = *this;
101 BOOST_FOREACH( WindowInfo *pWindowInfo, windowInfos )
102 {
103 delete pWindowInfo;
104 }
105 this->clear();
106 }
107 void Erase( int index )
108 {
109 WindowInfos::iterator it = this->begin();
110 for( int i=0; i!=index ;i++, it++ )
111 {
112 delete *it;
113 }
114 this->erase( it );
115 }
116};
Note: See TracBrowser for help on using the repository browser.