8.12.2010 - bug fixes
This commit is contained in:
@@ -125,6 +125,7 @@ void PIConsole::key_event(void * t, char key) {
|
|||||||
PIString PIConsole::fstr(Flags<PIConsole::Format> f) {
|
PIString PIConsole::fstr(Flags<PIConsole::Format> f) {
|
||||||
if (f[PIConsole::Dec]) num_format = 0;
|
if (f[PIConsole::Dec]) num_format = 0;
|
||||||
if (f[PIConsole::Hex]) num_format = 1;
|
if (f[PIConsole::Hex]) num_format = 1;
|
||||||
|
|
||||||
if (f[PIConsole::Oct]) num_format = 2;
|
if (f[PIConsole::Oct]) num_format = 2;
|
||||||
if (f[PIConsole::Scientific]) num_format = 3;
|
if (f[PIConsole::Scientific]) num_format = 3;
|
||||||
|
|
||||||
@@ -152,9 +153,9 @@ PIString PIConsole::fstr(Flags<PIConsole::Format> f) {
|
|||||||
if (f[PIConsole::Bold]) attr |= FOREGROUND_INTENSITY;
|
if (f[PIConsole::Bold]) attr |= FOREGROUND_INTENSITY;
|
||||||
|
|
||||||
SetConsoleTextAttribute(hOut, attr);
|
SetConsoleTextAttribute(hOut, attr);
|
||||||
return "";
|
return PIString();
|
||||||
#else
|
#else
|
||||||
PIString ts = "\e[0";
|
PIString ts("\e[0");
|
||||||
|
|
||||||
if (f[PIConsole::Bold]) ts += ";1";
|
if (f[PIConsole::Bold]) ts += ";1";
|
||||||
if (f[PIConsole::Faint]) ts += ";2";
|
if (f[PIConsole::Faint]) ts += ";2";
|
||||||
@@ -187,21 +188,21 @@ PIString PIConsole::fstr(Flags<PIConsole::Format> f) {
|
|||||||
#define fprint(x) switch (num_format) {case (3): return printf("%e", x); break; default: return printf("%.5g", x); break;}
|
#define fprint(x) switch (num_format) {case (3): return printf("%e", x); break; default: return printf("%.5g", x); break;}
|
||||||
#define dprint(x) switch (num_format) {case (3): return printf("%le", x); break; default: return printf("%.5lg", x); break;}
|
#define dprint(x) switch (num_format) {case (3): return printf("%le", x); break; default: return printf("%.5lg", x); break;}
|
||||||
|
|
||||||
inline int PIConsole::couts(PIString v) {return printf("%s", v.data());}
|
inline int PIConsole::couts(const string v) {return printf("%s", v.c_str());}
|
||||||
inline int PIConsole::couts(char * v) {return printf("%s", v);}
|
inline int PIConsole::couts(const char * v) {return printf("%s", v);}
|
||||||
inline int PIConsole::couts(bool v) {return (v ? printf("true") : printf("false"));}
|
inline int PIConsole::couts(const bool v) {return (v ? printf("true") : printf("false"));}
|
||||||
inline int PIConsole::couts(char v) {return printf("%c", v);}
|
inline int PIConsole::couts(const char v) {return printf("%c", v);}
|
||||||
inline int PIConsole::couts(short v) {siprint(v);}
|
inline int PIConsole::couts(const short v) {siprint(v);}
|
||||||
inline int PIConsole::couts(int v) {iprint(v);}
|
inline int PIConsole::couts(const int v) {iprint(v);}
|
||||||
inline int PIConsole::couts(long v) {liprint(v);}
|
inline int PIConsole::couts(const long v) {liprint(v);}
|
||||||
inline int PIConsole::couts(llong v) {lliprint(v);}
|
inline int PIConsole::couts(const llong v) {lliprint(v);}
|
||||||
inline int PIConsole::couts(uchar v) {uprint(v);}
|
inline int PIConsole::couts(const uchar v) {uprint(v);}
|
||||||
inline int PIConsole::couts(ushort v) {suprint(v);}
|
inline int PIConsole::couts(const ushort v) {suprint(v);}
|
||||||
inline int PIConsole::couts(uint v) {uprint(v);}
|
inline int PIConsole::couts(const uint v) {uprint(v);}
|
||||||
inline int PIConsole::couts(ulong v) {luprint(v);}
|
inline int PIConsole::couts(const ulong v) {luprint(v);}
|
||||||
inline int PIConsole::couts(ullong v) {lluprint(v);}
|
inline int PIConsole::couts(const ullong v) {lluprint(v);}
|
||||||
inline int PIConsole::couts(float v) {fprint(v);}
|
inline int PIConsole::couts(const float v) {fprint(v);}
|
||||||
inline int PIConsole::couts(double v) {dprint(v);}
|
inline int PIConsole::couts(const double v) {dprint(v);}
|
||||||
|
|
||||||
|
|
||||||
void PIConsole::begin() {
|
void PIConsole::begin() {
|
||||||
@@ -383,30 +384,35 @@ void PIConsole::addEmptyLine(int column) {
|
|||||||
tv.name = ""; tv.type = 0; tv.d = 0; tv.format = Normal;
|
tv.name = ""; tv.type = 0; tv.d = 0; tv.format = Normal;
|
||||||
checkColumn(column); vars()[column - 1].push_back(tv);}
|
checkColumn(column); vars()[column - 1].push_back(tv);}
|
||||||
|
|
||||||
#define PRINT_VAR_BODY couts(fstr(format)); int ret = couts(value); fstr(PIConsole::Dec); return ret;
|
#define PRINT_VAR_BODY couts(fstr(format).stdString()); int ret = couts(value); fstr(PIConsole::Dec); return ret;
|
||||||
|
|
||||||
void PIConsole::printLine(PIString value, int dx, Flags<PIConsole::Format> format) {
|
inline void PIConsole::printLine(const PIString & value, int dx, Flags<PIConsole::Format> format) {
|
||||||
int i = width - value.length() - dx;
|
int i = width - value.length() - dx;
|
||||||
#ifdef QNX
|
#ifdef QNX
|
||||||
--i;
|
--i;
|
||||||
#endif
|
#endif
|
||||||
couts(fstr(format));
|
couts(fstr(format).stdString());
|
||||||
if (i >= 0) couts(value + PIString(i, ' '));
|
if (i >= 0) couts((value + PIString(i, ' ')).stdString());
|
||||||
else couts(value.left(value.length() + i));
|
else couts(value.left(value.size() + i).stdString());
|
||||||
couts(fstr(Dec));
|
couts(fstr(Dec).stdString());
|
||||||
}
|
}
|
||||||
int PIConsole::printValue(PIString value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const PIString & value, Flags<PIConsole::Format> format) {
|
||||||
int PIConsole::printValue(char * value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
couts(fstr(format).stdString());
|
||||||
int PIConsole::printValue(bool value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
int ret = couts(value.stdString());
|
||||||
int PIConsole::printValue(int value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
fstr(PIConsole::Dec);
|
||||||
int PIConsole::printValue(long value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
return ret;
|
||||||
int PIConsole::printValue(llong value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
}
|
||||||
int PIConsole::printValue(float value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const char * value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(double value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const bool value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(char value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const int value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(short value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const long value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(uchar value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const llong value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(ushort value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const float value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(uint value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const double value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(ulong value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const char value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
int PIConsole::printValue(ullong value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
inline int PIConsole::printValue(const short value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
|
inline int PIConsole::printValue(const uchar value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
|
inline int PIConsole::printValue(const ushort value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
|
inline int PIConsole::printValue(const uint value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
|
inline int PIConsole::printValue(const ulong value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
|
inline int PIConsole::printValue(const ullong value, Flags<PIConsole::Format> format) {PRINT_VAR_BODY}
|
||||||
|
|||||||
62
piconsole.h
62
piconsole.h
@@ -104,22 +104,22 @@ private:
|
|||||||
void status();
|
void status();
|
||||||
void checkColumn(uint col) {if (vars().size() < col) {vars().resize(col);}}
|
void checkColumn(uint col) {if (vars().size() < col) {vars().resize(col);}}
|
||||||
int bitsValue(unsigned char * src, int offset, int count);
|
int bitsValue(unsigned char * src, int offset, int count);
|
||||||
void printLine(PIString str, int dx = 0, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline void printLine(const PIString & str, int dx = 0, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(PIString str, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const PIString & str, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(char * str, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const char * str, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(bool value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const bool value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(int value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const int value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(long value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const long value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(llong value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const llong value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(float value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const float value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(double value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const double value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(char value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const char value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(short value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const short value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(uchar value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const uchar value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(ushort value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const ushort value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(uint value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const uint value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(ulong value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const ulong value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
int printValue(ullong value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
inline int printValue(const ullong value, Flags<PIConsole::Format> format = PIConsole::Normal);
|
||||||
static void key_event(void * t, char key);
|
static void key_event(void * t, char key);
|
||||||
|
|
||||||
struct Variable {
|
struct Variable {
|
||||||
@@ -159,21 +159,21 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
inline vector<vector<Variable> > & vars() {return tabs[cur_tab].variables;}
|
inline vector<vector<Variable> > & vars() {return tabs[cur_tab].variables;}
|
||||||
inline int couts(PIString v);
|
inline int couts(const string v);
|
||||||
inline int couts(char * v);
|
inline int couts(const char * v);
|
||||||
inline int couts(bool v);
|
inline int couts(const bool v);
|
||||||
inline int couts(char v);
|
inline int couts(const char v);
|
||||||
inline int couts(short v);
|
inline int couts(const short v);
|
||||||
inline int couts(int v);
|
inline int couts(const int v);
|
||||||
inline int couts(long v);
|
inline int couts(const long v);
|
||||||
inline int couts(llong v);
|
inline int couts(const llong v);
|
||||||
inline int couts(uchar v);
|
inline int couts(const uchar v);
|
||||||
inline int couts(ushort v);
|
inline int couts(const ushort v);
|
||||||
inline int couts(uint v);
|
inline int couts(const uint v);
|
||||||
inline int couts(ulong v);
|
inline int couts(const ulong v);
|
||||||
inline int couts(ullong v);
|
inline int couts(const ullong v);
|
||||||
inline int couts(float v);
|
inline int couts(const float v);
|
||||||
inline int couts(double v);
|
inline int couts(const double v);
|
||||||
|
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
void * hOut;
|
void * hOut;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public:
|
|||||||
PIString(const PIString & str) {*this += str;}
|
PIString(const PIString & str) {*this += str;}
|
||||||
PIString(const int len, const char c = ' ') {for (uint i = 0; i < len; ++i) push_back(c);}
|
PIString(const int len, const char c = ' ') {for (uint i = 0; i < len; ++i) push_back(c);}
|
||||||
|
|
||||||
operator const char*() {return (size() == 0) ? "" : string(&at(0), size()).c_str();}
|
operator const char*() {return data();}
|
||||||
operator const string() {return (size() == 0) ? string() : string(&at(0), size());}
|
operator const string() {return (size() == 0) ? string() : string(&at(0), size());}
|
||||||
inline char & operator [](const int pos) {return at(pos);}
|
inline char & operator [](const int pos) {return at(pos);}
|
||||||
inline const char operator [](const int pos) const {return at(pos);}
|
inline const char operator [](const int pos) const {return at(pos);}
|
||||||
@@ -51,7 +51,7 @@ public:
|
|||||||
inline PIString & cutRight(const int len) {return len <= 0 ? *this : cutMid(size() - len, len);}
|
inline PIString & cutRight(const int len) {return len <= 0 ? *this : cutMid(size() - len, len);}
|
||||||
PIString trimmed() const;
|
PIString trimmed() const;
|
||||||
PIString & trim();
|
PIString & trim();
|
||||||
const char * data() const {return ((size() == 0) ? string() : string(&at(0), size())).c_str();}
|
const char * data() const {return stdString().c_str();}
|
||||||
string stdString() const {return (size() == 0) ? string() : string(&at(0), size());}
|
string stdString() const {return (size() == 0) ? string() : string(&at(0), size());}
|
||||||
|
|
||||||
PIString toUpperCase() const;
|
PIString toUpperCase() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user