Difference between revisions of "Console Framework Classes 20103 - OOP344"
(→FWBorder) |
(→FWBorder) |
||
Line 87: | Line 87: | ||
}; | }; | ||
+ | </syntaxhighlight></big> | ||
+ | ===FWField=== | ||
+ | <big><syntaxhighlight lang="cpp"> | ||
+ | class FWField: public FWBorder{ | ||
+ | protected: | ||
+ | void* _data; | ||
+ | public: | ||
+ | FWField(int Row = 0, int Col = 0, | ||
+ | int Width = 0, int Height =0, | ||
+ | void* Data = (void*) 0, | ||
+ | bool Bordered = false, | ||
+ | const char* Border=FW_BORDER_CHARS); | ||
+ | ~FWField(); | ||
+ | virtual int edit() = 0; | ||
+ | virtual bool editable() const = 0; | ||
+ | |||
+ | |||
+ | virtual void set(const void* data) = 0; | ||
+ | virtual void* data(); | ||
+ | |||
+ | void container(FWDialog* theOwner); | ||
+ | FWDialog* container(); | ||
+ | }; | ||
</syntaxhighlight></big> | </syntaxhighlight></big> |
Revision as of 12:12, 8 November 2010
The Frame work
General Internal Header file
#ifndef ___CONFW_H__
#define ___CONFW_H__
#ifndef _CRT_SECURE_NO_DEPRECATE
#define _CRT_SECURE_NO_DEPRECATE
#endif
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
#include <string.h>
extern "C"{
#include "iol.h"
};
#define FW_BORDER_CHARS "/-\\|/-\\|"
#define FW_MAX_NO_FIELDS 100
#define FW_BUTTON_HIT 1
#define FW_MAX_LINE_CHARS (1024u)
#define FW_REFRESH -2
#define FW_FULL_FRAME -1
#define FW_NO_REFRESH 0
enum MessageStatus{ClearMessage,SetMessage};
#ifdef NO_HELPFUNC
# undef NO_HELPFUNC
#endif
#define NO_HELPFUNC ((void(*)(MessageStatus, FWDialog&))(0))
#ifdef NO_VALDFUNC
# undef NO_VALDFUNC
#endif
#define NO_VALDFUNC ((bool(*)(const char*, FWDialog&))(0))
#endif
Classes
FWBorder
class FWBorder {
int _row;
int _col;
int _height;
int _width;
char _border[9];
bool _visible;
FWBorder* _container;
protected:
int absRow()const;
int absCol()const;
public:
FWBorder(int Row=-1, int Col=-1, int Width=-1,int Height=-1,
bool Visible = false,
const char* Border=FW_BORDER_CHARS,
FWBorder* Container = (FWBorder*)0);
virtual void draw(int refresh = FW_NO_REFRESH)const;
virtual ~FWBorder();
void visible(bool val);
bool visible()const;
void container(FWBorder* theContainer);
FWBorder* container();
bool fullscreen()const;
void row(int val);
int row()const;
void col(int val);
int col()const;
void size(int height, int width);
int height()const;
int width()const;
};
FWField
class FWField: public FWBorder{
protected:
void* _data;
public:
FWField(int Row = 0, int Col = 0,
int Width = 0, int Height =0,
void* Data = (void*) 0,
bool Bordered = false,
const char* Border=FW_BORDER_CHARS);
~FWField();
virtual int edit() = 0;
virtual bool editable() const = 0;
virtual void set(const void* data) = 0;
virtual void* data();
void container(FWDialog* theOwner);
FWDialog* container();
};