00001 00032 #include "llviewerprecompiledheaders.h" 00033 00034 #include "llinventoryclipboard.h" 00035 00036 00037 LLInventoryClipboard LLInventoryClipboard::sInstance; 00038 00042 00043 00047 00048 LLInventoryClipboard::LLInventoryClipboard() 00049 { 00050 } 00051 00052 LLInventoryClipboard::~LLInventoryClipboard() 00053 { 00054 reset(); 00055 } 00056 00057 void LLInventoryClipboard::add(const LLUUID& object) 00058 { 00059 mObjects.put(object); 00060 } 00061 00062 // this stores a single inventory object 00063 void LLInventoryClipboard::store(const LLUUID& object) 00064 { 00065 reset(); 00066 mObjects.put(object); 00067 } 00068 00069 void LLInventoryClipboard::store(const LLDynamicArray<LLUUID>& inv_objects) 00070 { 00071 reset(); 00072 S32 count = inv_objects.count(); 00073 for(S32 i = 0; i < count; i++) 00074 { 00075 mObjects.put(inv_objects[i]); 00076 } 00077 } 00078 00079 void LLInventoryClipboard::retrieve(LLDynamicArray<LLUUID>& inv_objects) const 00080 { 00081 inv_objects.reset(); 00082 S32 count = mObjects.count(); 00083 for(S32 i = 0; i < count; i++) 00084 { 00085 inv_objects.put(mObjects[i]); 00086 } 00087 } 00088 00089 void LLInventoryClipboard::reset() 00090 { 00091 mObjects.reset(); 00092 } 00093 00094 // returns true if the clipboard has something pasteable in it. 00095 BOOL LLInventoryClipboard::hasContents() const 00096 { 00097 return (mObjects.count() > 0); 00098 } 00099 00100