summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatereditextdaycycle.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloatereditextdaycycle.h')
-rw-r--r--indra/newview/llfloatereditextdaycycle.h157
1 files changed, 79 insertions, 78 deletions
diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index c67cfdd274..287d2fe2dc 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -31,13 +31,18 @@
#include "llsettingsdaycycle.h"
#include <boost/signals2.hpp>
+#include "llenvironment.h"
+
class LLCheckBoxCtrl;
class LLComboBox;
+class LLFlyoutComboBtnCtrl;
class LLLineEditor;
class LLMultiSliderCtrl;
class LLTextBox;
class LLTimeCtrl;
+class LLInventoryItem;
+
typedef std::shared_ptr<LLSettingsBase> LLSettingsBasePtr_t;
/**
@@ -48,114 +53,110 @@ class LLFloaterEditExtDayCycle : public LLFloater
LOG_CLASS(LLFloaterEditExtDayCycle);
public:
+ // **RIDER**
+ static const std::string KEY_INVENTORY_ID;
+ static const std::string KEY_LIVE_ENVIRONMENT;
+ static const std::string KEY_DAY_LENGTH;
+ // **RIDER**
+
typedef boost::signals2::signal<void(LLSettingsDay::ptr_t)> edit_commit_signal_t;
typedef boost::signals2::connection connection_t;
- LLFloaterEditExtDayCycle(const LLSD &key);
-
- BOOL postBuild();
- void onOpen(const LLSD& key);
- void onClose(bool app_quitting);
+ LLFloaterEditExtDayCycle(const LLSD &key);
+ ~LLFloaterEditExtDayCycle();
+ //void openFloater(LLSettingsDay::ptr_t settings, S64Seconds daylength = S64Seconds(0), S64Seconds dayoffset = S64Seconds(0));
- /*TEMP*/
- void onUpload();
+ BOOL postBuild();
+ void onOpen(const LLSD& key);
+ 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 onBtnSave();
+ // flyout response/click
+ void onButtonApply(LLUICtrl *ctrl, const LLSD &data);
void onBtnCancel();
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 updateSkyTabs();
- void updateWaterTabs();
+ 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 addSliderFrame(const F32 frame, LLSettingsBase::ptr_t setting);
+ void updateTimeAndLabel();
+ void addSliderFrame(const F32 frame, LLSettingsBase::ptr_t &setting, bool update_ui = true);
void removeCurrentSliderFrame();
- //void updateTrack(); // slider->track, todo: better name
-
-// /// refresh the day cycle combobox
-// void refreshDayCyclesList();
-//
-// /// add a slider to the track
-//
-// void initCallbacks();
-// // LLWLParamKey getSelectedDayCycle();
-// bool isNewDay() const;
-// void dumpTrack();
-// void enableEditing(bool enable);
-// void reset();
-// void saveRegionDayCycle();
-//
-// void setApplyProgress(bool started);
-// bool getApplyProgress() const;
-//
-// void onKeyTimeChanged(); /// a key frame's time changed
-// void onAddKey(); /// new key added on slider
-// void onDeleteKey(); /// a key frame deleted
-//
-// void onRegionSettingsChange();
-// void onRegionChange();
-// void onRegionSettingsApplied(bool success);
-// void onRegionInfoUpdate();
-//
-// void onDayCycleNameEdited();
-// void onDayCycleSelected();
-//
-// bool onSaveAnswer(const LLSD& notification, const LLSD& response);
-// void onSaveConfirmed();
-//
-// void onDayCycleListChange();
-// void onSkyPresetListChange();
-//
-// static std::string getRegionName();
-
- LLSettingsDay::ptr_t mSavedDay;
- LLSettingsDay::ptr_t mEditDay;
+
+ // **RIDER**
+ void loadInventoryItem(const LLUUID &inventoryId);
+ void onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
+ void loadLiveEnvironment(LLEnvironment::EnvSelection_t env);
+
+ void updateEditEnvironment();
+ void syncronizeTabs();
+ void reblendSettings();
+ // **RIDER**
+
+ // data for restoring previous displayed environment
+
+ S32 mSavedEnvironment;
+
+ 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;
+
+ LLMultiSliderCtrl* mTimeSlider;
+ LLMultiSliderCtrl* mFramesSlider;
+ LLView* mSkyTabLayoutContainer;
+ LLView* mWaterTabLayoutContainer;
+ LLTextBox* mCurrentTimeLabel;
+
+ // **RIDER**
+ LLUUID mInventoryId;
+ LLInventoryItem * mInventoryItem;
+ LLEnvironment::EnvSelection_t mEditingEnv;
+ LLTrackBlenderLoopingManual::ptr_t mSkyBlender;
+ LLTrackBlenderLoopingManual::ptr_t mWaterBlender;
+ LLSettingsSky::ptr_t mScratchSky;
+ LLSettingsWater::ptr_t mScratchWater;
+ // **RIDER**
+
+ LLFlyoutComboBtnCtrl * mFlyoutControl;
edit_commit_signal_t mCommitSignal;
- LLMultiSliderCtrl* mTimeSlider;
- LLMultiSliderCtrl* mFramesSlider;
- LLView* mSkyTabLayoutContainer;
- LLView* mWaterTabLayoutContainer;
- LLTextBox* mCurrentTimeLabel;
-
- // 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;
+ // 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