summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelmaininventory.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelmaininventory.h')
-rw-r--r--indra/newview/llpanelmaininventory.h530
1 files changed, 265 insertions, 265 deletions
diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h
index 2d74670cab..f1e4476bb0 100644
--- a/indra/newview/llpanelmaininventory.h
+++ b/indra/newview/llpanelmaininventory.h
@@ -1,265 +1,265 @@
-/**
- * @file llpanelmaininventory.h
- * @brief llpanelmaininventory.h
- * class definition
- *
- * $LicenseInfo:firstyear=2001&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLPANELMAININVENTORY_H
-#define LL_LLPANELMAININVENTORY_H
-
-#include "llpanel.h"
-#include "llinventoryobserver.h"
-#include "llinventorypanel.h"
-#include "lldndbutton.h"
-
-#include "llfolderview.h"
-
-class LLComboBox;
-class LLFolderViewItem;
-class LLInventoryPanel;
-class LLInventoryGallery;
-class LLSaveFolderState;
-class LLFilterEditor;
-class LLTabContainer;
-class LLFloaterInventoryFinder;
-class LLMenuButton;
-class LLMenuGL;
-class LLSidepanelInventory;
-class LLToggleableMenu;
-class LLFloater;
-class LLFloaterSidePanelContainer;
-
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// Class LLPanelMainInventory
-//
-// This is a panel used to view and control an agent's inventory,
-// including all the fixin's (e.g. AllItems/RecentItems tabs, filter floaters).
-//
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-class LLPanelMainInventory : public LLPanel, LLInventoryObserver
-{
-public:
- friend class LLFloaterInventoryFinder;
-
- LLPanelMainInventory(const LLPanel::Params& p = getDefaultParams());
- ~LLPanelMainInventory();
-
- bool postBuild();
-
- enum EViewModeType
- {
- MODE_LIST,
- MODE_GALLERY,
- MODE_COMBINATION
- };
-
- virtual bool handleKeyHere(KEY key, MASK mask);
-
- // Inherited functionality
- /*virtual*/ bool handleDragAndDrop(S32 x, S32 y, MASK mask, bool drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- EAcceptance* accept,
- std::string& tooltip_msg);
- /*virtual*/ void changed(U32);
- /*virtual*/ void draw();
- /*virtual*/ void onVisibilityChange ( bool new_visibility );
-
- LLInventoryPanel* getPanel() { return mActivePanel; }
- LLInventoryPanel* getActivePanel() { return mActivePanel; }
- LLInventoryPanel* getAllItemsPanel();
- void selectAllItemsPanel();
- const LLInventoryPanel* getActivePanel() const { return mActivePanel; }
- void setActivePanel();
-
- bool isRecentItemsPanelSelected();
-
- const std::string& getFilterText() const { return mFilterText; }
-
- void setSelectCallback(const LLFolderView::signal_t::slot_type& cb);
-
- void onFilterEdit(const std::string& search_string );
-
- void setFocusFilterEditor();
-
- static LLFloaterSidePanelContainer* newWindow();
- static void newFolderWindow(LLUUID folder_id = LLUUID(), LLUUID item_to_select = LLUUID());
-
- void toggleFindOptions();
-
- void resetFilters();
- void resetAllItemsFilters();
-
- void findLinks(const LLUUID& item_id, const std::string& item_name);
-
- void onViewModeClick();
- void toggleViewMode();
- void initSingleFolderRoot(const LLUUID& start_folder_id = LLUUID::null);
- void initInventoryViews();
- void onUpFolderClicked();
- void onBackFolderClicked();
- void onForwardFolderClicked();
- void setSingleFolderViewRoot(const LLUUID& folder_id, bool clear_nav_history = true);
- void setGallerySelection(const LLUUID& item_id, bool new_window = false);
- LLUUID getSingleFolderViewRoot();
- bool isSingleFolderMode() { return mSingleFolderMode; }
-
- void scrollToGallerySelection();
- void scrollToInvPanelSelection();
-
- void setViewMode(EViewModeType mode);
- bool isListViewMode() { return (mViewMode == MODE_LIST); }
- bool isGalleryViewMode() { return (mViewMode == MODE_GALLERY); }
- bool isCombinationViewMode() { return (mViewMode == MODE_COMBINATION); }
- LLUUID getCurrentSFVRoot();
- std::string getLocalizedRootName();
-
- LLInventoryFilter& getCurrentFilter();
-
-protected:
- //
- // Misc functions
- //
- void setFilterTextFromFilter();
- void startSearch();
-
- void onSelectionChange(LLInventoryPanel *panel, const std::deque<LLFolderViewItem*>& items, bool user_action);
-
- static bool filtersVisible(void* user_data);
- void onClearSearch();
- static void onFoldersByName(void *user_data);
- static bool checkFoldersByName(void *user_data);
-
- static bool incrementalFind(LLFolderViewItem* first_item, const char *find_text, bool backward);
- void onFilterSelected();
-
- const std::string getFilterSubString();
- void setFilterSubString(const std::string& string);
-
- // menu callbacks
- void doToSelected(const LLSD& userdata);
- void closeAllFolders();
- void doCreate(const LLSD& userdata);
- void setSortBy(const LLSD& userdata);
- void saveTexture(const LLSD& userdata);
- bool isSaveTextureEnabled(const LLSD& userdata);
- void updateItemcountText();
-
- void updatePanelVisibility();
- void updateCombinationVisibility();
-
- void onFocusReceived();
- void onSelectSearchType();
- void updateSearchTypeCombo();
- void setSearchType(LLInventoryFilter::ESearchType type);
-
- LLSidepanelInventory* getParentSidepanelInventory();
-
-private:
- LLFloaterInventoryFinder* getFinder();
-
- LLFilterEditor* mFilterEditor;
- LLTabContainer* mFilterTabs;
- LLUICtrl* mCounterCtrl;
- LLHandle<LLFloater> mFinderHandle;
- LLInventoryPanel* mActivePanel;
- LLInventoryPanel* mWornItemsPanel;
- bool mResortActivePanel;
- LLSaveFolderState* mSavedFolderState;
- std::string mFilterText;
- std::string mFilterSubString;
- S32 mItemCount;
- std::string mItemCountString;
- S32 mCategoryCount;
- std::string mCategoryCountString;
- LLComboBox* mSearchTypeCombo;
-
- LLButton* mBackBtn;
- LLButton* mForwardBtn;
- LLButton* mUpBtn;
- LLButton* mViewModeBtn;
- LLLayoutPanel* mNavigationBtnsPanel;
-
- LLPanel* mDefaultViewPanel;
- LLPanel* mCombinationViewPanel;
-
- bool mSingleFolderMode;
- EViewModeType mViewMode;
-
- LLInventorySingleFolderPanel* mCombinationInventoryPanel;
- LLInventoryGallery* mCombinationGalleryPanel;
- LLPanel* mCombinationGalleryLayoutPanel;
- LLLayoutPanel* mCombinationListLayoutPanel;
- LLLayoutStack* mCombinationLayoutStack;
-
- boost::signals2::connection mListViewRootUpdatedConnection;
- boost::signals2::connection mGalleryRootUpdatedConnection;
-
- //////////////////////////////////////////////////////////////////////////////////
- // List Commands //
-protected:
- void initListCommandsHandlers();
- void updateListCommands();
- void onAddButtonClick();
- void showActionMenu(LLMenuGL* menu, std::string spawning_view_name);
- void onClipboardAction(const LLSD& userdata);
- bool isActionEnabled(const LLSD& command_name);
- bool isActionChecked(const LLSD& userdata);
- void onCustomAction(const LLSD& command_name);
- bool isActionVisible(const LLSD& userdata);
- static bool hasSettingsInventory();
- static bool hasMaterialsInventory();
- void updateTitle();
- void updateNavButtons();
-
- void onCombinationRootChanged(bool gallery_clicked);
- void onCombinationGallerySelectionChanged(const LLUUID& category_id);
- void onCombinationInventorySelectionChanged(const std::deque<LLFolderViewItem*>& items, bool user_action);
- /**
- * Set upload cost in "Upload" sub menu.
- */
- void setUploadCostIfNeeded();
- void disableAddIfNeeded();
-private:
- LLToggleableMenu* mMenuGearDefault;
- LLToggleableMenu* mMenuViewDefault;
- LLToggleableMenu* mMenuVisibility;
- LLMenuButton* mGearMenuButton;
- LLMenuButton* mViewMenuButton;
- LLMenuButton* mVisibilityMenuButton;
- LLHandle<LLView> mMenuAddHandle;
-
- bool mNeedUploadCost;
-
- bool mForceShowInvLayout;
- bool mReshapeInvLayout;
- LLUUID mCombInvUUIDNeedsRename;
- // List Commands //
- ////////////////////////////////////////////////////////////////////////////////
-};
-
-#endif // LL_LLPANELMAININVENTORY_H
-
-
-
+/**
+ * @file llpanelmaininventory.h
+ * @brief llpanelmaininventory.h
+ * class definition
+ *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLPANELMAININVENTORY_H
+#define LL_LLPANELMAININVENTORY_H
+
+#include "llpanel.h"
+#include "llinventoryobserver.h"
+#include "llinventorypanel.h"
+#include "lldndbutton.h"
+
+#include "llfolderview.h"
+
+class LLComboBox;
+class LLFolderViewItem;
+class LLInventoryPanel;
+class LLInventoryGallery;
+class LLSaveFolderState;
+class LLFilterEditor;
+class LLTabContainer;
+class LLFloaterInventoryFinder;
+class LLMenuButton;
+class LLMenuGL;
+class LLSidepanelInventory;
+class LLToggleableMenu;
+class LLFloater;
+class LLFloaterSidePanelContainer;
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// Class LLPanelMainInventory
+//
+// This is a panel used to view and control an agent's inventory,
+// including all the fixin's (e.g. AllItems/RecentItems tabs, filter floaters).
+//
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+class LLPanelMainInventory : public LLPanel, LLInventoryObserver
+{
+public:
+ friend class LLFloaterInventoryFinder;
+
+ LLPanelMainInventory(const LLPanel::Params& p = getDefaultParams());
+ ~LLPanelMainInventory();
+
+ bool postBuild();
+
+ enum EViewModeType
+ {
+ MODE_LIST,
+ MODE_GALLERY,
+ MODE_COMBINATION
+ };
+
+ virtual bool handleKeyHere(KEY key, MASK mask);
+
+ // Inherited functionality
+ /*virtual*/ bool handleDragAndDrop(S32 x, S32 y, MASK mask, bool drop,
+ EDragAndDropType cargo_type,
+ void* cargo_data,
+ EAcceptance* accept,
+ std::string& tooltip_msg);
+ /*virtual*/ void changed(U32);
+ /*virtual*/ void draw();
+ /*virtual*/ void onVisibilityChange ( bool new_visibility );
+
+ LLInventoryPanel* getPanel() { return mActivePanel; }
+ LLInventoryPanel* getActivePanel() { return mActivePanel; }
+ LLInventoryPanel* getAllItemsPanel();
+ void selectAllItemsPanel();
+ const LLInventoryPanel* getActivePanel() const { return mActivePanel; }
+ void setActivePanel();
+
+ bool isRecentItemsPanelSelected();
+
+ const std::string& getFilterText() const { return mFilterText; }
+
+ void setSelectCallback(const LLFolderView::signal_t::slot_type& cb);
+
+ void onFilterEdit(const std::string& search_string );
+
+ void setFocusFilterEditor();
+
+ static LLFloaterSidePanelContainer* newWindow();
+ static void newFolderWindow(LLUUID folder_id = LLUUID(), LLUUID item_to_select = LLUUID());
+
+ void toggleFindOptions();
+
+ void resetFilters();
+ void resetAllItemsFilters();
+
+ void findLinks(const LLUUID& item_id, const std::string& item_name);
+
+ void onViewModeClick();
+ void toggleViewMode();
+ void initSingleFolderRoot(const LLUUID& start_folder_id = LLUUID::null);
+ void initInventoryViews();
+ void onUpFolderClicked();
+ void onBackFolderClicked();
+ void onForwardFolderClicked();
+ void setSingleFolderViewRoot(const LLUUID& folder_id, bool clear_nav_history = true);
+ void setGallerySelection(const LLUUID& item_id, bool new_window = false);
+ LLUUID getSingleFolderViewRoot();
+ bool isSingleFolderMode() { return mSingleFolderMode; }
+
+ void scrollToGallerySelection();
+ void scrollToInvPanelSelection();
+
+ void setViewMode(EViewModeType mode);
+ bool isListViewMode() { return (mViewMode == MODE_LIST); }
+ bool isGalleryViewMode() { return (mViewMode == MODE_GALLERY); }
+ bool isCombinationViewMode() { return (mViewMode == MODE_COMBINATION); }
+ LLUUID getCurrentSFVRoot();
+ std::string getLocalizedRootName();
+
+ LLInventoryFilter& getCurrentFilter();
+
+protected:
+ //
+ // Misc functions
+ //
+ void setFilterTextFromFilter();
+ void startSearch();
+
+ void onSelectionChange(LLInventoryPanel *panel, const std::deque<LLFolderViewItem*>& items, bool user_action);
+
+ static bool filtersVisible(void* user_data);
+ void onClearSearch();
+ static void onFoldersByName(void *user_data);
+ static bool checkFoldersByName(void *user_data);
+
+ static bool incrementalFind(LLFolderViewItem* first_item, const char *find_text, bool backward);
+ void onFilterSelected();
+
+ const std::string getFilterSubString();
+ void setFilterSubString(const std::string& string);
+
+ // menu callbacks
+ void doToSelected(const LLSD& userdata);
+ void closeAllFolders();
+ void doCreate(const LLSD& userdata);
+ void setSortBy(const LLSD& userdata);
+ void saveTexture(const LLSD& userdata);
+ bool isSaveTextureEnabled(const LLSD& userdata);
+ void updateItemcountText();
+
+ void updatePanelVisibility();
+ void updateCombinationVisibility();
+
+ void onFocusReceived();
+ void onSelectSearchType();
+ void updateSearchTypeCombo();
+ void setSearchType(LLInventoryFilter::ESearchType type);
+
+ LLSidepanelInventory* getParentSidepanelInventory();
+
+private:
+ LLFloaterInventoryFinder* getFinder();
+
+ LLFilterEditor* mFilterEditor;
+ LLTabContainer* mFilterTabs;
+ LLUICtrl* mCounterCtrl;
+ LLHandle<LLFloater> mFinderHandle;
+ LLInventoryPanel* mActivePanel;
+ LLInventoryPanel* mWornItemsPanel;
+ bool mResortActivePanel;
+ LLSaveFolderState* mSavedFolderState;
+ std::string mFilterText;
+ std::string mFilterSubString;
+ S32 mItemCount;
+ std::string mItemCountString;
+ S32 mCategoryCount;
+ std::string mCategoryCountString;
+ LLComboBox* mSearchTypeCombo;
+
+ LLButton* mBackBtn;
+ LLButton* mForwardBtn;
+ LLButton* mUpBtn;
+ LLButton* mViewModeBtn;
+ LLLayoutPanel* mNavigationBtnsPanel;
+
+ LLPanel* mDefaultViewPanel;
+ LLPanel* mCombinationViewPanel;
+
+ bool mSingleFolderMode;
+ EViewModeType mViewMode;
+
+ LLInventorySingleFolderPanel* mCombinationInventoryPanel;
+ LLInventoryGallery* mCombinationGalleryPanel;
+ LLPanel* mCombinationGalleryLayoutPanel;
+ LLLayoutPanel* mCombinationListLayoutPanel;
+ LLLayoutStack* mCombinationLayoutStack;
+
+ boost::signals2::connection mListViewRootUpdatedConnection;
+ boost::signals2::connection mGalleryRootUpdatedConnection;
+
+ //////////////////////////////////////////////////////////////////////////////////
+ // List Commands //
+protected:
+ void initListCommandsHandlers();
+ void updateListCommands();
+ void onAddButtonClick();
+ void showActionMenu(LLMenuGL* menu, std::string spawning_view_name);
+ void onClipboardAction(const LLSD& userdata);
+ bool isActionEnabled(const LLSD& command_name);
+ bool isActionChecked(const LLSD& userdata);
+ void onCustomAction(const LLSD& command_name);
+ bool isActionVisible(const LLSD& userdata);
+ static bool hasSettingsInventory();
+ static bool hasMaterialsInventory();
+ void updateTitle();
+ void updateNavButtons();
+
+ void onCombinationRootChanged(bool gallery_clicked);
+ void onCombinationGallerySelectionChanged(const LLUUID& category_id);
+ void onCombinationInventorySelectionChanged(const std::deque<LLFolderViewItem*>& items, bool user_action);
+ /**
+ * Set upload cost in "Upload" sub menu.
+ */
+ void setUploadCostIfNeeded();
+ void disableAddIfNeeded();
+private:
+ LLToggleableMenu* mMenuGearDefault;
+ LLToggleableMenu* mMenuViewDefault;
+ LLToggleableMenu* mMenuVisibility;
+ LLMenuButton* mGearMenuButton;
+ LLMenuButton* mViewMenuButton;
+ LLMenuButton* mVisibilityMenuButton;
+ LLHandle<LLView> mMenuAddHandle;
+
+ bool mNeedUploadCost;
+
+ bool mForceShowInvLayout;
+ bool mReshapeInvLayout;
+ LLUUID mCombInvUUIDNeedsRename;
+ // List Commands //
+ ////////////////////////////////////////////////////////////////////////////////
+};
+
+#endif // LL_LLPANELMAININVENTORY_H
+
+
+