From 5ada742f7eed437aea1918fb8ab1dfa09e331f13 Mon Sep 17 00:00:00 2001 From: j-dowsett Date: Wed, 27 Nov 2013 17:28:13 +0000 Subject: [PATCH] Fixed overwriting of axo view when ortho views changed. --- src/Mod/Drawing/Gui/TaskOrthoViews.cpp | 20 +- src/Mod/Drawing/Gui/TaskOrthoViews.h | 1 + src/Mod/Drawing/Gui/TaskOrthoViews.ui | 568 ++++++++++++------------- 3 files changed, 289 insertions(+), 300 deletions(-) diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp index 24d7e34da0..afaa098e33 100644 --- a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp +++ b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp @@ -839,6 +839,8 @@ void TaskOrthoViews::cb_toggled(bool toggle) if (abs(dx * dy) == 1) { + axo = i; + ui->tabWidget->setTabEnabled(1,true); set_axo(); } else @@ -871,6 +873,13 @@ void TaskOrthoViews::cb_toggled(bool toggle) if (view_status[i][2] == dx && view_status[i][3] == dy) break; } + + if (i == axo) + { + axo = 0; + ui->tabWidget->setTabEnabled(1,false); + } + views[i]->activate(false); view_status[i][0] = 0; view_status[i][2] = 0; @@ -934,9 +943,10 @@ void TaskOrthoViews::updateSecondaries() { int direction, rotation; int dx, dy; + int n; for (int i = 1; i < 4; i++) - if (view_status[i][0] == 1) + if ((view_status[i][0] == 1) && (i != axo)) { dx = view_status[i][2]; dy = view_status[i][3]; @@ -996,6 +1006,7 @@ void TaskOrthoViews::smooth(int i) Command::commitCommand(); } + void TaskOrthoViews::axo_flip() { axo_flipped = !axo_flipped; @@ -1031,6 +1042,11 @@ void TaskOrthoViews::axoTopChanged(int i) void TaskOrthoViews::axoChanged(int i) { + if (i == 2) + ui->flip->setEnabled(true); + else + ui->flip->setEnabled(false); + set_axo(); } @@ -1081,7 +1097,7 @@ void TaskOrthoViews::set_axo() angle = (angle > 0) ? 98.8 : -81.2; } } - views[3]->setDir(v[0],v[1],v[2], angle, primary); + views[axo]->setDir(v[0],v[1],v[2], angle, primary); compute(); } diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.h b/src/Mod/Drawing/Gui/TaskOrthoViews.h index 74abbf9e0d..acfc99b400 100644 --- a/src/Mod/Drawing/Gui/TaskOrthoViews.h +++ b/src/Mod/Drawing/Gui/TaskOrthoViews.h @@ -137,6 +137,7 @@ private: float horiz, vert; //centre-centre distances bool axo_flipped; + int axo; float pagewidth, pageheight; //these are actually the available width and height, calculated in constructor. float pageh1, pageh2; //h1 - total usable page height, h2 - total height allowing for info box. diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.ui b/src/Mod/Drawing/Gui/TaskOrthoViews.ui index 848e3e09b8..3ada0cba88 100644 --- a/src/Mod/Drawing/Gui/TaskOrthoViews.ui +++ b/src/Mod/Drawing/Gui/TaskOrthoViews.ui @@ -26,131 +26,6 @@ Orthographic Projection - - - - - - Projection - - - - - - - false - - - - Third Angle - - - - - First Angle - - - - - - - - - - - - Primary View - - - - - - - QComboBox::AdjustToContentsOnFirstShow - - - true - - - - - - - - - Front - - - - - Right - - - - - Back - - - - - Left - - - - - Top - - - - - Bottom - - - - - - - - - Rotate - - - Qt::AlignCenter - - - - - - - - 0 - - - - - 90 - - - - - 180 - - - - - 270 - - - - - - - - - - Qt::Horizontal - - - @@ -624,188 +499,285 @@ - + + + false + Axonometric - - - - 0 - 0 - 231 - 196 - - - - - - - true - - - Switch direction - - - - - - - true - - - - Isometric + + + + + + + false - - - - Dimetric - - - - - Trimetric - - - - - - - - Scale - - - - - - - View projection - - - - - - - Top face - - - - - - - Left face - - - - - - - true - - - - Front - - - - - Right - - - - - Back - - - - - Left - - - - - Top - - - - - Bottom - - - - - - - - true - - - - Right - - - - - Left - - - - - Top - - - - - Bottom - - - - - - - - false - - - - - - - Trimetric - - - - - - - - x / y - - - - - - - - - false + + + Isometric - - - - - - false + + + + Dimetric - - - - - - + + + + Trimetric + + + + + + + + false + + + Switch direction + + + + + + + Scale + + + + + + + View projection + + + + + + + Top face + + + + + + + Left face + + + + + + + false + + + + Front + + + + + Right + + + + + Back + + + + + Left + + + + + Top + + + + + Bottom + + + + + + + + false + + + + Right + + + + + Left + + + + + Top + + + + + Bottom + + + + + + + + false + + + + + + + Trimetric + + + + + + + + + + + + Projection + + + + + + + false + + + + Third Angle + + + + + First Angle + + + + + + + + + + Qt::Horizontal + + + + + + + + + Primary View + + + + + + + QComboBox::AdjustToContentsOnFirstShow + + + true + + + + + + + + + Front + + + + + Right + + + + + Back + + + + + Left + + + + + Top + + + + + Bottom + + + + + + + + - Rotate + + + Qt::AlignCenter + + + + + + + + 0 + + + + + 90 + + + + + 180 + + + + + 270 + + + + + +