diff options
author | andreykproductengine <andreykproductengine@lindenlab.com> | 2018-05-22 20:32:56 +0300 |
---|---|---|
committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2018-05-22 20:32:56 +0300 |
commit | b6ba9dd565b59e516571445e56f9dafe3bdf4061 (patch) | |
tree | b6c016eb8f9745498a54317ed5f152e9d03f1eb7 /indra/newview/llfloatereditextdaycycle.h | |
parent | e4973e0f92b524e7f9c2d10745f4c5e3a8557284 (diff) |
MAINT-8344 Day Cycle Editor (part 4, finalization)
Diffstat (limited to 'indra/newview/llfloatereditextdaycycle.h')
-rw-r--r-- | indra/newview/llfloatereditextdaycycle.h | 64 |
1 files changed, 34 insertions, 30 deletions
diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h index 46b34de5c7..0b48b51b5d 100644 --- a/indra/newview/llfloatereditextdaycycle.h +++ b/indra/newview/llfloatereditextdaycycle.h @@ -33,11 +33,11 @@ class LLCheckBoxCtrl; class LLComboBox; +class LLFlyoutComboBtnCtrl; class LLLineEditor; class LLMultiSliderCtrl; class LLTextBox; class LLTimeCtrl; -//class LLFlyoutComboBtnCtrl; typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t; @@ -52,66 +52,63 @@ public: typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)> edit_commit_signal_t; typedef boost::signals2::connection connection_t; - LLFloaterEditExtDayCycle(const LLSD &key); + LLFloaterEditExtDayCycle(const LLSD &key); ~LLFloaterEditExtDayCycle(); void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0)); BOOL postBuild(); void onOpen(const LLSD& key); - void onClose(bool app_quitting); + void onClose(bool app_quitting); void onVisibilityChange(BOOL new_visibility); -// /*virtual*/ void draw(); connection_t setEditCommitSignal(edit_commit_signal_t::slot_type cb); private: -// /// sync the time slider with day cycle structure -// void syncTimeSlider(); -// -// // makes sure key slider has what's in day cycle -// void loadTrack(); -// -// /// makes sure day cycle data structure has what's in menu -// void applyTrack(); -// -// /// refresh the sky presets combobox - -// void onButtonApply(LLUICtrl *ctrl, const LLSD &data); - void onBtnSave(); + // flyout response/click + void onButtonApply(LLUICtrl *ctrl, const LLSD &data); void onBtnCancel(); - void onBtnUpload(); void onAddTrack(); void onRemoveTrack(); void onCommitName(class LLLineEditor* caller, void* user_data); void onTrackSelectionCallback(const LLSD& user_data); - void onTimeSliderMoved(); /// time slider moved - void onFrameSliderCallback(); /// a frame moved or frame selection changed + // time slider moved + void onTimeSliderMoved(); + // a frame moved or frame selection changed + void onFrameSliderCallback(); void selectTrack(U32 track_index); void clearTabs(); void updateTabs(); void updateWaterTabs(const LLSettingsWaterPtr_t &p_water); void updateSkyTabs(const LLSettingsSkyPtr_t &p_sky); + void setWaterTabsEnabled(BOOL enable); + void setSkyTabsEnabled(BOOL enable); void updateButtons(); void updateSlider(); //track to slider void updateTimeAndLabel(); - void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t setting); + void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true); void removeCurrentSliderFrame(); + void setEditingEnv(); + void restoreSavedEnv(); - LLSettingsDay::ptr_t mSavedDay; - LLSettingsDay::ptr_t mEditDay; + // data for restoring previous displayed environment + LLSettingsDay::ptr_t mSavedDay; // the one currently on screen + S32 mSavedEnvironment; + S64Seconds mSavedDayLength; + S64Seconds mSavedDayOffset; + + LLSettingsDay::ptr_t mEditDay; // edited copy + LLSettingsDay::ptr_t mOriginalDay; // the one we are editing S64Seconds mDayLength; S64Seconds mDayOffset; U32 mCurrentTrack; std::string mLastFrameSlider; - LLButton* mSaveButton; LLButton* mCancelButton; - LLButton* mUploadButton; LLButton* mAddFrameButton; LLButton* mDeleteFrameButton; @@ -121,14 +118,21 @@ private: LLView* mWaterTabLayoutContainer; LLTextBox* mCurrentTimeLabel; -// LLFlyoutComboBtnCtrl * mFlyoutControl; // not a View! + LLFlyoutComboBtnCtrl * mFlyoutControl; edit_commit_signal_t mCommitSignal; - // map of sliders to parameters - typedef std::pair<F32, LLSettingsBase::ptr_t> framedata_t; - typedef std::map<std::string, framedata_t> keymap_t; - keymap_t mSliderKeyMap; //slider keys[old_frames], shadows mFramesSlider + // For map of sliders to parameters + class FrameData + { + public: + FrameData() : mFrame(0) {}; + FrameData(F32 frame, LLSettingsBase::ptr_t settings) : mFrame(frame), pSettings(settings) {}; + F32 mFrame; + LLSettingsBase::ptr_t pSettings; + }; + typedef std::map<std::string, FrameData> keymap_t; + keymap_t mSliderKeyMap; //slider's keys vs old_frames&settings, shadows mFramesSlider }; #endif // LL_LLFloaterEditExtDayCycle_H |