void DiagramSettings::refreshSettings() { if ( d->m_chart && d->m_chart->coordinatePlane() && d->m_chart->coordinatePlane()->diagram() ) { BarDiagram *bars = qobject_cast< BarDiagram* >( d->m_chart->coordinatePlane()->diagram() ); LineDiagram *lines = qobject_cast< LineDiagram* >( d->m_chart->coordinatePlane()->diagram() ); PieDiagram *pie = qobject_cast< PieDiagram* >( d->m_chart->coordinatePlane()->diagram() ); if ( bars ) { const AbstractThreeDAttributes &td = bars->threeDBarAttributes(); d->setThreeDData( td ); } else if ( lines ) { const AbstractThreeDAttributes &td = lines->threeDLineAttributes(); d->setThreeDData( td ); } else if ( pie ) { const AbstractThreeDAttributes &td = pie->threeDPieAttributes(); d->setThreeDData( td ); } BackgroundAttributes bat = d->m_chart->coordinatePlane()->backgroundAttributes(); QBrush setBrush = bat.brush(); QPalette palette = d->ui->diagramBackground->palette(); if ( bat.isVisible() ) palette.setBrush( QPalette::Button, setBrush ); else palette.setBrush( QPalette::Button, this->palette().brush( QPalette::Button ) ); d->ui->diagramBackground->setPalette( palette ); } }
void DiagramSettings::Private::changeThreeD() { if ( m_chart && m_chart->coordinatePlane() && m_chart->coordinatePlane()->diagram() ) { BarDiagram *bars = qobject_cast< BarDiagram* >( m_chart->coordinatePlane()->diagram() ); LineDiagram *lines = qobject_cast< LineDiagram* >( m_chart->coordinatePlane()->diagram() ); PieDiagram *pie = qobject_cast< PieDiagram* >( m_chart->coordinatePlane()->diagram() ); if ( bars ) { ThreeDBarAttributes td( bars->threeDBarAttributes() ); td.setEnabled( ui->threeDSelector->checkState() == Qt::Checked ); td.setUseShadowColors( true ); td.setDepth( ui->barHeightInput->value() ); td.setThreeDBrushEnabled( ui->autoGradient->checkState() == Qt::Checked ); bars->setThreeDBarAttributes( td ); m_chart->update(); } else if ( lines ) { ThreeDLineAttributes td( lines->threeDLineAttributes() ); td.setEnabled( ui->threeDSelector->checkState() == Qt::Checked ); td.setDepth( ui->barHeightInput->value() ); td.setThreeDBrushEnabled( ui->autoGradient->checkState() == Qt::Checked ); lines->setThreeDLineAttributes( td ); m_chart->update(); } else if ( pie ) { ThreeDPieAttributes td( pie->threeDPieAttributes() ); td.setEnabled( ui->threeDSelector->checkState() == Qt::Checked ); td.setDepth( ui->barHeightInput->value() ); td.setThreeDBrushEnabled( ui->autoGradient->checkState() == Qt::Checked ); pie->setThreeDPieAttributes( td ); m_chart->update(); } } }