CreateRulerDialogController::CreateRulerDialogController(const QSet<QString>& namesToFilter, const U2Region& seqRange, int defaultOffset, QWidget* p) : QDialog(p) { setupUi(this); new HelpButton(this, buttonBox, "19766721"); buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Create")); buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel")); setMaximumHeight(layout()->minimumSize().height()); filter = namesToFilter; sampleLabel->setAutoFillBackground(true); nameEdit->setText(TextUtils::variate(tr("New ruler"), "_", filter)); spinBox->setMinimum(INT_MIN + seqRange.length); spinBox->setMaximum(INT_MAX); spinBox->setValue(seqRange.contains(defaultOffset+1) ? defaultOffset + 1 : spinBox->minimum()); color = Qt::darkBlue; updateColorSample(); connect(colorButton, SIGNAL(clicked()), SLOT(sl_colorButtonClicked())); setWindowIcon(QIcon(":/ugene/images/ugene_16.png")); }
bool DetViewMultiLineRenderer::isOnAnnotationLine(const QPoint &p, Annotation *a, int region, const AnnotationSettings *as, const QSize &canvasSize, const U2Region& visibleRange) const { qint64 symbolsPerLine = getSymbolsPerLine(canvasSize.width()); QSize oneLineMinSize(canvasSize.width(), getMinimumHeight()); U2Region yRange = singleLinePainter->getAnnotationYRange(a, region, as, oneLineMinSize, U2Region(visibleRange.startPos, qMin(visibleRange.length, symbolsPerLine))); yRange.startPos += (INDENT_BETWEEN_LINES + extraIndent) / 2; do { if (yRange.contains(p.y())) { return true; } yRange.startPos += getOneLineHeight(); } while (canvasSize.height() > yRange.endPos()); return false; }
float DetViewMultiLineRenderer::posToXCoordF(qint64 p, const QSize &canvasSize, const U2Region &visibleRange) const { CHECK(visibleRange.contains(p), -1); qint64 symbolsPerLine = getSymbolsPerLine(canvasSize.width()); return commonMetrics.charWidth * (p % symbolsPerLine); }