git-svn-id: svn://db.shs.com.ru/pip@265 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -59,6 +59,59 @@ void TileSimple::drawEvent(PIScreenDrawer * d) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TileScrollBar::TileScrollBar(const PIString & n) {
|
||||||
|
direction = Vertical;
|
||||||
|
thickness = 1;
|
||||||
|
minimum_ = value_ = 0;
|
||||||
|
maximum_ = 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TileScrollBar::setMinimum(int v) {
|
||||||
|
minimum_ = v;
|
||||||
|
_check();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TileScrollBar::setMaximum(int v) {
|
||||||
|
maximum_ = v;
|
||||||
|
_check();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TileScrollBar::setValue(int v) {
|
||||||
|
value_ = v;
|
||||||
|
_check();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TileScrollBar::_check() {
|
||||||
|
value_ = piClampi(value_, minimum_, maximum_);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TileScrollBar::sizeHint(int & w, int & h) const {
|
||||||
|
w = h = 0;
|
||||||
|
if (direction == Vertical) {
|
||||||
|
w = thickness;
|
||||||
|
h = 255;
|
||||||
|
} else {
|
||||||
|
h = thickness;
|
||||||
|
w = 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void TileScrollBar::drawEvent(PIScreenDrawer * d) {
|
||||||
|
line_char = d->artChar(direction == Vertical ? PIScreenDrawer::LineVertical : PIScreenDrawer::LineHorizontal);
|
||||||
|
d->fillRect(x_, y_, x_ + width_, y_ + height_, line_char, Green);
|
||||||
|
if ()
|
||||||
|
d->drawPixel(cx, y_ + piRound(float(cur) / (content.size_s() - 1) * (lhei - 1)) + 1, ' ', Green, Green);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TileList::TileList(const PIString & n): PIScreenTile(n) {
|
TileList::TileList(const PIString & n): PIScreenTile(n) {
|
||||||
alignment = Left;
|
alignment = Left;
|
||||||
focus_flags = CanHasFocus | NextByArrowsHorizontal | NextByTab;
|
focus_flags = CanHasFocus | NextByArrowsHorizontal | NextByTab;
|
||||||
@@ -76,7 +129,6 @@ void TileList::sizeHint(int & w, int & h) const {
|
|||||||
|
|
||||||
|
|
||||||
void TileList::drawEvent(PIScreenDrawer * d) {
|
void TileList::drawEvent(PIScreenDrawer * d) {
|
||||||
vert_line = d->artChar(PIScreenDrawer::LineVertical);
|
|
||||||
lhei = height_ - 2;
|
lhei = height_ - 2;
|
||||||
//int osp = piMini(3, lhei / 4);
|
//int osp = piMini(3, lhei / 4);
|
||||||
int is = piClampi(offset, 0, piMaxi(0, content.size_s() - 1)), ie = piClampi(offset + lhei, 0, content.size_s());
|
int is = piClampi(offset, 0, piMaxi(0, content.size_s() - 1)), ie = piClampi(offset + lhei, 0, content.size_s());
|
||||||
|
|||||||
@@ -39,6 +39,25 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class PIP_EXPORT TileScrollBar: public PIScreenTile {
|
||||||
|
public:
|
||||||
|
TileScrollBar(const PIString & n = PIString());
|
||||||
|
void setMinimum(int v);
|
||||||
|
void setMaximum(int v);
|
||||||
|
void setValue(int v);
|
||||||
|
int minimum() const {return minimum_;}
|
||||||
|
int maximum() const {return maximum_;}
|
||||||
|
int value() const {return value_;}
|
||||||
|
int thickness;
|
||||||
|
protected:
|
||||||
|
void _check();
|
||||||
|
void sizeHint(int & w, int & h) const;
|
||||||
|
void drawEvent(PIScreenDrawer * d);
|
||||||
|
int minimum_, maximum_, value_;
|
||||||
|
PIChar line_char;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class PIP_EXPORT TileList: public PIScreenTile {
|
class PIP_EXPORT TileList: public PIScreenTile {
|
||||||
public:
|
public:
|
||||||
TileList(const PIString & n = PIString());
|
TileList(const PIString & n = PIString());
|
||||||
@@ -62,7 +81,6 @@ protected:
|
|||||||
void drawEvent(PIScreenDrawer * d);
|
void drawEvent(PIScreenDrawer * d);
|
||||||
bool keyEvent(PIKbdListener::KeyEvent key);
|
bool keyEvent(PIKbdListener::KeyEvent key);
|
||||||
int lhei;
|
int lhei;
|
||||||
PIChar vert_line;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user