JunkBox_Lib++ (for Windows) 1.10.1
Loading...
Searching...
No Matches
ClassBox.h
Go to the documentation of this file.
1
2#ifndef __JBXL_CPP_CLASS_BOX_H_
3#define __JBXL_CPP_CLASS_BOX_H_
4
5
16#include "common++.h"
17#include "tools++.h"
18
19
20
21//
22namespace jbxl {
23
24
25
28class CVFrame;
29
30extern CVFrame* GLFrame;
31
37{
38public:
40 virtual ~CVFrame() {}
41};
42
43
45inline void SetGlobalFrame(CVFrame* frm) { GLFrame = frm;}
46
48inline void ClearGlobalFrame() { GLFrame = NULL;}
49
50
51
54class CVDisplay;
55
56extern CVDisplay* GLDisplay;
57
63{
64public:
65 const char* title;
66
67public:
68 CVDisplay() { title = NULL;}
69 virtual ~CVDisplay() {}
70};
71
72
74inline void SetGlobalDisplay(CVDisplay* disp) { GLDisplay = disp;}
75
77inline void ClearGlobalDisplay() { GLDisplay = NULL;}
78
79
80
83class CVTextDocument;
84
85extern CVTextDocument* GLTextDocument;
86
92{
93public:
94
95public:
97 virtual ~CVTextDocument() {}
98
99protected:
101
102public:
103 virtual void lprintBuffer(Buffer, int) {} // ロック付き. int mode
104 virtual void lprintString(char*, int) {}
105 virtual void lprintFormat(char*, ...) {}
106 virtual void lfprintFormat(int, char*, ...) {}
107
108 virtual void printBuffer(Buffer, int) {} // ロックなし
109 virtual void printString(char*, int) {}
110 virtual void printFormat(char*, ...) {}
111 virtual void fprintFormat(int, char*, ...) {}
112
113 virtual void lock(void) { m_locked = TRUE;}
114 virtual void unlock(void) { m_locked = FALSE;}
115};
116
117
120
123
124
125
128class CVCounter;
129
130extern CVCounter* GLCounter;
131
138{
139public:
140 int max;
141 int pos;
142 int fill;
143 bool cancel;
144 bool start;
145 const char* title;
146
147public:
149 max = 0;
150 pos = 0;
151 fill = 0;
152 title = NULL;
153 cancel = false;
154 start = false;
155 }
156
157 virtual ~CVCounter() {}
158
159 virtual void Init() {max=pos=fill=0; title=""; cancel=false;};
160 virtual void Clear() {Init();}
161 virtual void SetMax(int m) {max = fill = m;}
162 virtual void SetFill(int m){fill = m;}
163 virtual void SetPos(int p) {pos = p;}
164 virtual void PutFill() {pos = fill;}
165 virtual int GetMax() {return max;}
166 virtual int GetFill() {return fill;}
167 virtual int GetPos() {return pos;}
168
169 virtual void Start(int m=100, char* tn=NULL) {SetMax(m); title=tn; start=true;}
170 virtual void Stop() {max=pos=fill=0; title=NULL; start=false;}
171 virtual void StepIt(int n=1) {pos+=n;}
172
173 virtual bool isCanceled() {return cancel;}
174 virtual void ResetRate(int n, int m) {fill=m; pos+=m-n;}
175 virtual void SetTitle(char* tn) {title=tn;}
176
177 virtual CVCounter* GetUsableCounter() {return this;}
178 virtual CVCounter* MakeChildCounter(int n) {ResetRate(n,n); SetMax(n); return this;}
179 virtual void DeleteChildCounter() {}
180
181};
182
183
186{
187 if (GLCounter!=NULL) return GLCounter->GetUsableCounter();
188 else return NULL;
189}
190
192inline void SetGlobalCounter(CVCounter* counter) { GLCounter = counter;}
193
195inline void ClearGlobalCounter() { GLCounter = NULL;}
196
197
198
199
200} // namespace
201
202
203
204#endif
virtual void StepIt(int n=1)
カウンタのメモリを増やす
Definition ClassBox.h:171
virtual ~CVCounter()
Definition ClassBox.h:157
virtual void SetMax(int m)
カウンタの最大値(最終目標)を設定
Definition ClassBox.h:161
virtual int GetPos()
カウンタの現在位置を得る
Definition ClassBox.h:167
virtual void DeleteChildCounter()
子カウンタの削除(有効領域の無効化)
Definition ClassBox.h:179
virtual void Start(int m=100, char *tn=NULL)
カウンタのスタート & タイトル定義
Definition ClassBox.h:169
int pos
カウンタの値
Definition ClassBox.h:141
int fill
ローカルターゲット(取り敢えず到達すべき目標)
Definition ClassBox.h:142
virtual void Clear()
Definition ClassBox.h:160
virtual int GetFill()
取り敢えずの目標(最短目標)を得る.
Definition ClassBox.h:166
virtual void Init()
Definition ClassBox.h:159
virtual void ResetRate(int n, int m)
nの目盛り幅を mで読み替える.ここでの定義はあまり意味は無い.
Definition ClassBox.h:174
virtual CVCounter * GetUsableCounter()
現在使用可能な目盛りの有効領域を確保
Definition ClassBox.h:177
virtual CVCounter * MakeChildCounter(int n)
子カウンタの作成(有効領域を再定義)
Definition ClassBox.h:178
const char * title
Definition ClassBox.h:145
virtual void PutFill()
取り敢えずの目標(最短目標)までカウンタを進める.
Definition ClassBox.h:164
bool start
カウンタはスタートしている
Definition ClassBox.h:144
virtual bool isCanceled()
カウンタがオペレータにより,キャンセルされたか
Definition ClassBox.h:173
virtual void SetTitle(char *tn)
カウンタのタイトルを設定
Definition ClassBox.h:175
virtual void SetFill(int m)
取り敢えずの目標(最短目標)を設定
Definition ClassBox.h:162
int max
カウンタの最大値(0〜)
Definition ClassBox.h:140
virtual void SetPos(int p)
カウンタの現在位置を設定
Definition ClassBox.h:163
bool cancel
カウンターがキャンセルされた.
Definition ClassBox.h:143
virtual int GetMax()
カウンタの最大値(最終目標)を得る
Definition ClassBox.h:165
virtual void Stop()
カウンタのストップ
Definition ClassBox.h:170
virtual ~CVDisplay()
Definition ClassBox.h:69
const char * title
Definition ClassBox.h:65
virtual ~CVFrame()
Definition ClassBox.h:40
virtual ~CVTextDocument()
Definition ClassBox.h:97
virtual void lprintString(char *, int)
Definition ClassBox.h:104
virtual void lfprintFormat(int, char *,...)
Definition ClassBox.h:106
virtual void lprintFormat(char *,...)
Definition ClassBox.h:105
virtual void unlock(void)
Definition ClassBox.h:114
virtual void printString(char *, int)
Definition ClassBox.h:109
virtual void fprintFormat(int, char *,...)
Definition ClassBox.h:111
virtual void lprintBuffer(Buffer, int)
Definition ClassBox.h:103
virtual void printFormat(char *,...)
Definition ClassBox.h:110
virtual void printBuffer(Buffer, int)
Definition ClassBox.h:108
virtual void lock(void)
Definition ClassBox.h:113
Common Header for C++.
#define TRUE
Definition common.h:226
#define FALSE
Definition common.h:223
Definition Brep.h:29
CVCounter * GetUsableGlobalCounter()
現在有効なグローバルカウンタを得る.(子カウンタを得るかもしれない)
Definition ClassBox.h:185
void SetGlobalTextDocument(CVTextDocument *doc)
グローバルドキュメントのセット
Definition ClassBox.h:119
CVDisplay * GLDisplay
グローバルディスプレイインターフェイス
Definition ClassBox.cpp:16
CVCounter * GLCounter
グローバルカウンタ
Definition ClassBox.cpp:22
void ClearGlobalTextDocument()
グローバルドキュメントのクリア
Definition ClassBox.h:122
void SetGlobalCounter(CVCounter *counter)
グローバルカウンタのセット
Definition ClassBox.h:192
CVTextDocument * GLTextDocument
グローバル テキストドキュメント インターフェイス
Definition ClassBox.cpp:17
void SetGlobalDisplay(CVDisplay *disp)
グローバルドキュメントのセット
Definition ClassBox.h:74
CVFrame * GLFrame
グローバルディスプレイインターフェイス
Definition ClassBox.cpp:15
void SetGlobalFrame(CVFrame *frm)
グローバルドキュメントのセット
Definition ClassBox.h:45
void ClearGlobalDisplay()
グローバルドキュメントのクリア
Definition ClassBox.h:77
void ClearGlobalFrame()
グローバルドキュメントのクリア
Definition ClassBox.h:48
void ClearGlobalCounter()
グローバルカウンタのクリア
Definition ClassBox.h:195
ツールライブラリ ヘッダ for C++