--Bug fixes

-Only allow editing affines via key press when affines are actually shown.

--Code changes
 -Fix up from Michel's merge.
This commit is contained in:
Person 2020-01-25 15:50:53 -08:00
parent e61b77651a
commit 04b87da642
7 changed files with 214 additions and 328 deletions

View File

@ -234,7 +234,7 @@ Fractorium::~Fractorium()
{
SyncSequenceSettings();
m_VarDialog->SyncSettings();
m_Settings->ShowXforms(ui.ActionDrawPreAffines->isChecked() || ui.ActionDrawPostAffines->isChecked());
m_Settings->ShowXforms(ui.ActionDrawPreAffines->isChecked() || ui.ActionDrawPostAffines->isChecked());
m_Settings->ShowGrid(ui.ActionDrawGrid->isChecked());
m_Settings->setValue("windowState", saveState());
m_Settings->sync();
@ -487,6 +487,10 @@ bool Fractorium::eventFilter(QObject* o, QEvent* e)
return true;
}
else if (!DrawXforms())//Everything below this must be for editing xforms via key press.
{
return true;
}
else if (ke->key() == Qt::Key_W)
{
wcount++;
@ -1079,8 +1083,6 @@ void Fractorium::SetTabOrders()
w = SetTabOrder(this, w, ui.PreScaleCombo);
w = SetTabOrder(this, w, ui.PreScaleUpButton);
w = SetTabOrder(this, w, ui.PreRandomButton);
w = SetTabOrder(this, w, ui.ShowPreAffineSelectedRadio);
w = SetTabOrder(this, w, ui.ShowPreAffineAllRadio);
w = SetTabOrder(this, w, ui.SwapAffinesButton);
w = SetTabOrder(this, w, ui.PostAffineGroupBox);
w = SetTabOrder(this, w, m_PostX1Spin);
@ -1108,8 +1110,6 @@ void Fractorium::SetTabOrders()
w = SetTabOrder(this, w, ui.PostScaleCombo);
w = SetTabOrder(this, w, ui.PostScaleUpButton);
w = SetTabOrder(this, w, ui.PostRandomButton);
w = SetTabOrder(this, w, ui.ShowPostAffineSelectedRadio);
w = SetTabOrder(this, w, ui.ShowPostAffineAllRadio);
w = SetTabOrder(this, w, ui.PolarAffineCheckBox);
w = SetTabOrder(this, w, ui.LocalPivotRadio);
w = SetTabOrder(this, w, ui.WorldPivotRadio);

View File

@ -16,7 +16,7 @@
#include "PaletteEditor/PaletteEditor.h"
/// <summary>
/// An enum representing the type of edit being done.
/// An enum representing the affines being shown.
/// </summary>
enum class eAffineState : int { PRE, ALL_PRE, POST, ALL_POST };
@ -121,8 +121,8 @@ public:
void CurrentXform(uint i);
//Xforms Affine.
bool DrawPreAffines();
bool DrawPostAffines();
bool DrawPreAffines();
bool DrawPostAffines();
bool DrawSelectedPre();
bool DrawAllPre();
bool DrawSelectedPost();
@ -181,8 +181,8 @@ public slots:
void OnActionDP(bool checked);
void OnActionStyle(bool checked);
void OnActionStartStopRenderer(bool checked);
void OnActionDrawAffines(bool checked);
void OnActionDrawAllAffines(bool checked);
void OnActionDrawAffines(bool checked);
void OnActionDrawAllAffines(bool checked);
void OnActionDrawImage(bool checked);
void OnActionDrawGrid(bool checked);
@ -420,8 +420,8 @@ private:
bool HaveFinal();
//Toolbar.
void SaveAffineState();
void SyncAffineStateToToolbar();
void SaveAffineState();
void SyncAffineStateToToolbar();
void SyncOptionsToToolbar();
//Library.
@ -602,7 +602,7 @@ private:
QColor m_VariationTreeBgColorNonZero, m_VariationTreeBgColorZero;
vector<QDockWidget*> m_Docks;
bool m_PreviousAffineState[4];
bool m_PreviousAffineState[4];
int m_FontSize;
int m_VarSortMode;
int m_PaletteSortMode;

View File

@ -80,8 +80,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>1213</width>
<height>978</height>
<width>1277</width>
<height>985</height>
</rect>
</property>
<property name="sizePolicy">
@ -173,7 +173,7 @@
<x>0</x>
<y>0</y>
<width>230</width>
<height>928</height>
<height>934</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
@ -263,30 +263,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>145</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -455,30 +455,30 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<column>
<property name="text">
<string>Geometry</string>
@ -536,30 +536,30 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<column>
<property name="text">
<string>Iteration</string>
@ -636,30 +636,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<column>
<property name="text">
<string>Filter</string>
@ -773,30 +773,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>120</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -1123,30 +1123,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>145</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -1299,30 +1299,30 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<column>
<property name="text">
<string>Animation</string>
@ -1408,30 +1408,30 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>145</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<row>
<property name="text">
<string>Interpolation</string>
@ -1572,30 +1572,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>120</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -1821,30 +1821,30 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>15</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>16</number>
</attribute>
<column>
<property name="text">
<string>Color</string>
@ -2093,27 +2093,27 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
</widget>
</item>
<item>
@ -2216,10 +2216,10 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<attribute name="horizontalHeaderDefaultSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
@ -2231,10 +2231,10 @@
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<row/>
@ -2290,17 +2290,14 @@
<property name="cornerButtonEnabled">
<bool>true</bool>
</property>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>35</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>35</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
@ -2308,6 +2305,9 @@
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
</widget>
</item>
</layout>
@ -2370,8 +2370,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>389</width>
<height>690</height>
<width>285</width>
<height>675</height>
</rect>
</property>
<property name="sizePolicy">
@ -2474,10 +2474,10 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<attribute name="horizontalHeaderDefaultSectionSize">
<number>62</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<attribute name="horizontalHeaderMinimumSectionSize">
<number>62</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
@ -2486,15 +2486,15 @@
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<row/>
<row/>
<row/>
@ -2713,10 +2713,10 @@
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<attribute name="verticalHeaderDefaultSectionSize">
<number>20</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<attribute name="verticalHeaderMinimumSectionSize">
<number>20</number>
</attribute>
<row/>
@ -2825,15 +2825,15 @@
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>16</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -3059,8 +3059,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>277</width>
<height>880</height>
<width>291</width>
<height>876</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_16">
@ -3409,30 +3409,30 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>110</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>21</number>
</attribute>
<row/>
<column>
<property name="text">
@ -3502,7 +3502,7 @@
<enum>QTabWidget::Triangular</enum>
</property>
<property name="currentIndex">
<number>1</number>
<number>2</number>
</property>
<widget class="QWidget" name="XformColorTab">
<property name="sizePolicy">
@ -3627,27 +3627,27 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -3963,30 +3963,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>125</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -4219,7 +4219,7 @@
<bool>false</bool>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
<bool>true</bool>
</property>
<property name="rowCount">
<number>3</number>
@ -4230,15 +4230,15 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>40</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>100</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>40</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
@ -4248,15 +4248,15 @@
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -4897,62 +4897,6 @@
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="PreAffineShowGroupBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Show current only draws the current xforms pre affine transform.&lt;/p&gt;&lt;p&gt;Show all draws all xforms pre affine transforms. This can sometimes clutter the view if the flame contains many xforms.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title">
<string>Show</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="flat">
<bool>false</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QRadioButton" name="ShowPreAffineSelectedRadio">
<property name="text">
<string>Selected</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="ShowPreAffineAllRadio">
<property name="text">
<string>All</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
@ -5080,7 +5024,7 @@
<bool>false</bool>
</property>
<property name="cornerButtonEnabled">
<bool>false</bool>
<bool>true</bool>
</property>
<property name="rowCount">
<number>3</number>
@ -5091,15 +5035,15 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>40</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>100</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>40</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
@ -5109,15 +5053,15 @@
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -5791,56 +5735,6 @@
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="PostAffineShowGroupBox">
<property name="enabled">
<bool>true</bool>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Show current only draws the current xforms post affine transform.&lt;/p&gt;&lt;p&gt;Show all draws all xforms post affine transforms. This can sometimes clutter the view if the flame contains many xforms.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title">
<string>Show</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QRadioButton" name="ShowPostAffineSelectedRadio">
<property name="text">
<string>Selected</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="ShowPostAffineAllRadio">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>All</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
@ -6061,15 +5955,15 @@
<property name="columnCount">
<number>3</number>
</property>
<attribute name="headerMinimumSectionSize">
<number>10</number>
</attribute>
<attribute name="headerDefaultSectionSize">
<number>70</number>
</attribute>
<attribute name="headerHighlightSections">
<bool>true</bool>
</attribute>
<attribute name="headerMinimumSectionSize">
<number>10</number>
</attribute>
<attribute name="headerShowSortIndicator" stdset="0">
<bool>true</bool>
</attribute>
@ -6293,8 +6187,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>253</width>
<height>646</height>
<width>267</width>
<height>670</height>
</rect>
</property>
<property name="sizePolicy">
@ -6424,7 +6318,7 @@
<x>0</x>
<y>0</y>
<width>291</width>
<height>854</height>
<height>856</height>
</rect>
</property>
<property name="sizePolicy">
@ -6554,10 +6448,10 @@
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<attribute name="horizontalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<attribute name="horizontalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
@ -6569,10 +6463,10 @@
<attribute name="verticalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<attribute name="verticalHeaderDefaultSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<attribute name="verticalHeaderMinimumSectionSize">
<number>21</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
@ -6689,12 +6583,12 @@
<attribute name="headerCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="headerMinimumSectionSize">
<number>30</number>
</attribute>
<attribute name="headerDefaultSectionSize">
<number>100</number>
</attribute>
<attribute name="headerMinimumSectionSize">
<number>30</number>
</attribute>
<attribute name="headerShowSortIndicator" stdset="0">
<bool>false</bool>
</attribute>
@ -7093,30 +6987,30 @@
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>110</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderStretchLastSection">
<bool>false</bool>
</attribute>
@ -7302,7 +7196,7 @@
<x>0</x>
<y>0</y>
<width>1712</width>
<height>22</height>
<height>20</height>
</rect>
</property>
<widget class="QMenu" name="MenuFile">
@ -7533,8 +7427,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>488</width>
<height>643</height>
<width>424</width>
<height>574</height>
</rect>
</property>
<property name="sizePolicy">

View File

@ -766,20 +766,20 @@ void Fractorium::OnActionResetWorkspace(bool checked)
/// <param name="checked">Ignored</param>
void Fractorium::OnActionAlternateEditorImage(bool checked)
{
if (DrawPreAffines() || DrawPostAffines())
if (DrawPreAffines() || DrawPostAffines())
{
ui.ActionDrawPreAffines->setChecked(false);
ui.ActionDrawAllPreAffines->setChecked(false);
ui.ActionDrawPostAffines->setChecked(false);
ui.ActionDrawAllPostAffines->setChecked(false);
ui.ActionDrawGrid->setChecked(false);
ui.ActionDrawImage->setChecked(true);
ui.ActionDrawPreAffines->setChecked(false);
ui.ActionDrawAllPreAffines->setChecked(false);
ui.ActionDrawPostAffines->setChecked(false);
ui.ActionDrawAllPostAffines->setChecked(false);
ui.ActionDrawGrid->setChecked(false);
ui.ActionDrawImage->setChecked(true);
}
else
{
ui.ActionDrawImage->setChecked(false);
ui.ActionDrawGrid->setChecked(true);
SyncAffineStateToToolbar();
ui.ActionDrawImage->setChecked(false);
ui.ActionDrawGrid->setChecked(true);
SyncAffineStateToToolbar();
}
ui.GLDisplay->update();

View File

@ -15,22 +15,22 @@ void Fractorium::InitToolbarUI()
spGroup->addAction(ui.ActionDP);
SyncOptionsToToolbar();
ui.ActionDrawImage->setChecked(true);
m_PreviousAffineState[(int)eAffineState::PRE] = true;
m_PreviousAffineState[(int)eAffineState::ALL_PRE] = true;
m_PreviousAffineState[(int)eAffineState::POST] = false;
m_PreviousAffineState[(int)eAffineState::ALL_POST] = false;
connect(ui.ActionCpu, SIGNAL(triggered(bool)), this, SLOT(OnActionCpu(bool)), Qt::QueuedConnection);
connect(ui.ActionCL, SIGNAL(triggered(bool)), this, SLOT(OnActionCL(bool)), Qt::QueuedConnection);
connect(ui.ActionSP, SIGNAL(triggered(bool)), this, SLOT(OnActionSP(bool)), Qt::QueuedConnection);
connect(ui.ActionDP, SIGNAL(triggered(bool)), this, SLOT(OnActionDP(bool)), Qt::QueuedConnection);
connect(ui.ActionStyle, SIGNAL(triggered(bool)), this, SLOT(OnActionStyle(bool)), Qt::QueuedConnection);
connect(ui.ActionStartStopRenderer, SIGNAL(triggered(bool)), this, SLOT(OnActionStartStopRenderer(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawImage, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawImage(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawPreAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawPostAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawAllPreAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAllAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawAllPostAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAllAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawGrid, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawGrid(bool)), Qt::QueuedConnection);
m_PreviousAffineState[int(eAffineState::PRE) ] = true;
m_PreviousAffineState[int(eAffineState::ALL_PRE) ] = true;
m_PreviousAffineState[int(eAffineState::POST) ] = false;
m_PreviousAffineState[int(eAffineState::ALL_POST)] = false;
connect(ui.ActionCpu, SIGNAL(triggered(bool)), this, SLOT(OnActionCpu(bool)), Qt::QueuedConnection);
connect(ui.ActionCL, SIGNAL(triggered(bool)), this, SLOT(OnActionCL(bool)), Qt::QueuedConnection);
connect(ui.ActionSP, SIGNAL(triggered(bool)), this, SLOT(OnActionSP(bool)), Qt::QueuedConnection);
connect(ui.ActionDP, SIGNAL(triggered(bool)), this, SLOT(OnActionDP(bool)), Qt::QueuedConnection);
connect(ui.ActionStyle, SIGNAL(triggered(bool)), this, SLOT(OnActionStyle(bool)), Qt::QueuedConnection);
connect(ui.ActionStartStopRenderer, SIGNAL(triggered(bool)), this, SLOT(OnActionStartStopRenderer(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawImage, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawImage(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawPreAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawPostAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawAllPreAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAllAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawAllPostAffines, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawAllAffines(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawGrid, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawGrid(bool)), Qt::QueuedConnection);
}
/// <summary>
@ -140,14 +140,13 @@ void Fractorium::OnActionStartStopRenderer(bool checked)
/// <param name="checked">Check state, show pre affines if true, else hide.</param>
void Fractorium::OnActionDrawAffines(bool checked)
{
m_Settings->ShowXforms(checked);
m_Settings->ShowXforms(checked);
if (!ui.ActionDrawImage->isChecked() && !(ui.ActionDrawPreAffines->isChecked() || ui.ActionDrawPostAffines->isChecked()))
ui.ActionDrawImage->setChecked(true);
if (!ui.ActionDrawImage->isChecked() && !(ui.ActionDrawPreAffines->isChecked() || ui.ActionDrawPostAffines->isChecked()))
ui.ActionDrawImage->setChecked(true);
SaveAffineState();
ui.GLDisplay->update();
SaveAffineState();
ui.GLDisplay->update();
}
/// <summary>
@ -157,8 +156,8 @@ void Fractorium::OnActionDrawAffines(bool checked)
/// <param name="checked">Check state, show all pre affines if true, else show selected.</param>
void Fractorium::OnActionDrawAllAffines(bool checked)
{
SaveAffineState();
ui.GLDisplay->update();
SaveAffineState();
ui.GLDisplay->update();
}
/// <summary>
@ -168,8 +167,8 @@ void Fractorium::OnActionDrawAllAffines(bool checked)
/// <param name="checked">Check state, show image if true, else hide.</param>
void Fractorium::OnActionDrawImage(bool checked)
{
if (!ui.ActionDrawImage->isChecked())
SyncAffineStateToToolbar();
if (!ui.ActionDrawImage->isChecked())
SyncAffineStateToToolbar();
ui.GLDisplay->update();
}
@ -190,13 +189,13 @@ void Fractorium::OnActionDrawGrid(bool checked)
/// </summary>
void Fractorium::SaveAffineState()
{
if(!ui.ActionDrawPreAffines->isChecked() && !ui.ActionDrawPostAffines->isChecked())
return;
if (!ui.ActionDrawPreAffines->isChecked() && !ui.ActionDrawPostAffines->isChecked())
return;
m_PreviousAffineState[(int)eAffineState::PRE] = ui.ActionDrawPreAffines->isChecked();
m_PreviousAffineState[(int)eAffineState::ALL_PRE] = ui.ActionDrawAllPreAffines->isChecked();
m_PreviousAffineState[(int)eAffineState::POST] = ui.ActionDrawPostAffines->isChecked();
m_PreviousAffineState[(int)eAffineState::ALL_POST] = ui.ActionDrawAllPostAffines->isChecked();
m_PreviousAffineState[int(eAffineState::PRE) ] = ui.ActionDrawPreAffines->isChecked();
m_PreviousAffineState[int(eAffineState::ALL_PRE) ] = ui.ActionDrawAllPreAffines->isChecked();
m_PreviousAffineState[int(eAffineState::POST) ] = ui.ActionDrawPostAffines->isChecked();
m_PreviousAffineState[int(eAffineState::ALL_POST)] = ui.ActionDrawAllPostAffines->isChecked();
}
/// <summary>
@ -205,10 +204,10 @@ void Fractorium::SaveAffineState()
/// </summary>
void Fractorium::SyncAffineStateToToolbar()
{
ui.ActionDrawPreAffines->setChecked(m_PreviousAffineState[(int)eAffineState::PRE]);
ui.ActionDrawAllPreAffines->setChecked(m_PreviousAffineState[(int)eAffineState::ALL_PRE]);
ui.ActionDrawPostAffines->setChecked(m_PreviousAffineState[(int)eAffineState::POST]);
ui.ActionDrawAllPostAffines->setChecked(m_PreviousAffineState[(int)eAffineState::ALL_POST]);
ui.ActionDrawPreAffines->setChecked(m_PreviousAffineState [int(eAffineState::PRE) ]);
ui.ActionDrawAllPreAffines->setChecked(m_PreviousAffineState [int(eAffineState::ALL_PRE) ]);
ui.ActionDrawPostAffines->setChecked(m_PreviousAffineState [int(eAffineState::POST) ]);
ui.ActionDrawAllPostAffines->setChecked(m_PreviousAffineState[int(eAffineState::ALL_POST)]);
}
/// <summary>
@ -247,8 +246,7 @@ void Fractorium::SyncOptionsToToolbar()
}
ui.ActionDrawGrid->setChecked(m_Settings->ShowGrid());
ui.ActionDrawPreAffines->setChecked(m_Settings->ShowXforms());
ui.ActionDrawAllPreAffines->setChecked(m_Settings->ShowXforms());
SaveAffineState();
ui.ActionDrawPreAffines->setChecked(m_Settings->ShowXforms());
ui.ActionDrawAllPreAffines->setChecked(m_Settings->ShowXforms());
SaveAffineState();
}

View File

@ -96,10 +96,6 @@ void Fractorium::InitXformsAffineUI()
connect(ui.PreAffineGroupBox, SIGNAL(toggled(bool)), this, SLOT(OnAffineGroupBoxToggled(bool)), Qt::QueuedConnection);
connect(ui.PostAffineGroupBox, SIGNAL(toggled(bool)), this, SLOT(OnAffineGroupBoxToggled(bool)), Qt::QueuedConnection);
connect(ui.SwapAffinesButton, SIGNAL(clicked(bool)), this, SLOT(OnSwapAffinesButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.ShowPreAffineAllRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
connect(ui.ShowPreAffineSelectedRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
connect(ui.ShowPostAffineAllRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
connect(ui.ShowPostAffineSelectedRadio, SIGNAL(toggled(bool)), this, SLOT(OnAffineDrawAllCurrentRadioButtonToggled(bool)), Qt::QueuedConnection);
connect(ui.PolarAffineCheckBox, SIGNAL(stateChanged(int)), this, SLOT(OnPolarAffineCheckBoxStateChanged(int)), Qt::QueuedConnection);
#ifndef _WIN32
//For some reason linux makes these 24x24, even though the designer explicitly says 16x16.
@ -154,10 +150,8 @@ void Fractorium::InitXformsAffineUI()
m_PostSpins[5] = m_PostO2Spin;
ui.PreAffineGroupBox->setChecked(false);//Flip both once to force enabling/disabling the disabling of the group boxes and the corner buttons.
ui.PreAffineGroupBox->setChecked(true);//Pre affine enabled.
ui.PostAffineGroupBox->setChecked(false);
ui.PostAffineGroupBox->setChecked(true);//Post affine enabled.
ui.PreAffineShowGroupBox->setVisible(false); // michel - to delete
ui.PostAffineShowGroupBox->setVisible(false); // michel - to delete
ui.PostAffineGroupBox->setChecked(false);
ui.PostAffineGroupBox->setChecked(true);//Post affine enabled.
}
/// <summary>

View File

@ -523,8 +523,8 @@ void GLWidget::paintGL()
}
//Affine drawing.
bool pre = m_Fractorium->DrawPreAffines();
bool post = m_Fractorium->DrawPostAffines();
bool pre = m_Fractorium->DrawPreAffines();
bool post = m_Fractorium->DrawPostAffines();
this->glEnable(GL_BLEND);
this->glEnable(GL_LINE_SMOOTH);
this->glEnable(GL_POINT_SMOOTH);
@ -1757,8 +1757,8 @@ void GLWidget::DrawAffineHelper(int index, float circleWidth, float lineWidth, b
template <typename T>
int GLEmberController<T>::UpdateHover(const v3T& glCoords)
{
bool pre = m_Fractorium->DrawPreAffines();
bool post = m_Fractorium->DrawPostAffines();
bool pre = m_Fractorium->DrawPreAffines();
bool post = m_Fractorium->DrawPostAffines();
int i = 0, bestIndex = -1;
T bestDist = 10;
auto ember = m_FractoriumEmberController->CurrentEmber();