void AbstractInputWidget::drawTrack(QPainter& _p, double _left, double _right) const { QRectF _progressRect = rect(); _p.setBrush(QBrush(colorSet().window())); _p.drawRect(_progressRect); if (_left > _right) std::swap(_left, _right); _progressRect.setLeft(_left); _progressRect.setRight(_right); _p.setBrush(QBrush(colorSet().highlight())); _p.drawRect(_progressRect); }
void Dial::paintEvent(QPaintEvent *e) { auto && _rect = rect(); QPointF _center = _rect.center(); double _r = radius() - radius() / 50.0; QPainter _p(this); _p.setRenderHint(QPainter::Antialiasing); _p.setBrush(colorSet().button()); _p.setPen(hasFocus() ? QPen(colorSet().dark(), radius() / 50.0) : Qt::NoPen); _p.drawEllipse(_center, _r, _r); QPainterPath _ellipsePath, _piePath; _ellipsePath.addEllipse(_center, _r, _r); _ellipsePath.addEllipse(_center, _r * 0.75, _r * 0.75); auto && _pieRect = _ellipsePath.boundingRect().adjusted(-2, -2, 2, 2); _p.setBrush( hasFocus() ? colorSet().highlight() : colorSet().dark()); QPainterPath _arc(_center); _arc.arcTo(_pieRect, -90, -ratio() * 360); _arc.lineTo(_center); _arc.closeSubpath(); _piePath = _arc & _ellipsePath; _p.drawPath(_piePath); if (showTicks()) { mixin_range_type::for_each_step([&](int _step, double i, bool _isPage) { _p.setPen(QPen(i >= mixin_range_type::value() ? colorSet().shadow() : colorSet().windowText(), 1)); paintTick(_p, i, _isPage ? 0.25 : 0.125); }); } _p.setPen(QPen(colorSet().shadow(), _r / 50.0)); paintTick(_p, mixin_range_type::value(), 0.333); paintTick(_p, 0.0, 0.25); // Draw big letter in the middle _p.setPen(QPen(QColor("#3d3d3d"), 2)); QFont _font = font(); _font.setPixelSize(_r); _p.setFont(_font); _p.drawText(_rect, Qt::AlignCenter, letter_); }
void AbstractInputWidget::drawHandle(QPainter& _p, double _pos, double _heightFactor) const { QRectF _progressRect = rect(); _progressRect.setRight(_pos); _p.setPen(QPen(colorSet().dark(), 4)); _p.drawLine( QPointF(_pos, _progressRect.bottom() + 2), QPointF(_pos, _progressRect.bottom() - _heightFactor * _progressRect.height() - 2)); }
/** * Fade the strip starting with color 'from' to color 'to'. * * The whole transformation takes 'how_long_ms' ms. */ void fade(const Color from, const Color to, uint32_t how_long_ms) { const uint8_t steps = 0xff; const uint32_t wait_per_step = how_long_ms / steps; debug(String("fade: ") + String(from.color(), 16) + " -> " + String(to.color(), 16) + "\n"); for (ColorShift shift(from, to, steps); !shift.done();) { const Color &next = shift.next(); uint32_t color = next.color(); debug(String("\tnext color: ") + String(color, 16) + "\n"); colorSet(color); delay(wait_per_step); } }
codeWindow::codeWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::codeWindowClass) { codePage = "CP866"; ui->setupUi(this); ui->tabWidget->clear(); QWidget *back = new QWidget(); QWidget *pole = new QWidget(); QHBoxLayout *hbox = new QHBoxLayout(pole); listingBrowser = new QTextEdit(); listingBrowser->setReadOnly(true); textEdit = new QTextEdit(); ln = new LineNumbers(textEdit); hbox->addWidget(ln); hbox->addWidget(textEdit); splitter = new QSplitter(Qt::Vertical,back); textBrowser = new QTextEdit(); textBrowser->setReadOnly(true); splitter->addWidget(pole); splitter->addWidget(textBrowser); //QHBoxLayout *hboxb = new QHBoxLayout(back); back->setLayout(new QHBoxLayout()); back->layout()->addWidget(splitter); pushButton = new QPushButton(trUtf8("Компиляция"),this); pushButton_2 = new QPushButton(trUtf8("Линковка"),this); pushButton_3 = new QPushButton(trUtf8("Запуск"),this); pushButton_4 = new QPushButton(trUtf8("Отмена\nоперации"),this); pushButton_5 = new QPushButton(trUtf8("Отладчик"),this); pushButton_4->setEnabled(false); ui->mainToolBar->addWidget(pushButton); ui->mainToolBar->addWidget(pushButton_2); ui->mainToolBar->addWidget(pushButton_3); ui->mainToolBar->addWidget(pushButton_5); ui->mainToolBar->addSeparator(); ui->mainToolBar->addWidget(pushButton_4); pushButton->setIcon(this->style()->standardIcon(QStyle::SP_ArrowForward)); ui->action_tasm->setIcon(pushButton->icon()); pushButton_2->setIcon(this->style()->standardIcon(QStyle::SP_ArrowDown)); ui->action_tlink->setIcon(pushButton_2->icon()); pushButton_3->setIcon(this->style()->standardIcon(QStyle::SP_MediaPlay)); ui->action_run->setIcon(pushButton_3->icon()); pushButton_4->setIcon(this->style()->standardIcon(QStyle::SP_BrowserStop)); ui->action_cansel->setIcon(pushButton_4->icon()); pushButton_5->setIcon(this->style()->standardIcon(QStyle::SP_ComputerIcon)); ui->action_td->setIcon(pushButton_5->icon()); ui->action->setIcon(this->style()->standardIcon(QStyle::SP_DialogOpenButton)); ui->action_2->setIcon(this->style()->standardIcon(QStyle::SP_DialogSaveButton)); ui->action_3->setIcon(this->style()->standardIcon(QStyle::SP_DialogSaveButton)); ui->action_4->setIcon(this->style()->standardIcon(QStyle::SP_TitleBarCloseButton)); ui->action_5->setIcon(this->style()->standardIcon(QStyle::SP_DesktopIcon)); ui->action_6->setIcon(this->style()->standardIcon(QStyle::SP_DialogHelpButton)); ui->action_13->setIcon(this->style()->standardIcon(QStyle::SP_FileIcon)); ui->action_TASM->setIcon(this->style()->standardIcon(QStyle::SP_TrashIcon)); set = new settingsClass(this); splitter->restoreState(set->getValue("splitter").toByteArray()); this->restoreState(set->getValue("state").toByteArray()); this->ui->action_10->setChecked(set->getValue("statusBar").toBool()); this->ui->action_9->setChecked(ui->mainToolBar->isEnabled()); curpos = new QLabel("1 : 1",this); ui->statusBar->layout()->setAlignment(Qt::AlignRight); ui->statusBar->layout()->addWidget(curpos); ui->action_9->setChecked(!ui->mainToolBar->isHidden()); connect(textEdit,SIGNAL(cursorPositionChanged()),this,SLOT(curPosChanged())); connect(this->ui->action_5,SIGNAL(triggered()),this,SLOT(colorSet())); connect(this->ui->action_TASM,SIGNAL(triggered()),this,SLOT(asmSett())); connect(this->ui->action_QT,SIGNAL(triggered()),this,SLOT(aboutQt())); connect(this->ui->action_4,SIGNAL(triggered()),this,SLOT(close())); connect(this->ui->action,SIGNAL(triggered()),this,SLOT(open())); connect(this->ui->action_2,SIGNAL(triggered()),this,SLOT(save())); connect(this->ui->action_13,SIGNAL(triggered()),this,SLOT(new_file())); connect(this->ui->action_3,SIGNAL(triggered()),this,SLOT(saveAs())); connect(this->ui->action_6,SIGNAL(triggered()),this,SLOT(about())); connect(this->ui->action_9,SIGNAL(triggered(bool)),ui->mainToolBar,SLOT(setShown(bool))); connect(this->ui->action_10,SIGNAL(triggered(bool)),ui->statusBar,SLOT(setShown(bool))); connect(pushButton,SIGNAL(released()),this,SLOT(pushButton_released())); connect(pushButton_2,SIGNAL(released()),this,SLOT(pushButton_2_released())); connect(pushButton_3,SIGNAL(released()),this,SLOT(pushButton_3_released())); connect(pushButton_4,SIGNAL(released()),this,SLOT(pushButton_4_released())); connect(pushButton_5,SIGNAL(released()),this,SLOT(pushButton_5_released())); connect(ui->action_tasm,SIGNAL(triggered()),pushButton,SLOT(click())); connect(ui->action_tlink,SIGNAL(triggered()),pushButton_2,SLOT(click())); connect(ui->action_run,SIGNAL(triggered()),pushButton_3,SLOT(click())); connect(ui->action_cansel,SIGNAL(triggered()),pushButton_4,SLOT(click())); connect(ui->action_td,SIGNAL(triggered()),pushButton_5,SLOT(click())); connect(ui->tabWidget,SIGNAL(currentChanged(int)),this,SLOT(listingLoad(int))); foreach(QString s,QTextCodec::availableCodecs()) { QAction *a = new QAction(s,this); ui->menu_4->addAction(a); }