/** * @file llfilteredwearablelist.h * @brief Functionality for showing filtered wearable flat list * * $LicenseInfo:firstyear=2010&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_LLFILTEREDWEARABLELIST_H #define LL_LLFILTEREDWEARABLELIST_H #include "llinventoryfunctions.h" #include "llinventoryobserver.h" class LLInventoryItemsList; // Class that fills LLInventoryItemsList with filtered data (original items only (non-links)). class LLFilteredWearableListManager : public LLInventoryObserver { LOG_CLASS(LLFilteredWearableListManager); public: LLFilteredWearableListManager(LLInventoryItemsList* list, LLInventoryCollectFunctor* collector); ~LLFilteredWearableListManager(); /** LLInventoryObserver implementation * */ /*virtual*/ void changed(U32 mask); /** * Sets new collector and applies it immediately */ void setFilterCollector(LLInventoryCollectFunctor* collector); /** * Populates wearable list with filtered data in case there were any updates. */ void populateIfNeeded(); /** * Drop operation */ void holdProgress(); private: /** * Populates wearable list with filtered data. */ void populateList(); LLInventoryItemsList* mWearableList; LLInventoryCollectFunctor* mCollector; bool mListStale; }; #endif //LL_LLFILTEREDWEARABLELIST_H // EOF