mirror of https://github.com/bsnes-emu/bsnes.git
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
namespace phoenix {
|
|
|
|
Size pHorizontalScroller::minimumSize() {
|
|
return {0, 15};
|
|
}
|
|
|
|
void pHorizontalScroller::setLength(unsigned length) {
|
|
length += length == 0;
|
|
qtScroller->setRange(0, length - 1);
|
|
qtScroller->setPageStep(length >> 3);
|
|
}
|
|
|
|
void pHorizontalScroller::setPosition(unsigned position) {
|
|
qtScroller->setValue(position);
|
|
}
|
|
|
|
void pHorizontalScroller::constructor() {
|
|
qtWidget = qtScroller = new QScrollBar(Qt::Horizontal);
|
|
qtScroller->setRange(0, 100);
|
|
qtScroller->setPageStep(101 >> 3);
|
|
connect(qtScroller, SIGNAL(valueChanged(int)), SLOT(onChange()));
|
|
|
|
pWidget::synchronizeState();
|
|
setLength(horizontalScroller.state.length);
|
|
setPosition(horizontalScroller.state.position);
|
|
}
|
|
|
|
void pHorizontalScroller::destructor() {
|
|
delete qtScroller;
|
|
qtWidget = qtScroller = nullptr;
|
|
}
|
|
|
|
void pHorizontalScroller::orphan() {
|
|
destructor();
|
|
constructor();
|
|
}
|
|
|
|
void pHorizontalScroller::onChange() {
|
|
horizontalScroller.state.position = qtScroller->value();
|
|
if(horizontalScroller.onChange) horizontalScroller.onChange();
|
|
}
|
|
|
|
}
|