1 #include "editxlinkdialog.h"
4 #include <QColorDialog>
5 #include <QColorDialog>
7 #include "branchitem.h"
12 EditXLinkDialog::EditXLinkDialog (QWidget *parent):QDialog (parent)
19 ui.lineStyleCombo->addItem (QIcon("://linestyle-solid.png"),"Solid line",0);
20 ui.lineStyleCombo->addItem (QIcon("://linestyle-dash.png"),"Dash line",1);
21 ui.lineStyleCombo->addItem (QIcon("://linestyle-dot.png"),"Dot line",2);
22 ui.lineStyleCombo->addItem (QIcon("://linestyle-dashdot.png"),"Dash Dot line",3);
23 ui.lineStyleCombo->addItem (QIcon("://linestyle-dashdotdot.png"),"Dash Dot Dot line",4);
24 connect ( ui.widthBox, SIGNAL (valueChanged( int)), this, SLOT (widthChanged (int)));
25 connect ( ui.colorButton, SIGNAL (clicked( )), this, SLOT (colorButtonPressed()));
26 connect ( ui.lineStyleCombo, SIGNAL (currentIndexChanged( int )), this, SLOT (lineStyleChanged(int)));
27 connect ( ui.checkBoxArrowBegin, SIGNAL (stateChanged( int )), this, SLOT (beginStyleChanged( int )));
28 connect ( ui.checkBoxArrowEnd , SIGNAL (stateChanged( int )), this, SLOT ( endStyleChanged( int )));
29 //FIXME-4 connect ( ui.setColorHeadingButton, SIGNAL (clicked( )), this, SLOT (setColorHeadingButtonPressed()));
30 ui.setColorHeadingButton->hide();
34 void EditXLinkDialog::widthChanged( int w)
36 link->getModel()->setXLinkWidth( w );
39 void EditXLinkDialog::setLink( Link * l)
42 QPen pen=link->getPen();
43 colorChanged (pen.color() );
44 ui.widthBox->setValue(pen.width() );
47 case Qt::DashLine: ui.lineStyleCombo->setCurrentIndex (1); break;
48 case Qt::DotLine: ui.lineStyleCombo->setCurrentIndex (2); break;
49 case Qt::DashDotLine: ui.lineStyleCombo->setCurrentIndex (3); break;
50 case Qt::DashDotDotLine: ui.lineStyleCombo->setCurrentIndex (4); break;
51 default: ui.lineStyleCombo->setCurrentIndex (0);
53 if ( link->getXLinkObj()->getStyleEnd() )
54 ui.checkBoxArrowEnd->setChecked( true );
56 ui.checkBoxArrowEnd->setChecked( false );
57 if ( link->getXLinkObj()->getStyleBegin() )
58 ui.checkBoxArrowBegin->setChecked( true );
60 ui.checkBoxArrowBegin->setChecked( false );
63 void EditXLinkDialog::colorButtonPressed()
67 QPen pen=link->getPen();
68 QColor col = QColorDialog::getColor(pen.color(), this );
69 if ( !col.isValid() ) return;
70 link->getModel()->setXLinkColor( col.name() );
74 void EditXLinkDialog::colorChanged (QColor c)
77 QPixmap pix( 16, 16 );
79 ui.colorButton->setIcon( pix );
82 void EditXLinkDialog::setColorHeadingButtonPressed() //FIXME-4 not implemented yet
89 void EditXLinkDialog::lineStyleChanged (int i)
96 case 0: style = "Qt::SolidLine"; break;
97 case 1: style = "Qt::DashLine"; break;
98 case 2: style = "Qt::DotLine"; break;
99 case 3: style = "Qt::DashDotLine"; break;
100 case 4: style = "Qt::DashDotDotLine"; break;
101 default: style = "Qt::NoPen";
103 link->getModel()->setXLinkLineStyle( style );
107 void EditXLinkDialog::beginStyleChanged( int state )
112 link->getModel()->setXLinkStyleBegin( "HeadFull" );
114 link->getModel()->setXLinkStyleBegin( "None" );
118 void EditXLinkDialog::endStyleChanged( int state )
123 link->getModel()->setXLinkStyleEnd( "HeadFull" );
125 link->getModel()->setXLinkStyleEnd( "None" );
129 bool EditXLinkDialog::useSettingsGlobal ()
131 return ui.useSettings->isChecked();