diff options
Diffstat (limited to 'indra/newview/llfloaterinventory.h')
-rw-r--r-- | indra/newview/llfloaterinventory.h | 44 |
1 files changed, 38 insertions, 6 deletions
diff --git a/indra/newview/llfloaterinventory.h b/indra/newview/llfloaterinventory.h index 1aaac74c87..1666f18c05 100644 --- a/indra/newview/llfloaterinventory.h +++ b/indra/newview/llfloaterinventory.h @@ -57,6 +57,7 @@ class LLFolderViewItem; class LLInventoryFilter; class LLInventoryModel; class LLInvFVBridge; +class LLInventoryFVBridgeBuilder; class LLMenuBarGL; class LLCheckBoxCtrl; class LLSpinCtrl; @@ -94,12 +95,14 @@ public: Optional<LLInventoryModel*> inventory; Optional<bool> allow_multi_select; Optional<Filter> filter; + Optional<std::string> start_folder; Params() : sort_order_setting("sort_order_setting"), inventory("", &gInventory), allow_multi_select("allow_multi_select", true), - filter("filter") + filter("filter"), + start_folder("start_folder") {} }; @@ -108,7 +111,7 @@ protected: friend class LLUICtrlFactory; public: - ~LLInventoryPanel(); + virtual ~LLInventoryPanel(); LLInventoryModel* getModel() { return mInventory; } @@ -169,17 +172,46 @@ public: protected: // Given the id and the parent, build all of the folder views. - void rebuildViewsFor(const LLUUID& id, U32 mask); - void buildNewViews(const LLUUID& id); + void rebuildViewsFor(const LLUUID& id); + virtual void buildNewViews(const LLUUID& id); // made virtual to support derived classes. EXT-719 + + // Be sure that passed pointer will be destroyed where it was created. + void setInvFVBridgeBuilder(const LLInventoryFVBridgeBuilder* bridge_builder); protected: LLInventoryModel* mInventory; LLInventoryObserver* mInventoryObserver; - LLFolderView* mFolders; - LLScrollContainer* mScroller; BOOL mAllowMultiSelect; std::string mSortOrderSetting; + +//private: // Can not make these private - needed by llinventorysubtreepanel + LLFolderView* mFolders; + std::string mStartFolderString; + LLUUID mStartFolderID; + LLScrollContainer* mScroller; bool mHasInventoryConnection; + + /** + * Flag specified if default inventory hierarchy should be created in postBuild() + */ + bool mBuildDefaultHierarchy; + + /** + * Contains UUID of Inventory item from which hierarchy should be built. + * Should be set by derived class before modelChanged() is called. + * Default is LLUUID::null that means total Inventory hierarchy. + */ + LLUUID mRootInventoryItemUUID; + + /** + * Pointer to LLInventoryFVBridgeBuilder. + * + * It is set in LLInventoryPanel's constructor and can be overridden in derived classes with + * another implementation. + * Take into account it will not be deleted by LLInventoryPanel itself. + */ + const LLInventoryFVBridgeBuilder* mInvFVBridgeBuilder; + }; class LLFloaterInventory; |