Console Framework Classes 20103 - OOP344
Contents
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 Definition
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;
};
Border Tester
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();
};