20#include "kiviostencilformatdlg.h"
28#include <kcolorbutton.h>
31#include <KoUnitWidgets.h>
33#include "kivio_view.h"
35KivioStencilFormatDlg::KivioStencilFormatDlg(KivioView* parent,
const char* name)
36 : KDialogBase(parent, name, true, i18n(
"Stencil & Connector Format"), Ok|Cancel|Default, Ok)
38 m_unit = KoUnit::U_PT;
42void KivioStencilFormatDlg::init()
44 TQWidget* mainWidget =
new TQWidget(
this);
45 setMainWidget(mainWidget);
46 TQGridLayout* gl =
new TQGridLayout(mainWidget, 3, 2, KDialog::marginHint(), KDialog::spacingHint());
48 TQLabel* lineWidthLbl =
new TQLabel(i18n(
"Line &width:"), mainWidget);
49 m_lineWidthUSBox =
new KoUnitDoubleSpinBox(mainWidget, 0.0, 1000.0, 0.1, 1.0, m_unit, 2);
50 lineWidthLbl->setBuddy(m_lineWidthUSBox);
51 TQLabel* lineColorLbl =
new TQLabel(i18n(
"Line &color:"), mainWidget);
52 m_lineCBtn =
new KColorButton(mainWidget);
53 lineColorLbl->setBuddy(m_lineCBtn);
54 TQLabel* patternLbl =
new TQLabel(i18n(
"Line &style:"), mainWidget);
55 m_patternCBox =
new KComboBox(mainWidget);
56 patternLbl->setBuddy(m_patternCBox);
58 TQLabel* lineEndStyleLbl =
new TQLabel(i18n(
"Line &end style:"), mainWidget);
59 m_lineEndStyleCBox =
new KComboBox(mainWidget);
60 lineEndStyleLbl->setBuddy(m_lineEndStyleCBox);
62 TQLabel* fillColorLbl =
new TQLabel(i18n(
"&Fill color:"), mainWidget);
63 m_fillCBtn =
new KColorButton(mainWidget);
64 fillColorLbl->setBuddy(m_fillCBtn);
65 TQLabel* fillPatternLbl =
new TQLabel(i18n(
"F&ill style:"), mainWidget);
66 m_fillPatternCBox =
new KComboBox(mainWidget);
67 fillPatternLbl->setBuddy(m_fillPatternCBox);
70 gl->addWidget(lineWidthLbl, 0, 0);
71 gl->addWidget(m_lineWidthUSBox, 0, 1);
72 gl->addWidget(lineColorLbl, 1, 0);
73 gl->addWidget(m_lineCBtn, 1, 1);
74 gl->addWidget(patternLbl, 2, 0);
75 gl->addWidget(m_patternCBox, 2, 1);
76 gl->addWidget(lineEndStyleLbl, 3, 0);
77 gl->addWidget(m_lineEndStyleCBox, 3, 1);
78 gl->addWidget(fillColorLbl, 4, 0);
79 gl->addWidget(m_fillCBtn, 4, 1);
80 gl->addWidget(fillPatternLbl, 5, 0);
81 gl->addWidget(m_fillPatternCBox, 5, 1);
84void KivioStencilFormatDlg::initLinePatterns()
87 TQPixmap pix(m_patternCBox->width(), 17);
88 TQPainter p(&pix, m_patternCBox);
90 pen.setColor(TQColor(0, 0, 0));
93 for (
int i = NoPen; i <= DashDotDotLine ; i++ ) {
95 pen.setStyle(
static_cast<TQt::PenStyle
>(i));
97 p.drawLine(0, 8, pix.width(), 8);
101 m_patternCBox->insertItem(pix, i);
107void KivioStencilFormatDlg::initFillPatterns()
110 TQPixmap pix(m_fillPatternCBox->width(), m_fillPatternCBox->fontMetrics().height() + 4);
111 TQPainter p(&pix, m_fillPatternCBox);
113 brush.setColor(TQColor(0, 0, 0));
115 for (
int i = NoBrush; i <= DiagCrossPattern; i++ ) {
117 brush.setStyle(
static_cast<TQt::BrushStyle
>(i));
119 p.fillRect(0, 0, pix.width(), pix.height(), brush);
121 m_fillPatternCBox->insertItem(pix, i);
127void KivioStencilFormatDlg::initLineEndStyles()
130 TQPixmap pix(m_lineEndStyleCBox->width(), 17);
131 TQPainter p(&pix, m_lineEndStyleCBox);
133 pen.setColor(TQColor(0, 0, 0));
135 pen.setStyle(TQt::SolidLine);
136 pen.setJoinStyle(TQt::RoundJoin);
139 for (
int i = 0; i < 3; i++) {
141 pen.setCapStyle(
static_cast<TQt::PenCapStyle
>(i * 0x10));
143 p.drawLine(6, 8, pix.width() - 12, 8);
147 m_lineEndStyleCBox->insertItem(pix, i);
153double KivioStencilFormatDlg::lineWidth()
155 return m_lineWidthUSBox->value();
158TQColor KivioStencilFormatDlg::lineColor()
160 return m_lineCBtn->color();
163int KivioStencilFormatDlg::linePattern()
165 return m_patternCBox->currentItem();
168TQColor KivioStencilFormatDlg::fillColor()
170 return m_fillCBtn->color();
173int KivioStencilFormatDlg::fillPattern()
175 return m_fillPatternCBox->currentItem();
178int KivioStencilFormatDlg::lineEndStyle()
180 return m_lineEndStyleCBox->currentItem() * 0x10;
183void KivioStencilFormatDlg::setLineWidth(
double w, KoUnit::Unit u)
186 m_lineWidthUSBox->setUnit(u);
187 m_lineWidthUSBox->setValue(KoUnit::toUserValue(w, u));
190void KivioStencilFormatDlg::setLineColor(TQColor c)
192 m_lineCBtn->setColor(c);
195void KivioStencilFormatDlg::setLinePattern(
int p)
197 m_patternCBox->setCurrentItem(p);
200void KivioStencilFormatDlg::setFillColor(TQColor c)
202 m_fillCBtn->setColor(c);
205void KivioStencilFormatDlg::setFillPattern(
int p)
207 m_fillPatternCBox->setCurrentItem(p);
210void KivioStencilFormatDlg::setLineEndStyle(
int s)
212 m_lineEndStyleCBox->setCurrentItem(s / 0x10);
215void KivioStencilFormatDlg::slotDefault()
217 setLineWidth(1.0, m_unit);
218 setLineColor(TQColor(0, 0, 0));
220 setFillColor(TQColor(255, 255, 255));
224#include "kiviostencilformatdlg.moc"