llclipboard.cpp

Go to the documentation of this file.
00001 
00032 #include "linden_common.h"
00033 
00034 #include "llclipboard.h"
00035 
00036 #include "llerror.h"
00037 #include "llmath.h"
00038 #include "llstring.h"
00039 #include "llview.h"
00040 #include "llwindow.h"
00041 
00042 // Global singleton
00043 LLClipboard gClipboard;
00044 
00045 
00046 LLClipboard::LLClipboard()
00047 {
00048 }
00049 
00050 
00051 LLClipboard::~LLClipboard()
00052 {
00053 }
00054 
00055 
00056 void LLClipboard::copyFromSubstring(const LLWString &src, S32 pos, S32 len, const LLUUID& source_id )
00057 {
00058         mSourceID = source_id;
00059         mString = src.substr(pos, len);
00060         LLView::getWindow()->copyTextToClipboard( mString );
00061 }
00062 
00063 
00064 LLWString LLClipboard::getPasteWString( LLUUID* source_id )
00065 {
00066         if( mSourceID.notNull() )
00067         {
00068                 LLWString temp_string;
00069                 LLView::getWindow()->pasteTextFromClipboard(temp_string);
00070 
00071                 if( temp_string != mString )
00072                 {
00073                         mSourceID.setNull();
00074                         mString = temp_string;
00075                 }
00076         }
00077         else
00078         {
00079                 LLView::getWindow()->pasteTextFromClipboard(mString);
00080         }
00081 
00082         if( source_id )
00083         {
00084                 *source_id = mSourceID;
00085         }
00086 
00087         return mString;
00088 }
00089 
00090 
00091 BOOL LLClipboard::canPasteString()
00092 {
00093         return LLView::getWindow()->isClipboardTextAvailable();
00094 }

Generated on Thu Jul 1 06:08:22 2010 for Second Life Viewer by  doxygen 1.4.7