mirror of
				https://bitbucket.org/mfeemster/fractorium.git
				synced 2025-10-31 01:10:24 -04:00 
			
		
		
		
	--User changes
-Make the xform name field be a standard edit control so it's always editable.
This commit is contained in:
		| @ -880,6 +880,7 @@ void Fractorium::SetTabOrders() | ||||
| 	w = SetTabOrder(this, w, ui.AddFinalXformButton); | ||||
| 	w = SetTabOrder(this, w, m_XformWeightSpin); | ||||
| 	w = SetTabOrder(this, w, m_XformWeightSpinnerButtonWidget->m_Button); | ||||
| 	w = SetTabOrder(this, w, m_XformNameEdit); | ||||
| 	w = SetTabOrder(this, m_XformColorIndexSpin, ui.XformColorScroll);//Xforms color. | ||||
| 	w = SetTabOrder(this, w, ui.RandomColorIndicesButton); | ||||
| 	w = SetTabOrder(this, w, ui.ToggleColorIndicesButton); | ||||
|  | ||||
| @ -255,7 +255,7 @@ public slots: | ||||
| 	void OnAddFinalXformButtonClicked(bool checked); | ||||
| 	void OnXformWeightChanged(double d); | ||||
| 	void OnEqualWeightButtonClicked(bool checked); | ||||
| 	void OnXformNameChanged(int row, int col); | ||||
| 	void OnXformNameChanged(const QString& s); | ||||
| 	void OnXformAnimateCheckBoxStateChanged(int state); | ||||
|  | ||||
| 	//Xforms Affine. | ||||
| @ -504,6 +504,7 @@ private: | ||||
| 	//Xforms. | ||||
| 	DoubleSpinBox* m_XformWeightSpin; | ||||
| 	SpinnerLabelButtonWidget* m_XformWeightSpinnerButtonWidget; | ||||
| 	QLineEdit* m_XformNameEdit; | ||||
| 	QFormLayout* m_XformsSelectionLayout; | ||||
| 	vector<QCheckBox*> m_XformSelections; | ||||
|  | ||||
|  | ||||
| @ -185,7 +185,7 @@ public: | ||||
| 	virtual void CurrentXformComboChanged(int index) { } | ||||
| 	virtual void XformWeightChanged(double d) { } | ||||
| 	virtual void EqualizeWeights() { } | ||||
| 	virtual void XformNameChanged(int row, int col) { } | ||||
| 	virtual void XformNameChanged(const QString& s) { } | ||||
| 	virtual void XformAnimateChanged(int state) { } | ||||
| 	virtual void FillXforms(int index = 0) { } | ||||
| 	virtual void UpdateXformName(int index) { } | ||||
| @ -467,7 +467,7 @@ public: | ||||
| 	virtual void CurrentXformComboChanged(int index) override; | ||||
| 	virtual void XformWeightChanged(double d) override; | ||||
| 	virtual void EqualizeWeights() override; | ||||
| 	virtual void XformNameChanged(int row, int col) override; | ||||
| 	virtual void XformNameChanged(const QString& s) override; | ||||
| 	virtual void XformAnimateChanged(int state) override; | ||||
| 	virtual void FillXforms(int index = 0) override; | ||||
| 	virtual void UpdateXformName(int index) override; | ||||
|  | ||||
| @ -30,8 +30,9 @@ void Fractorium::InitXformsUI() | ||||
| 	m_XformWeightSpinnerButtonWidget->setMaximumWidth(130); | ||||
| 	connect(m_XformWeightSpinnerButtonWidget->m_Button, SIGNAL(clicked(bool)), this, SLOT(OnEqualWeightButtonClicked(bool)), Qt::QueuedConnection); | ||||
| 	ui.XformWeightNameTable->setCellWidget(0, 0, m_XformWeightSpinnerButtonWidget); | ||||
| 	ui.XformWeightNameTable->setItem(0, 1, new QTableWidgetItem()); | ||||
| 	connect(ui.XformWeightNameTable, SIGNAL(cellChanged(int, int)), this, SLOT(OnXformNameChanged(int, int)), Qt::QueuedConnection); | ||||
| 	m_XformNameEdit = new QLineEdit(ui.XformWeightNameTable); | ||||
| 	ui.XformWeightNameTable->setCellWidget(0, 1, m_XformNameEdit); | ||||
| 	connect(m_XformNameEdit, SIGNAL(textChanged(const QString&)), this, SLOT(OnXformNameChanged(const QString&)), Qt::QueuedConnection); | ||||
| 	ui.CurrentXformCombo->view()->setMinimumWidth(100); | ||||
| 	ui.CurrentXformCombo->view()->setMaximumWidth(500); | ||||
| 	//ui.CurrentXformCombo->view()->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); | ||||
| @ -405,24 +406,23 @@ void Fractorium::OnEqualWeightButtonClicked(bool checked) { m_Controller->Equali | ||||
| /// Update the corresponding xform checkbox text with the name. | ||||
| /// Called when the user types in the name cell of the table. | ||||
| /// </summary> | ||||
| /// <param name="row">The row of the cell</param> | ||||
| /// <param name="col">The col of the cell</param> | ||||
| /// <param name="s">The text of the cell</param> | ||||
| template <typename T> | ||||
| void FractoriumEmberController<T>::XformNameChanged(int row, int col) | ||||
| void FractoriumEmberController<T>::XformNameChanged(const QString& s) | ||||
| { | ||||
| 	bool forceFinal = m_Fractorium->HaveFinal(); | ||||
| 	UpdateXform([&] (Xform<T>* xform, size_t xfindex, size_t selIndex) | ||||
| 	{ | ||||
| 		xform->m_Name = m_Fractorium->ui.XformWeightNameTable->item(row, col)->text().toStdString(); | ||||
| 		xform->m_Name = s.toStdString(); | ||||
| 		XformCheckboxAt(int(xfindex), [&](QCheckBox * checkbox) { checkbox->setText(MakeXformCaption(xfindex)); }); | ||||
| 	}, eXformUpdate::UPDATE_CURRENT, false); | ||||
| 	FillSummary();//Manually update because this does not trigger a render, which is where this would normally be called. | ||||
| 	m_Fractorium->FillXaosTable(); | ||||
| } | ||||
|  | ||||
| void Fractorium::OnXformNameChanged(int row, int col) | ||||
| void Fractorium::OnXformNameChanged(const QString& s) | ||||
| { | ||||
| 	m_Controller->XformNameChanged(row, col); | ||||
| 	m_Controller->XformNameChanged(s); | ||||
| 	m_Controller->UpdateXformName(ui.CurrentXformCombo->currentIndex()); | ||||
| } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Person
					Person