Private(double low, double up, double step) : lowerInPoints(low), upperInPoints(up), stepInPoints(step), unit(KoUnit(KoUnit::Point)) { }
KoRulerPrivate::KoRulerPrivate(KoRuler *parent, const KoViewConverter *vc, Qt::Orientation o) : unit(KoUnit(KoUnit::Point)), orientation(o), viewConverter(vc), offset(0), rulerLength(0), activeRangeStart(0), activeRangeEnd(0), activeOverrideRangeStart(0), activeOverrideRangeEnd(0), mouseCoordinate(-1), showMousePosition(0), showSelectionBorders(false), firstSelectionBorder(0), secondSelectionBorder(0), showIndents(false), firstLineIndent(0), paragraphIndent(0), endIndent(0), showTabs(false), relativeTabs(false), tabMoved(false), originalIndex(-1), currentIndex(0), rightToLeft(false), selected(None), selectOffset(0), tabChooser(0), normalPaintingStrategy(o == Qt::Horizontal ? (PaintingStrategy*)new HorizontalPaintingStrategy() : (PaintingStrategy*)new VerticalPaintingStrategy()), distancesPaintingStrategy((PaintingStrategy*)new HorizontalDistancesPaintingStrategy()), paintingStrategy(normalPaintingStrategy), ruler(parent) { }
void MoveToolOptionsWidget::on_spinMoveStep_valueChanged(double UIMoveStep) { const KoUnit selectedUnit = KoUnit::fromListForUi(m_moveStepUnit); const double scaledUiMoveStep = (selectedUnit == KoUnit(KoUnit::Pixel)) ? UIMoveStep : selectedUnit.fromUserValue(UIMoveStep * m_resolution); m_moveStep = qRound(scaledUiMoveStep); m_configGroup.writeEntry("moveToolStep", m_moveStep); }
KoPageLayoutWidget::KoPageLayoutWidget(QWidget *parent, const KoPageLayout &layout) : QWidget(parent) , d(new Private) { d->widget.setupUi(this); d->pageLayout = layout; d->marginsEnabled = true; d->allowSignals = true; d->orientationGroup = new QButtonGroup(this); d->orientationGroup->addButton(d->widget.portrait, KoPageFormat::Portrait); d->orientationGroup->addButton(d->widget.landscape, KoPageFormat::Landscape); QButtonGroup *group2 = new QButtonGroup(this); group2->addButton(d->widget.singleSided); group2->addButton(d->widget.facingPages); // the two sets of labels we use might have different lengths; make sure this does not create a 'jumping' ui d->widget.facingPages->setChecked(true); facingPagesChanged(); int width = qMax(d->widget.leftLabel->width(), d->widget.rightLabel->width()); d->widget.singleSided->setChecked(true); facingPagesChanged(); width = qMax(width, qMax(d->widget.leftLabel->width(), d->widget.rightLabel->width())); d->widget.leftLabel->setMinimumSize(QSize(width, 5)); d->widget.units->addItems(KoUnit::listOfUnitNameForUi(KoUnit::HidePixel)); d->widget.sizes->addItems(KoPageFormat::localizedPageFormatNames()); setPageSpread(false); connect(d->widget.sizes, SIGNAL(currentIndexChanged(int)), this, SLOT(sizeChanged(int))); connect(d->widget.units, SIGNAL(currentIndexChanged(int)), this, SLOT(unitChanged(int))); connect(group2, SIGNAL(buttonClicked (int)), this, SLOT(facingPagesChanged())); connect(d->orientationGroup, SIGNAL(buttonClicked (int)), this, SLOT(orientationChanged())); connect(d->widget.width, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(d->widget.height, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(d->widget.topMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.bottomMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.bindingEdgeMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.pageEdgeMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.width, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(d->widget.height, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); setUnit(KoUnit(KoUnit::Millimeter)); setPageLayout(layout); if (layout.format == 0) // make sure we always call this during startup, even if the A3 (index=0) was chosen sizeChanged(layout.format); showTextDirection(false); /* disable advanced page layout features by default */ d->widget.facingPageLabel->setVisible(false); d->widget.facingPages->setVisible(false); d->widget.singleSided->setVisible(false); d->widget.stylesLabel->setVisible(false); d->widget.pageStyle->setVisible(false); }
KoUnitDoubleSpinBox::KoUnitDoubleSpinBox( QWidget *parent) : QDoubleSpinBox( parent ), d( new Private(-9999, 9999, 1)) { QDoubleSpinBox::setDecimals( 2 ); //setAcceptLocalizedNumbers( true ); setUnit( KoUnit(KoUnit::Point) ); setAlignment( Qt::AlignRight ); connect(this, SIGNAL(valueChanged( double )), SLOT(privateValueChanged())); }
void KRSectionData::createProperties(const QDomElement & elemSource) { m_set = new KoProperty::Set(this, "Section"); m_height = new KoProperty::Property("height", KoUnit(KoUnit::Centimeter).fromUserValue(2.0), i18n("Height")); m_backgroundColor = new KoProperty::Property("background-color", Qt::white, i18n("Background Color")); m_height->setOption("unit", "cm"); if (!elemSource.isNull()) m_height->setValue(KoUnit::parseValue(elemSource.attribute("svg:height", "2.0cm"))); m_set->addProperty(m_height); m_set->addProperty(m_backgroundColor); }
KWDocumentColumns::KWDocumentColumns(QWidget *parent, const KoColumns &columns) : QWidget(parent) { widget.setupUi(this); setColumns(columns); setUnit(KoUnit(KoUnit::Millimeter)); QGridLayout *layout = new QGridLayout(widget.previewPane); layout->setMargin(0); widget.previewPane->setLayout(layout); m_preview = new KoPagePreviewWidget(this); layout->addWidget(m_preview); m_preview->setColumns(columns); connect(widget.columns, SIGNAL(valueChanged(int)), this, SLOT(optionsChanged())); connect(widget.spacing, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(this, SIGNAL(columnsChanged(const KoColumns&)), m_preview, SLOT(setColumns(const KoColumns&))); }
MoveToolOptionsWidget::MoveToolOptionsWidget(QWidget *parent, int resolution, QString toolId) : QWidget(parent) , m_resolution(resolution) , m_showCoordinates(false) { setupUi(this); m_configGroup = KSharedConfig::openConfig()->group(toolId); // load radio button m_moveToolMode = static_cast<KisToolMove::MoveToolMode>(m_configGroup.readEntry("moveToolMode", 0)); if(m_moveToolMode == KisToolMove::MoveSelectedLayer) radioSelectedLayer->setChecked(true); else if (m_moveToolMode == KisToolMove::MoveFirstLayer) radioFirstLayer->setChecked(true); else radioGroup->setChecked(true); // Keyboard shortcut move step m_moveStep = m_configGroup.readEntry<int>("moveToolStep", 1); m_moveStepUnit = m_configGroup.readEntry<int>("moveToolUnit", KoUnit(KoUnit::Pixel).indexInListForUi()); cmbUnit->addItems(KoUnit::listOfUnitNameForUi()); cmbUnit->setCurrentIndex(m_moveStepUnit); updateUIUnit(m_moveStepUnit); // Scale for large moves m_moveScale = m_configGroup.readEntry<int>("moveToolScale", 10.0); spinMoveScale->blockSignals(true); spinMoveScale->setValue(m_moveScale); spinMoveScale->setSuffix("x"); spinMoveScale->blockSignals(false); // Switch mode for showing coordinates m_showCoordinates = m_configGroup.readEntry("moveToolShowCoordinates", false); connect(chkShowCoordinates, SIGNAL(toggled(bool)), SIGNAL(showCoordinatesChanged(bool))); chkShowCoordinates->setChecked(m_showCoordinates); translateXBox->setSuffix(i18n(" px")); translateYBox->setSuffix(i18n(" px")); translateXBox->setRange(-10000, 10000); translateYBox->setRange(-10000, 10000); }
void MoveToolOptionsWidget::updateUIUnit(int newUnit) { const KoUnit selectedUnit = KoUnit::fromListForUi(newUnit); qreal valueForUI; if (selectedUnit != KoUnit(KoUnit::Pixel)) { spinMoveStep->setRange(0.0001, 10000.000); spinMoveStep->setSingleStep(.1); spinMoveStep->setDecimals(4); valueForUI = selectedUnit.toUserValue((qreal)m_moveStep / (qreal)m_resolution); } else { spinMoveStep->setRange(1, 10000); spinMoveStep->setSingleStep(1); spinMoveStep->setDecimals(0); valueForUI = m_moveStep; } spinMoveStep->blockSignals(true); spinMoveStep->setValue(valueForUI); spinMoveStep->blockSignals(false); }
KoUnit KoUnit::fromListForUi(int index, ListOptions listOptions, qreal factor) { KoUnit::Type type = KoUnit::Point; if ((0 <= index) && (index < KoUnit::TypeCount)) { // iterate through all enums and skip the Pixel enum if needed for (int i = 0; i < KoUnit::TypeCount; ++i) { if ((listOptions&HidePixel) && (typesInUi[i] == Pixel)) { ++index; continue; } if (i == index) { type = typesInUi[i]; break; } } } return KoUnit(type, factor); }
// deprecated; KoUnitDoubleSpinBox::KoUnitDoubleSpinBox( QWidget *parent, double lower, double upper, double step, double value, KoUnit unit, unsigned int precision) : QDoubleSpinBox( parent ), d( new Private(lower, upper, step)) { setMinimum(lower); setMaximum(upper); setSingleStep(step); setValue(value); setDecimals(precision); d->unit = KoUnit(KoUnit::Point); //setAcceptLocalizedNumbers( true ); setUnit( unit ); changeValue( value ); setLineStepPt( step ); connect(this, SIGNAL(valueChanged( double )), SLOT(privateValueChanged())); }
KoUnit KoUnit::fromSymbol(const QString &symbol, bool *ok) { Type result = Point; if (symbol == QLatin1String("inch") /*compat*/) { result = Inch; if (ok) *ok = true; } else { if (ok) *ok = false; for (int i = 0; i < TypeCount; ++i) { if (symbol == QLatin1String(unitNameList[i])) { result = static_cast<Type>(i); if (ok) *ok = true; } } } return KoUnit(result); }
KoUnit KFormulaCanvas::unit() const { return KoUnit( KoUnit::Centimeter ); // return this as default }
void SimpleTableWidget::fillBorderButton(const QColor &color) { ItemChooserAction *chooser = widget.border->addItemChooser(9); qDeleteAll(m_cellStyles); m_cellStyles.clear(); qreal thickness[9] = {0.25, 0.5, 0.75, 1.0, 1.5, 2.25, 3.0, 4.5, 6.0}; KoTableCellStyle cellStyle; qDeleteAll(m_cellStyles); m_cellStyles.append(KoTableCellStyle().clone()); for (int i=8; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDoubleWave, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=6; i<8; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderWave, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=4; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDouble, thickness[i]*1.5, color); cellStyle.setEdgeDoubleBorderValues(KoBorder::TopBorder, thickness[i], thickness[i]/4); m_cellStyles.append(cellStyle.clone()); } for (int i=6; i<7; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderSlash, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } m_cellStyles.append(0); for (int i=0; i<7; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDouble, thickness[i]*3, color); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDouble, thickness[i]*2, color); cellStyle.setEdgeDoubleBorderValues(KoBorder::TopBorder, thickness[i]/2, thickness[i]/2); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderSolid, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDotted, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDashed, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDashedLong, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDashDot, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } for (int i=0; i<9; i++) { cellStyle.setEdge(KoBorder::TopBorder, KoBorder::BorderDashDotDot, thickness[i], color); m_cellStyles.append(cellStyle.clone()); } int i=1; KoZoomHandler zoomHandler; foreach(KoTableCellStyle *style, m_cellStyles) { if (style == 0) { widget.border->addBlanks(chooser, 1); i++; continue; } QPixmap pm(48,16); pm.fill(Qt::transparent); QPainter p(&pm); p.setRenderHint(QPainter::Antialiasing); if(style->hasBorders()) { p.scale(zoomHandler.zoomedResolutionX(),zoomHandler.zoomedResolutionY()); KoTextLayoutCellHelper cellStyleHelper(*style); qreal width = style->topBorderWidth(); cellStyleHelper.drawTopHorizontalBorder(p, 0, 8/zoomHandler.zoomedResolutionY() - width/2, pm.width()/zoomHandler.zoomedResolutionX(), 0); widget.border->addItem(chooser, pm, i, KoUnit().toUserStringValue(style->topBorderWidth())+"pt"); } else { p.drawText(0, 0, 48, 16, Qt::AlignCenter, i18nc("No border - has to fit in 48pixels","None")); widget.border->addItem(chooser, pm, i, i18n("No Border")); } i++; } widget.border->setItemsBackground(chooser, QColor(Qt::white)); // widget.borderType->addItem("None"); widget.border->addSeparator(); /* //TODO: Uncomment the below line when the string freeze is over //action->setToolTip(i18n("Change the level the list is at")); QMenu *listLevelMenu = new QMenu(); const int levelIndent = 13; for (int level = 0; level < 10; ++level) { QWidgetAction *wa = new QWidgetAction(listLevelMenu); ListLevelChooser *chooserWidget = new ListLevelChooser((levelIndent * level) + 5); wa->setDefaultWidget(chooserWidget); listLevelMenu->addAction(wa); m_mapper->setMapping(wa,level + 1); connect(chooserWidget, SIGNAL(clicked()), wa, SLOT(trigger())); connect(wa, SIGNAL(triggered()), m_mapper, SLOT(map())); } action->setMenu(listLevelMenu); */ }
KoUnit unit() const { return KoUnit(KoUnit::Millimeter); }
void KoUnitDoubleSpinBox::setLineStep( double step ) { d->stepInPoints = KoUnit(KoUnit::Point).toUserValue(step); QDoubleSpinBox::setSingleStep( step ); }
virtual KoUnit unit() const { return KoUnit(KoUnit::Point); }
KoUnit KisCanvas2::unit() const { return KoUnit(KoUnit::Pixel); }
KoUnit unit() const override { return KoUnit(KoUnit::Point); }
CapNJoinMenu::CapNJoinMenu(QWidget *parent) : QMenu(parent) { QGridLayout *mainLayout = new QGridLayout(); mainLayout->setMargin(2); // The cap group capGroup = new QButtonGroup(this); capGroup->setExclusive(true); QToolButton *button = 0; button = new QToolButton(this); button->setIcon(koIcon("stroke-cap-butt")); button->setCheckable(true); button->setToolTip(i18n("Butt cap")); capGroup->addButton(button, Qt::FlatCap); mainLayout->addWidget(button, 2, 0); button = new QToolButton(this); button->setIcon(koIcon("stroke-cap-round")); button->setCheckable(true); button->setToolTip(i18n("Round cap")); capGroup->addButton(button, Qt::RoundCap); mainLayout->addWidget(button, 2, 1); button = new QToolButton(this); button->setIcon(koIcon("stroke-cap-square")); button->setCheckable(true); button->setToolTip(i18n("Square cap")); capGroup->addButton(button, Qt::SquareCap); mainLayout->addWidget(button, 2, 2, Qt::AlignLeft); // The join group joinGroup = new QButtonGroup(this); joinGroup->setExclusive(true); button = new QToolButton(this); button->setIcon(koIcon("stroke-join-miter")); button->setCheckable(true); button->setToolTip(i18n("Miter join")); joinGroup->addButton(button, Qt::MiterJoin); mainLayout->addWidget(button, 3, 0); button = new QToolButton(this); button->setIcon(koIcon("stroke-join-round")); button->setCheckable(true); button->setToolTip(i18n("Round join")); joinGroup->addButton(button, Qt::RoundJoin); mainLayout->addWidget(button, 3, 1); button = new QToolButton(this); button->setIcon(koIcon("stroke-join-bevel")); button->setCheckable(true); button->setToolTip(i18n("Bevel join")); joinGroup->addButton(button, Qt::BevelJoin); mainLayout->addWidget(button, 3, 2, Qt::AlignLeft); // Miter limit // set min/max/step and value in points, then set actual unit miterLimit = new KoUnitDoubleSpinBox(this); miterLimit->setMinMaxStep(0.0, 1000.0, 0.5); miterLimit->setDecimals(2); miterLimit->setUnit(KoUnit(KoUnit::Point)); miterLimit->setToolTip(i18n("Miter limit")); mainLayout->addWidget(miterLimit, 4, 0, 1, 3); mainLayout->setSizeConstraint(QLayout::SetMinAndMaxSize); setLayout(mainLayout); }
KoUnit PDFCanvas::unit() const { return KoUnit(KoUnit::Point); }
KoUnit KChartCanvas::unit() const { return KoUnit(); }
KoUnit KisShapeLayerCanvas::unit() const { Q_ASSERT(false); // This should never be called as this canvas should have no tools. return KoUnit(KoUnit::Point); }
KoUnit MixerCanvas::unit() const { Q_ASSERT(false); return KoUnit(); }