PITimer important fix! ASCII-art start ...
git-svn-id: svn://db.shs.com.ru/pip@94 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -173,6 +173,10 @@ void PIKbdListener::readKeyboard() {
|
||||
case 40: ret = 1; ke.key = DownArrow; break;
|
||||
case 45: ret = 1; ke.key = Insert; break;
|
||||
case 46: ret = 1; ke.key = Delete; break;
|
||||
case '\r':
|
||||
case '\n': ret = 1; ke.key = Return; break;
|
||||
case ' ': ret = 1; ke.key = Space; break;
|
||||
case '\t': ret = 1; ke.key = Tab; break;
|
||||
case 112: ret = 1; ke.key = F1; break;
|
||||
case 113: ret = 1; ke.key = F2; break;
|
||||
case 114: ret = 1; ke.key = F3; break;
|
||||
@@ -185,7 +189,15 @@ void PIKbdListener::readKeyboard() {
|
||||
case 121: ret = 1; ke.key = F10; break;
|
||||
case 122: ret = 1; ke.key = F11; break;
|
||||
case 123: ret = 1; ke.key = F12; break;
|
||||
default: ret = 1; ke.key = rc[0] = (shift ? char(toupper(ker.uChar.AsciiChar)) : ker.uChar.AsciiChar); break;
|
||||
default:
|
||||
ret = 1;
|
||||
rc[0] = 1;
|
||||
{
|
||||
PIChar ch = PIChar::fromConsole(ker.uChar.AsciiChar);
|
||||
if (shift) ch = ch.toUpper();
|
||||
ke.key = ch.unicode16Code();
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (ke.key == 0) {piMSleep(10); return;}
|
||||
} else {piMSleep(10); return;}
|
||||
@@ -212,7 +224,7 @@ void PIKbdListener::readKeyboard() {
|
||||
cout << endl;*/
|
||||
if (rc[0] == 0) {piMSleep(10); return;}
|
||||
if (ret < 0 || ret > 7) {piMSleep(10); return;}
|
||||
if (ret == 1) ke.key = rc[0];
|
||||
if (ret == 1) ke.key = PIChar::fromConsole(rc[0]).unicode16Code();
|
||||
int mod(0);
|
||||
// 2 - shift 1
|
||||
// 3 - alt 2
|
||||
@@ -257,6 +269,8 @@ void PIKbdListener::readKeyboard() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ke.key == 0 && ret > 1)
|
||||
ke.key = PIChar(rc).unicode16Code();
|
||||
#endif
|
||||
if ((rc[0] == '\n' || rc[0] == '\r') && ret == 1)
|
||||
ke.key = Return;
|
||||
|
||||
@@ -88,6 +88,7 @@ TileList::TileList(const PIString & n): PIScreenTile(n) {
|
||||
focus_flags = CanHasFocus | NextByArrowsHorizontal | NextByTab;
|
||||
lhei = offset = cur = 0;
|
||||
selection_mode = NoSelection;
|
||||
vert_line = PIChar::fromUTF8("│");
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +128,7 @@ void TileList::drawEvent(PIScreenDrawer * d) {
|
||||
d->drawText(rx, y + i - is + 1, r.first, cc, sel ? Blue : Default, cf);
|
||||
}
|
||||
int cx = x + width - 1;
|
||||
d->drawLine(cx, y + 1, cx, y + height - 2, '|', Green);
|
||||
d->drawLine(cx, y + 1, cx, y + height - 2, vert_line, Green);
|
||||
if (content.size_s() > 1)
|
||||
d->drawPixel(cx, y + piRound(float(cur) / (content.size_s() - 1) * (lhei - 1)) + 1, ' ', Green, Green);
|
||||
if (ie < content.size_s()) d->drawText(x, y + height - 1, PIString(" \\/ ").repeat(width / 4), Green, Default, Bold);
|
||||
|
||||
@@ -64,6 +64,7 @@ protected:
|
||||
void drawEvent(PIScreenDrawer * d);
|
||||
bool keyEvent(PIKbdListener::KeyEvent key);
|
||||
int lhei;
|
||||
PIChar vert_line;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user