initial import
[vym] / editxlinkdialog.cpp
diff --git a/editxlinkdialog.cpp b/editxlinkdialog.cpp
new file mode 100644 (file)
index 0000000..b92bff7
--- /dev/null
@@ -0,0 +1,78 @@
+#include "editxlinkdialog.h"
+
+#include <typeinfo>
+#include <QColorDialog>
+
+EditXLinkDialog::EditXLinkDialog (QWidget *parent):QDialog (parent)
+{
+       ui.setupUi (this);
+
+       delink=false;
+       xlo=false;
+       selection=NULL;
+
+       connect ( ui.widthBox, SIGNAL (valueChanged( int)), this, SLOT (widthChanged (int)));
+       connect ( ui.colorButton, SIGNAL (clicked( )), this, SLOT (colorButtonPressed()));
+       connect ( ui.setColorHeadingButton, SIGNAL (clicked( )), this, SLOT (setColorHeadingButtonPressed()));
+       connect ( ui.deleteButton, SIGNAL (clicked( )), this, SLOT (deleteButtonPressed()));
+}
+
+void EditXLinkDialog::deleteButtonPressed()
+{
+       delink=true;
+       accept();
+}
+
+bool EditXLinkDialog::deleteXLink()
+{
+       return delink;
+}      
+
+
+void EditXLinkDialog::widthChanged( int  w)
+{
+       xlo->setWidth(w);
+}
+
+void EditXLinkDialog::setXLink( XLinkObj * xo)
+{
+       xlo=xo;
+       ui.colorButton->setPaletteBackgroundColor (xlo->getColor() );
+       ui.widthBox->setValue(xlo->getWidth());
+}
+
+void EditXLinkDialog::setSelection(LinkableMapObj *s)
+{
+       selection=s;
+}
+
+void EditXLinkDialog::colorButtonPressed()
+{
+       if (xlo)
+       {       
+               QColor col = QColorDialog::getColor(xlo->getColor(), this );
+               if ( !col.isValid() ) return;
+               xlo->setColor( col );
+               ui.colorButton->setPaletteBackgroundColor (col);
+       }
+}
+
+void EditXLinkDialog::setColorHeadingButtonPressed()
+{
+       if (xlo)
+       {       
+               if (selection && 
+                       ((typeid(*selection) == typeid(BranchObj)) || 
+                        (typeid(*selection) == typeid(MapCenterObj)))  )
+               {
+                       QColor col=((BranchObj*)(selection))->getColor();
+                       xlo->setColor(col);
+                       ui.colorButton->setPaletteBackgroundColor (col);
+               }
+       }
+}
+
+bool EditXLinkDialog::useSettingsGlobal ()
+{
+       return ui.useSettings->isChecked();
+}