1 #include "editxlinkdialog.h"
3 #include <QColorDialog>
6 #include "branchitem.h"
10 EditXLinkDialog::EditXLinkDialog(QWidget *parent) : QDialog(parent)
17 ui.lineStyleCombo->addItem(QIcon("://linestyle-solid.png"), "Solid line",
19 ui.lineStyleCombo->addItem(QIcon("://linestyle-dash.png"), "Dash line", 1);
20 ui.lineStyleCombo->addItem(QIcon("://linestyle-dot.png"), "Dot line", 2);
21 ui.lineStyleCombo->addItem(QIcon("://linestyle-dashdot.png"),
23 ui.lineStyleCombo->addItem(QIcon("://linestyle-dashdotdot.png"),
24 "Dash Dot Dot line", 4);
25 connect(ui.widthBox, SIGNAL(valueChanged(int)), this,
26 SLOT(widthChanged(int)));
27 connect(ui.colorButton, SIGNAL(clicked()), this,
28 SLOT(colorButtonPressed()));
29 connect(ui.lineStyleCombo, SIGNAL(currentIndexChanged(int)), this,
30 SLOT(lineStyleChanged(int)));
31 connect(ui.checkBoxArrowBegin, SIGNAL(stateChanged(int)), this,
32 SLOT(beginStyleChanged(int)));
33 connect(ui.checkBoxArrowEnd, SIGNAL(stateChanged(int)), this,
34 SLOT(endStyleChanged(int)));
35 // FIXME-4 connect ( ui.setColorHeadingButton, SIGNAL (clicked( )), this,
36 // SLOT (setColorHeadingButtonPressed()));
37 ui.setColorHeadingButton->hide();
40 void EditXLinkDialog::widthChanged(int w)
42 link->getModel()->setXLinkWidth(w);
45 void EditXLinkDialog::setLink(Link *l)
48 QPen pen = link->getPen();
49 colorChanged(pen.color());
50 ui.widthBox->setValue(pen.width());
51 switch (pen.style()) {
53 ui.lineStyleCombo->setCurrentIndex(1);
56 ui.lineStyleCombo->setCurrentIndex(2);
59 ui.lineStyleCombo->setCurrentIndex(3);
61 case Qt::DashDotDotLine:
62 ui.lineStyleCombo->setCurrentIndex(4);
65 ui.lineStyleCombo->setCurrentIndex(0);
67 if (link->getXLinkObj()->getStyleEnd())
68 ui.checkBoxArrowEnd->setChecked(true);
70 ui.checkBoxArrowEnd->setChecked(false);
71 if (link->getXLinkObj()->getStyleBegin())
72 ui.checkBoxArrowBegin->setChecked(true);
74 ui.checkBoxArrowBegin->setChecked(false);
77 void EditXLinkDialog::colorButtonPressed()
80 QPen pen = link->getPen();
81 QColor col = QColorDialog::getColor(pen.color(), this);
84 link->getModel()->setXLinkColor(col.name());
88 void EditXLinkDialog::colorChanged(QColor c)
93 ui.colorButton->setIcon(pix);
96 void EditXLinkDialog::setColorHeadingButtonPressed() // FIXME-4 not implemented
103 void EditXLinkDialog::lineStyleChanged(int i)
109 style = "Qt::SolidLine";
112 style = "Qt::DashLine";
115 style = "Qt::DotLine";
118 style = "Qt::DashDotLine";
121 style = "Qt::DashDotDotLine";
126 link->getModel()->setXLinkStyle(style);
130 void EditXLinkDialog::beginStyleChanged(int state)
134 link->getModel()->setXLinkStyleBegin("HeadFull");
136 link->getModel()->setXLinkStyleBegin("None");
140 void EditXLinkDialog::endStyleChanged(int state)
144 link->getModel()->setXLinkStyleEnd("HeadFull");
146 link->getModel()->setXLinkStyleEnd("None");
150 bool EditXLinkDialog::useSettingsGlobal()
152 return ui.useSettings->isChecked();