diff -r 717b20c56358 -r c6a8651e6bbc branchpropwindow.cpp --- a/branchpropwindow.cpp Wed Mar 21 11:51:38 2007 +0000 +++ b/branchpropwindow.cpp Sat Mar 31 09:28:27 2007 +0000 @@ -1,5 +1,7 @@ #include "branchpropwindow.h" +#include + #include "frameobj.h" @@ -10,39 +12,87 @@ branch=NULL; mapEditor=NULL; - connect ( ui.frameTypeCombo, SIGNAL (currentIndexChanged( int)), this, SLOT (frameTypeChanged (int))); - connect ( ui.hideLinkIfUnselected, SIGNAL (stateChanged( int)), this, SLOT (linkHideUnselectedChanged (int))); + ui.tabWidget->setEnabled(false); + + penColor=QColor (Qt::black); + brushColor=QColor (Qt::black); + QPixmap pix( 16,16); + pix.fill (penColor); + ui.framePenColorButton->setPixmap (pix); + ui.frameBrushColorButton->setPixmap (pix); + + connect ( + ui.framePenColorButton, SIGNAL (clicked()), + this, SLOT (framePenColorClicked())); + connect ( + ui.frameBrushColorButton, SIGNAL (clicked()), + this, SLOT (frameBrushColorClicked())); + connect ( + ui.frameTypeCombo, SIGNAL (currentIndexChanged( int)), + this, SLOT (frameTypeChanged (int))); + connect ( + ui.hideLinkIfUnselected, SIGNAL (stateChanged( int)), + this, SLOT (linkHideUnselectedChanged (int))); } void BranchPropertyWindow::setBranch (BranchObj *bo) { - if (!bo) return; branch=bo; + if (bo) + { + ui.tabWidget->setEnabled (true); - // Frame - switch (branch->getFrameType()) + // Frame + FrameType t=branch->getFrameType(); + if (t==NoFrame) + { + ui.frameTypeCombo->setCurrentIndex (0); + penColor=Qt::white; + brushColor=Qt::white; + ui.colorGroupBox->setEnabled (false); + } else + { + penColor=bo->getFramePenColor(); + brushColor=bo->getFrameBrushColor(); + QPixmap pix( 16,16); + pix.fill (penColor); + ui.frameBrushColorButton->setPixmap (pix); + pix.fill (brushColor); + ui.frameBrushColorButton->setPixmap (pix); + ui.colorGroupBox->setEnabled (true); + + switch (t) + { + case Rectangle: + ui.frameTypeCombo->setCurrentIndex (1); + break; + case Ellipse: + ui.frameTypeCombo->setCurrentIndex (2); + break; + default: + break; + } + } + + // Link + if (branch->getHideLinkUnselected()) + ui.hideLinkIfUnselected->setCheckState (Qt::Checked); + else + ui.hideLinkIfUnselected->setCheckState (Qt::Unchecked); + } else { - case NoFrame: - ui.frameTypeCombo->setCurrentIndex (0); - break; - case Rectangle: - ui.frameTypeCombo->setCurrentIndex (1); - break; - case Ellipse: - ui.frameTypeCombo->setCurrentIndex (2); - break; + ui.tabWidget->setEnabled (false); } - - // Link - if (branch->getHideLinkUnselected()) - ui.hideLinkIfUnselected->setCheckState (Qt::Checked); - else - ui.hideLinkIfUnselected->setCheckState (Qt::Unchecked); } void BranchPropertyWindow::setMapEditor (MapEditor *me) { - if (me) mapEditor=me; + mapEditor=me; + if (mapEditor) + setBranch (mapEditor->getSelectedBranch() ); + else + ui.tabWidget->setEnabled (false); + } void BranchPropertyWindow::frameTypeChanged (int i) @@ -50,12 +100,38 @@ if (mapEditor) switch (i) { - case 0: mapEditor->setFrame (NoFrame); break; - case 1: mapEditor->setFrame (Rectangle); break; - case 2: mapEditor->setFrame (Ellipse); break; + case 0: mapEditor->setFrameType (NoFrame); break; + case 1: mapEditor->setFrameType (Rectangle); break; + case 2: mapEditor->setFrameType (Ellipse); break; } } +void BranchPropertyWindow::framePenColorClicked() +{ + if (mapEditor) + { + QColor col = QColorDialog::getColor( penColor, this ); + if ( col.isValid() ) + { + penColor=col; + mapEditor->setFramePenColor (penColor); + } + } +} + +void BranchPropertyWindow::frameBrushColorClicked() +{ + if (mapEditor) + { + QColor col = QColorDialog::getColor( brushColor, this ); + if ( col.isValid() ) + { + brushColor=col; + mapEditor->setFrameBrushColor (brushColor); + } + } +} + void BranchPropertyWindow::linkHideUnselectedChanged (int i) { if (!branch) return;