From 3a47555dc27ffa74f5427e0ef44fa25b505f6c16 Mon Sep 17 00:00:00 2001 From: leyla_linden <none@none> Date: Wed, 12 Jan 2011 13:38:47 -0800 Subject: [PATCH] SH-777 Wizard top buttons need to be clickable and switch between wizard steps --- indra/newview/llfloatermodelpreview.cpp | 2 + indra/newview/llfloatermodelpreview.h | 5 +- indra/newview/llfloatermodelwizard.cpp | 121 +++++++++++++----- indra/newview/llfloatermodelwizard.h | 7 +- .../{model_wizard => icons}/check_mark.png | Bin .../textures/model_wizard/divider_line.png | Bin 0 -> 2815 bytes .../skins/default/textures/textures.xml | 18 ++- .../BreadCrumbBtn_Left_Disabled.png} | Bin .../BreadCrumbBtn_Left_Off.png} | Bin .../BreadCrumbBtn_Left_Over.png} | Bin .../BreadCrumbBtn_Left_Press.png} | Bin .../BreadCrumbBtn_Middle_Disabled.png} | Bin .../BreadCrumbBtn_Middle_Off.png} | Bin .../BreadCrumbBtn_Middle_Over.png} | Bin .../BreadCrumbBtn_Middle_Press.png} | Bin .../BreadCrumbBtn_Right_Disabled.png} | Bin .../BreadCrumbBtn_Right_Off.png} | Bin .../BreadCrumbBtn_Right_Over.png} | Bin .../BreadCrumbBtn_Right_Press.png} | Bin .../default/xui/en/floater_model_wizard.xml | 75 ++++++----- 20 files changed, 164 insertions(+), 64 deletions(-) rename indra/newview/skins/default/textures/{model_wizard => icons}/check_mark.png (100%) create mode 100644 indra/newview/skins/default/textures/model_wizard/divider_line.png rename indra/newview/skins/default/textures/{model_wizard/left_button_disabled.png => widgets/BreadCrumbBtn_Left_Disabled.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/left_button_off.png => widgets/BreadCrumbBtn_Left_Off.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/left_button_over.png => widgets/BreadCrumbBtn_Left_Over.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/left_button_press.png => widgets/BreadCrumbBtn_Left_Press.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/middle_button_disabled.png => widgets/BreadCrumbBtn_Middle_Disabled.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/middle_button_off.png => widgets/BreadCrumbBtn_Middle_Off.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/middle_button_over.png => widgets/BreadCrumbBtn_Middle_Over.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/middle_button_press.png => widgets/BreadCrumbBtn_Middle_Press.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/right_button_disabled.png => widgets/BreadCrumbBtn_Right_Disabled.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/right_button_off.png => widgets/BreadCrumbBtn_Right_Off.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/right_button_over.png => widgets/BreadCrumbBtn_Right_Over.png} (100%) rename indra/newview/skins/default/textures/{model_wizard/right_button_press.png => widgets/BreadCrumbBtn_Right_Press.png} (100%) diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 47a3a4cd308..8e08c6aa6cc 100755 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -2561,6 +2561,8 @@ void LLModelPreview::loadModelCallback(S32 lod) mLoading = false; refresh(); + + mModelLoadedSignal(); } void LLModelPreview::resetPreviewTarget() diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index 63377bb1d6d..fbf6ead930f 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -251,7 +251,8 @@ class LLMeshFilePicker : public LLFilePickerThread class LLModelPreview : public LLViewerDynamicTexture, public LLMutex { typedef boost::signals2::signal<void (F32 x, F32 y, F32 z, F32 streaming_cost, F32 physics_cost)> details_signal_t; - + typedef boost::signals2::signal<void (void)> model_loaded_signal_t; + public: LLModelPreview(S32 width, S32 height, LLFloater* fmp); virtual ~LLModelPreview(); @@ -288,6 +289,7 @@ class LLModelPreview : public LLViewerDynamicTexture, public LLMutex static void textureLoadedCallback( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ); boost::signals2::connection setDetailsCallback( const details_signal_t::slot_type& cb ){ return mDetailsSignal.connect(cb); } + boost::signals2::connection setModelLoadedCallback( const model_loaded_signal_t::slot_type& cb ){ return mModelLoadedSignal.connect(cb); } protected: friend class LLFloaterModelPreview; @@ -342,6 +344,7 @@ class LLModelPreview : public LLViewerDynamicTexture, public LLMutex std::map<LLModel*, std::vector<LLPointer<LLVertexBuffer> > > mVertexBuffer[LLModel::NUM_LODS+1]; details_signal_t mDetailsSignal; + model_loaded_signal_t mModelLoadedSignal; }; diff --git a/indra/newview/llfloatermodelwizard.cpp b/indra/newview/llfloatermodelwizard.cpp index 19bdea5f44b..095499e6b05 100644 --- a/indra/newview/llfloatermodelwizard.cpp +++ b/indra/newview/llfloatermodelwizard.cpp @@ -52,7 +52,14 @@ static const std::string stateNames[]={ LLFloaterModelWizard::LLFloaterModelWizard(const LLSD& key) : LLFloater(key) { + mLastEnabledState = CHOOSE_FILE; sInstance = this; + + mCommitCallbackRegistrar.add("Wizard.Choose", boost::bind(&LLFloaterModelWizard::setState, this, CHOOSE_FILE)); + mCommitCallbackRegistrar.add("Wizard.Optimize", boost::bind(&LLFloaterModelWizard::setState, this, OPTIMIZE)); + mCommitCallbackRegistrar.add("Wizard.Physics", boost::bind(&LLFloaterModelWizard::setState, this, PHYSICS)); + mCommitCallbackRegistrar.add("Wizard.Review", boost::bind(&LLFloaterModelWizard::setState, this, REVIEW)); + mCommitCallbackRegistrar.add("Wizard.Upload", boost::bind(&LLFloaterModelWizard::setState, this, UPLOAD)); } LLFloaterModelWizard::~LLFloaterModelWizard() { @@ -60,12 +67,12 @@ LLFloaterModelWizard::~LLFloaterModelWizard() } void LLFloaterModelWizard::setState(int state) { + mState = state; - setButtons(state); for(size_t t=0; t<LL_ARRAY_SIZE(stateNames); ++t) { - LLView *view = getChild<LLView>(stateNames[t]+"_panel"); + LLView *view = getChildView(stateNames[t]+"_panel"); if (view) { view->setVisible(state == (int) t ? TRUE : FALSE); @@ -74,60 +81,101 @@ void LLFloaterModelWizard::setState(int state) if (state == CHOOSE_FILE) { + mModelPreview->mViewOption["show_physics"] = false; + + getChildView("close")->setVisible(false); + getChildView("back")->setVisible(true); getChildView("back")->setEnabled(false); + getChildView("next")->setVisible(true); + getChildView("upload")->setVisible(false); + getChildView("cancel")->setVisible(true); } if (state == OPTIMIZE) { - getChildView("back")->setEnabled(true); - //mModelPreview->mModel[lod].clear(); - mModelPreview->genLODs(-1); + if (mLastEnabledState < state) + { + mModelPreview->genLODs(-1); + } + mModelPreview->mViewOption["show_physics"] = false; + + getChildView("back")->setVisible(true); + getChildView("back")->setEnabled(true); + getChildView("close")->setVisible(false); + getChildView("next")->setVisible(true); + getChildView("upload")->setVisible(false); + getChildView("cancel")->setVisible(true); } if (state == PHYSICS) { - mModelPreview->setPhysicsFromLOD(1); + if (mLastEnabledState < state) + { + mModelPreview->setPhysicsFromLOD(1); + } + mModelPreview->mViewOption["show_physics"] = true; - getChild<LLView>("next")->setVisible(true); - getChild<LLView>("upload")->setVisible(false); + getChildView("next")->setVisible(true); + getChildView("upload")->setVisible(false); + getChildView("close")->setVisible(false); + getChildView("back")->setVisible(true); + getChildView("back")->setEnabled(true); + getChildView("cancel")->setVisible(true); } if (state == REVIEW) { - executePhysicsStage("Decompose"); - getChild<LLView>("close")->setVisible(false); - getChild<LLView>("next")->setVisible(false); - getChild<LLView>("back")->setVisible(true); - getChild<LLView>("upload")->setVisible(true); - getChild<LLView>("cancel")->setVisible(true); + if (mLastEnabledState < state) + { + executePhysicsStage("Decompose"); + } + + mModelPreview->mViewOption["show_physics"] = true; + + getChildView("close")->setVisible(false); + getChildView("next")->setVisible(false); + getChildView("back")->setVisible(true); + getChildView("back")->setEnabled(true); + getChildView("upload")->setVisible(true); + getChildView("cancel")->setVisible(true); } if (state == UPLOAD) { - getChild<LLView>("close")->setVisible(true); - getChild<LLView>("back")->setVisible(false); - getChild<LLView>("upload")->setVisible(false); - getChild<LLView>("cancel")->setVisible(false); + getChildView("close")->setVisible(true); + getChildView("next")->setVisible(false); + getChildView("back")->setVisible(false); + getChildView("upload")->setVisible(false); + getChildView("cancel")->setVisible(false); } + + updateButtons(); } -void LLFloaterModelWizard::setButtons(int state) + + +void LLFloaterModelWizard::updateButtons() { + if (mLastEnabledState < mState) + { + mLastEnabledState = mState; + } + for(size_t i=0; i<LL_ARRAY_SIZE(stateNames); ++i) { LLButton *button = getChild<LLButton>(stateNames[i]+"_btn"); - if (i < state) + if (i == mState) { button->setEnabled(TRUE); - button->setToggleState(FALSE); + button->setToggleState(TRUE); } - else if (i == state) + else if (i <= mLastEnabledState) { button->setEnabled(TRUE); - button->setToggleState(TRUE); + button->setToggleState(FALSE); } else { @@ -426,7 +474,7 @@ void LLFloaterModelWizard::DecompRequest::completed() BOOL LLFloaterModelWizard::postBuild() { - LLView* preview_panel = getChild<LLView>("preview_panel"); + LLView* preview_panel = getChildView("preview_panel"); childSetValue("import_scale", (F32) 0.67335826); @@ -439,19 +487,20 @@ BOOL LLFloaterModelWizard::postBuild() getChild<LLUICtrl>("preview_lod_combo")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onPreviewLODCommit, this, _1)); getChild<LLUICtrl>("accuracy_slider")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onAccuracyPerformance, this, _2)); getChild<LLUICtrl>("upload")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onUpload, this)); - + getChild<LLUICtrl>("physics_slider")->setCommitCallback(boost::bind(&LLFloaterModelWizard::onPhysicsChanged, this)); + LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar; enable_registrar.add("Next.OnEnable", boost::bind(&LLFloaterModelWizard::onEnableNext, this)); enable_registrar.add("Back.OnEnable", boost::bind(&LLFloaterModelWizard::onEnableBack, this)); - + mPreviewRect = preview_panel->getRect(); mModelPreview = new LLModelPreview(512, 512, this); mModelPreview->setPreviewTarget(16.f); mModelPreview->setDetailsCallback(boost::bind(&LLFloaterModelWizard::setDetails, this, _1, _2, _3, _4, _5)); - + mModelPreview->setModelLoadedCallback(boost::bind(&LLFloaterModelWizard::modelLoadedCallback, this)); center(); @@ -484,6 +533,18 @@ void LLFloaterModelWizard::setDetails(F32 x, F32 y, F32 z, F32 streaming_cost, F } } +void LLFloaterModelWizard::modelLoadedCallback() +{ + mLastEnabledState = CHOOSE_FILE; + getChild<LLCheckBoxCtrl>("confirm_checkbox")->set(FALSE); + updateButtons(); +} + +void LLFloaterModelWizard::onPhysicsChanged() +{ + mLastEnabledState = PHYSICS; + updateButtons(); +} void LLFloaterModelWizard::onUpload() { @@ -496,7 +557,6 @@ void LLFloaterModelWizard::onUpload() } - void LLFloaterModelWizard::onAccuracyPerformance(const LLSD& data) { int val = (int) data.asInteger(); @@ -506,6 +566,7 @@ void LLFloaterModelWizard::onAccuracyPerformance(const LLSD& data) mModelPreview->refresh(); } + void LLFloaterModelWizard::onPreviewLODCommit(LLUICtrl* ctrl) { if (!mModelPreview) @@ -557,8 +618,8 @@ void LLFloaterModelWizard::draw() gGL.getTexUnit(0)->bind(mModelPreview); - LLView *view = getChild<LLView>(stateNames[mState]+"_panel"); - LLView* preview_panel = view->getChild<LLView>("preview_panel"); + LLView *view = getChildView(stateNames[mState]+"_panel"); + LLView* preview_panel = view->getChildView("preview_panel"); LLRect rect = preview_panel->getRect(); if (rect != mPreviewRect) diff --git a/indra/newview/llfloatermodelwizard.h b/indra/newview/llfloatermodelwizard.h index 335f4f4b567..50e4ab1a96a 100644 --- a/indra/newview/llfloatermodelwizard.h +++ b/indra/newview/llfloatermodelwizard.h @@ -65,7 +65,8 @@ class LLFloaterModelWizard : public LLFloater BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); void setDetails(F32 x, F32 y, F32 z, F32 streaming_cost, F32 physics_cost); - + void modelLoadedCallback(); + void onPhysicsChanged(); void initDecompControls(); LLPhysicsDecomp::decomp_params mDecompParams; @@ -84,7 +85,7 @@ class LLFloaterModelWizard : public LLFloater }; void setState(int state); - void setButtons(int state); + void updateButtons(); void onClickCancel(); void onClickBack(); void onClickNext(); @@ -102,6 +103,8 @@ class LLFloaterModelWizard : public LLFloater S32 mLastMouseX; S32 mLastMouseY; + U32 mLastEnabledState; + }; diff --git a/indra/newview/skins/default/textures/model_wizard/check_mark.png b/indra/newview/skins/default/textures/icons/check_mark.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/check_mark.png rename to indra/newview/skins/default/textures/icons/check_mark.png diff --git a/indra/newview/skins/default/textures/model_wizard/divider_line.png b/indra/newview/skins/default/textures/model_wizard/divider_line.png new file mode 100644 index 0000000000000000000000000000000000000000..76c9e687675f26f2ba50465eaeee21146307515a GIT binary patch literal 2815 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 R^lShC002ovPDHLkV1oZqHU0nq literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index e69c5775f02..d351c442d3d 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -73,7 +73,22 @@ with the same filename but different name <texture name="BackButton_Press" file_name="icons/back_arrow_press.png" preload="false" scale.left="22" scale.top="12" scale.right="25" scale.bottom="12" /> <texture name="Blank" file_name="Blank.png" preload="false" /> - + + <texture name="BreadCrumbBtn_Left_Disabled" file_name="widgets/BreadCrumbBtn_Left_Disabled.png" preload="false"/> + <texture name="BreadCrumbBtn_Left_Off" file_name="widgets/BreadCrumbBtn_Left_Off.png" preload="false"/> + <texture name="BreadCrumbBtn_Left_Over" file_name="widgets/BreadCrumbBtn_Left_Over.png" preload="false"/> + <texture name="BreadCrumbBtn_Left_Press" file_name="widgets/BreadCrumbBtn_Left_Press.png" preload="false"/> + + <texture name="BreadCrumbBtn_Middle_Disabled" file_name="widgets/BreadCrumbBtn_Middle_Disabled.png" preload="false"/> + <texture name="BreadCrumbBtn_Middle_Off" file_name="widgets/BreadCrumbBtn_Middle_Off.png" preload="false"/> + <texture name="BreadCrumbBtn_Middle_Over" file_name="widgets/BreadCrumbBtn_Middle_Over.png" preload="false"/> + <texture name="BreadCrumbBtn_Middle_Press" file_name="widgets/BreadCrumbBtn_Middle_Press.png" preload="false"/> + + <texture name="BreadCrumbBtn_Right_Disabled" file_name="widgets/BreadCrumbBtn_Right_Disabled.png" preload="false"/> + <texture name="BreadCrumbBtn_Right_Off" file_name="widgets/BreadCrumbBtn_Right_Off.png" preload="false"/> + <texture name="BreadCrumbBtn_Right_Over" file_name="widgets/BreadCrumbBtn_Right_Over.png" preload="false"/> + <texture name="BreadCrumbBtn_Right_Press" file_name="widgets/BreadCrumbBtn_Right_Press.png" preload="false"/> + <texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="0" scale.top="1" scale.right="0" scale.bottom="0" /> <texture name="BuyArrow_Press" file_name="navbar/BuyArrow_Press.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" /> @@ -102,6 +117,7 @@ with the same filename but different name <texture name="Checkbox_On" file_name="widgets/Checkbox_On.png" preload="true" /> <texture name="Checkbox_On_Press" file_name="widgets/Checkbox_On_Press.png" preload="true" /> <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> + <texture name="Check_Mark" file_name="icons/check_mark" preload="true" /> <texture name="ComboButton_Disabled" file_name="widgets/ComboButton_Disabled.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Selected" file_name="widgets/ComboButton_Selected.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> diff --git a/indra/newview/skins/default/textures/model_wizard/left_button_disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/left_button_disabled.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png diff --git a/indra/newview/skins/default/textures/model_wizard/left_button_off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/left_button_off.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png diff --git a/indra/newview/skins/default/textures/model_wizard/left_button_over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/left_button_over.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png diff --git a/indra/newview/skins/default/textures/model_wizard/left_button_press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/left_button_press.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png diff --git a/indra/newview/skins/default/textures/model_wizard/middle_button_disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/middle_button_disabled.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png diff --git a/indra/newview/skins/default/textures/model_wizard/middle_button_off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/middle_button_off.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png diff --git a/indra/newview/skins/default/textures/model_wizard/middle_button_over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/middle_button_over.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png diff --git a/indra/newview/skins/default/textures/model_wizard/middle_button_press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/middle_button_press.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png diff --git a/indra/newview/skins/default/textures/model_wizard/right_button_disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/right_button_disabled.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png diff --git a/indra/newview/skins/default/textures/model_wizard/right_button_off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/right_button_off.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png diff --git a/indra/newview/skins/default/textures/model_wizard/right_button_over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/right_button_over.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png diff --git a/indra/newview/skins/default/textures/model_wizard/right_button_press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png similarity index 100% rename from indra/newview/skins/default/textures/model_wizard/right_button_press.png rename to indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png diff --git a/indra/newview/skins/default/xui/en/floater_model_wizard.xml b/indra/newview/skins/default/xui/en/floater_model_wizard.xml index d8492a10bb6..2377a9e4ef7 100644 --- a/indra/newview/skins/default/xui/en/floater_model_wizard.xml +++ b/indra/newview/skins/default/xui/en/floater_model_wizard.xml @@ -18,12 +18,15 @@ enabled="false" label="5. Upload" border="false" - image_unselected="model_wizard/middle_button_off.png" - image_selected="model_wizard/middle_button_press.png" - image_hover_unselected="model_wizard/middle_button_over.png" - image_disabled="model_wizard/middle_button_disabled.png" - image_disabled_selected="model_wizard/middle_button_disabled.png" - width="110"/> + image_unselected="BreadCrumbBtn_Right_Off" + image_selected="BreadCrumbBtn_Right_Press" + image_hover_unselected="BreadCrumbBtn_Right_Over" + image_disabled="BreadCrumbBtn_Right_Disabled" + image_disabled_selected="BreadCrumbBtn_Right_Disabled" + width="110"> + <button.commit_callback + function="Wizard.Upload"/> + </button> <button top="32" left="310" @@ -33,12 +36,15 @@ label="4. Review" enabled="false" border="false" - image_unselected="model_wizard/middle_button_off.png" - image_selected="model_wizard/middle_button_press.png" - image_hover_unselected="model_wizard/middle_button_over.png" - image_disabled="model_wizard/middle_button_disabled.png" - image_disabled_selected="model_wizard/middle_button_disabled.png" - width="110"/> + image_unselected="BreadCrumbBtn_Middle_Off" + image_selected="BreadCrumbBtn_Middle_Press" + image_hover_unselected="BreadCrumbBtn_Middle_Over" + image_disabled="BreadCrumbBtn_Middle_Disabled" + image_disabled_selected="BreadCrumbBtn_Middle_Disabled" + width="110"> + <button.commit_callback + function="Wizard.Review"/> + </button> <button top="32" left="210" @@ -48,12 +54,15 @@ tab_stop="false" enabled="false" border="false" - image_unselected="model_wizard/middle_button_off.png" - image_selected="model_wizard/middle_button_press.png" - image_hover_unselected="model_wizard/middle_button_over.png" - image_disabled="model_wizard/middle_button_disabled.png" - image_disabled_selected="model_wizard/middle_button_disabled.png" - width="110"/> + image_unselected="BreadCrumbBtn_Middle_Off" + image_selected="BreadCrumbBtn_Middle_Press" + image_hover_unselected="BreadCrumbBtn_Middle_Over" + image_disabled="BreadCrumbBtn_Middle_Disabled" + image_disabled_selected="BreadCrumbBtn_Middle_Disabled" + width="110"> + <button.commit_callback + function="Wizard.Physics"/> + </button> <button top="32" left="115" @@ -62,12 +71,15 @@ tab_stop="false" height="32" border="false" - image_unselected="model_wizard/middle_button_off.png" - image_selected="model_wizard/middle_button_press.png" - image_hover_unselected="model_wizard/middle_button_over.png" - image_disabled="model_wizard/middle_button_disabled.png" - image_disabled_selected="model_wizard/middle_button_disabled.png" - width="110"/> + image_unselected="BreadCrumbBtn_Middle_Off" + image_selected="BreadCrumbBtn_Middle_Press" + image_hover_unselected="BreadCrumbBtn_Middle_Over" + image_disabled="BreadCrumbBtn_Middle_Disabled" + image_disabled_selected="BreadCrumbBtn_Middle_Disabled" + width="110"> + <button.commit_callback + function="Wizard.Optimize"/> + </button> <button top="32" left="15" @@ -76,12 +88,15 @@ enabled="false" label="1. Choose File" height="32" - image_unselected="model_wizard/left_button_off.png" - image_selected="model_wizard/left_button_press.png" - image_hover_unselected="model_wizard/left_button_over.png" - image_disabled="model_wizard/left_button_disabled.png" - image_disabled_selected="model_wizard/left_button_disabled.png" - width="110"/> + image_unselected="BreadCrumbBtn_Left_Off" + image_selected="BreadCrumbBtn_Left_Press" + image_hover_unselected="BreadCrumbBtn_Left_Over" + image_disabled="BreadCrumbBtn_Left_Disabled" + image_disabled_selected="BreadCrumbBtn_Left_Disabled" + width="110"> + <button.commit_callback + function="Wizard.Choose"/> + </button> <panel height="388" top_pad="0" -- GitLab