summaryrefslogtreecommitdiff
path: root/indra/newview/lltexturectrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lltexturectrl.h')
-rw-r--r--indra/newview/lltexturectrl.h32
1 files changed, 28 insertions, 4 deletions
diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h
index d82a167c93..180c4fa4b8 100644
--- a/indra/newview/lltexturectrl.h
+++ b/indra/newview/lltexturectrl.h
@@ -64,6 +64,14 @@ bool get_is_predefined_texture(LLUUID asset_id);
LLUUID get_copy_free_item_by_asset_id(LLUUID image_id, bool no_trans_perm = false);
bool get_can_copy_texture(LLUUID image_id);
+enum LLPickerSource
+{
+ PICKER_INVENTORY,
+ PICKER_LOCAL,
+ PICKER_BAKE,
+ PICKER_UNKNOWN, // on cancel, default ids
+};
+
//////////////////////////////////////////////////////////////////////////////////////////
// LLTextureCtrl
@@ -192,7 +200,7 @@ public:
void closeDependentFloater();
void onFloaterClose();
- void onFloaterCommit(ETexturePickOp op, LLUUID id);
+ void onFloaterCommit(ETexturePickOp op, LLPickerSource source, const LLUUID& local_id, const LLUUID& inv_id);
// This call is returned when a drag is detected. Your callback
// should return TRUE if the drag is acceptable.
@@ -264,7 +272,7 @@ private:
//////////////////////////////////////////////////////////////////////////////////////////
// LLFloaterTexturePicker
-typedef boost::function<void(LLTextureCtrl::ETexturePickOp op, LLUUID id)> floater_commit_callback;
+typedef boost::function<void(LLTextureCtrl::ETexturePickOp op, LLPickerSource source, const LLUUID& asset_id, const LLUUID& inventory_id)> floater_commit_callback;
typedef boost::function<void()> floater_close_callback;
typedef boost::function<void(const LLUUID& asset_id)> set_image_asset_id_callback;
typedef boost::function<void(LLPointer<LLViewerTexture> texture)> set_on_update_image_stats_callback;
@@ -298,11 +306,12 @@ public:
// LLFloater overrides
/*virtual*/ BOOL postBuild();
+ /*virtual*/ void onOpen(const LLSD& key);
/*virtual*/ void onClose(bool app_settings);
// New functions
void setImageID(const LLUUID& image_asset_id, bool set_selection = true);
- void updateImageStats();
+ bool updateImageStats(); // true if within limits
const LLUUID& getAssetID() { return mImageAssetID; }
const LLUUID& findItemID(const LLUUID& asset_id, BOOL copyable_only, BOOL ignore_library = FALSE);
void setCanApplyImmediately(BOOL b);
@@ -314,11 +323,13 @@ public:
void stopUsingPipette();
void commitIfImmediateSet();
+ void commitCallback(LLTextureCtrl::ETexturePickOp op);
void commitCancel();
void onFilterEdit(const std::string& search_string);
- void setCanApply(bool can_preview, bool can_apply);
+ void setCanApply(bool can_preview, bool can_apply, bool inworld_image = true);
+ void setMinDimentionsLimits(S32 min_dim);
void setTextureSelectedCallback(const texture_selected_callback& cb) { mTextureSelectedCallback = cb; }
void setOnFloaterCloseCallback(const floater_close_callback& cb) { mOnFloaterCloseCallback = cb; }
void setOnFloaterCommitCallback(const floater_commit_callback& cb) { mOnFloaterCommitCallback = cb; }
@@ -355,6 +366,7 @@ public:
static void onPickerCallback(const std::vector<std::string>& filenames, LLHandle<LLFloater> handle);
protected:
+ void changeMode();
void refreshLocalList();
void refreshInventoryFilter();
void setImageIDFromItem(const LLInventoryItem* itemp, bool set_selection = true);
@@ -376,6 +388,7 @@ protected:
LLTextBox* mTentativeLabel;
LLTextBox* mResolutionLabel;
+ LLTextBox* mResolutionWarning;
std::string mPendingName;
BOOL mActive;
@@ -392,11 +405,20 @@ protected:
LLComboBox* mModeSelector;
LLScrollListCtrl* mLocalScrollCtrl;
+ LLButton* mDefaultBtn;
+ LLButton* mNoneBtn;
+ LLButton* mBlankBtn;
+ LLButton* mPipetteBtn;
+ LLButton* mSelectBtn;
+ LLButton* mCancelBtn;
private:
bool mCanApply;
bool mCanPreview;
bool mPreviewSettingChanged;
+ bool mLimitsSet;
+ S32 mMaxDim;
+ S32 mMinDim;
LLTextureCtrl::EPickInventoryType mInventoryPickType;
@@ -407,6 +429,8 @@ private:
set_on_update_image_stats_callback mOnUpdateImageStatsCallback;
BOOL mBakeTextureEnabled;
+
+ static S32 sLastPickerMode;
};
#endif // LL_LLTEXTURECTRL_H