7.12.2010 - bug fixes in PIString, all classes now based on PIString

This commit is contained in:
peri4
2010-12-07 19:13:15 +03:00
parent 08f214dbfa
commit 66d998f289
14 changed files with 194 additions and 145 deletions

View File

@@ -2,6 +2,7 @@
#define PICONSOLE_H
#include "pikbdlistener.h"
#include "pistring.h"
#ifndef WINDOWS
#include <sys/ioctl.h>
#include <fcntl.h>
@@ -35,37 +36,37 @@ public:
Oct = 0x40000,
Scientific = 0x80000};
void addString(string name, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, string * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, char * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, bool * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, short * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, int * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, long * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, llong * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, uchar * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, ushort * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, uint * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, ulong * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, ullong * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, float * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(string name, double * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addBitVariable(string name, uchar * ptr, int fromBit, int bitCount, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addString(PIString name, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, PIString * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, char * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, bool * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, short * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, int * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, long * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, llong * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, uchar * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, ushort * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, uint * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, ulong * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, ullong * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, float * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addVariable(PIString name, double * ptr, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addBitVariable(PIString name, uchar * ptr, int fromBit, int bitCount, int column = 1, Flags<PIConsole::Format> format = PIConsole::Normal);
void addEmptyLine(int column = 1);
int addTab(string name, char bind_key = 0);
int addTab(PIString name, char bind_key = 0);
void removeTab(uint index);
void removeTab(string name);
void removeTab(PIString name);
uint tabsCount() const {return tabs.size();}
bool setTab(uint index);
bool setTab(string name);
bool setTab(PIString name);
bool setTabBindKey(uint index, char bind_key);
bool setTabBindKey(string name, char bind_key);
void addCustomStatus(string str) {tabs[cur_tab].status = str;}
bool setTabBindKey(PIString name, char bind_key);
void addCustomStatus(PIString str) {tabs[cur_tab].status = str;}
void clearCustomStatus() {tabs[cur_tab].status = "";}
void clearVariables(bool clearScreen = true) {if (clearScreen && isRunning()) {toUpperLeft(); clearScreenLower();} vars().clear();}
void clearTabs(bool clearScreen = true) {if (clearScreen && isRunning()) {toUpperLeft(); clearScreenLower();} tabs.clear();}
string fstr(Flags<PIConsole::Format> f);
string currentTab() const {return tabs[cur_tab].name;}
PIString fstr(Flags<PIConsole::Format> f);
PIString currentTab() const {return tabs[cur_tab].name;}
private:
void begin();
@@ -103,8 +104,8 @@ private:
void status();
void checkColumn(uint col) {if (vars().size() < col) {vars().resize(col);}}
int bitsValue(unsigned char * src, int offset, int count);
void printLine(string str, int dx = 0, Flags<PIConsole::Format> format = PIConsole::Normal);
int printValue(string str, Flags<PIConsole::Format> format = PIConsole::Normal);
void printLine(PIString str, int dx = 0, Flags<PIConsole::Format> format = PIConsole::Normal);
int printValue(PIString str, Flags<PIConsole::Format> format = PIConsole::Normal);
int printValue(char * str, Flags<PIConsole::Format> format = PIConsole::Normal);
int printValue(bool value, Flags<PIConsole::Format> format = PIConsole::Normal);
int printValue(int value, Flags<PIConsole::Format> format = PIConsole::Normal);
@@ -122,14 +123,14 @@ private:
static void key_event(void * t, char key);
struct Variable {
string name;
PIString name;
Flags<PIConsole::Format> format;
int type;
int offset;
int bitFrom;
int bitCount;
union {
string * s;
PIString * s;
bool * b;
short * sh;
int * i;
@@ -150,15 +151,15 @@ private:
struct Tab {
vector<vector<Variable> > variables;
string name;
string status;
PIString name;
PIString status;
char key;
Tab() {;}
Tab(string n, char k) {name = n; key = k;}
Tab(PIString n, char k) {name = n; key = k;}
};
inline vector<vector<Variable> > & vars() {return tabs[cur_tab].variables;}
inline int couts(string v);
inline int couts(PIString v);
inline int couts(char * v);
inline int couts(bool v);
inline int couts(char v);