00001 /****************************************************************************/ 00007 // Some OS-dependant functions to ease cliboard manipulation 00008 /****************************************************************************/ 00009 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/ 00010 // Copyright 2001-2010 DLR (http://www.dlr.de/) and contributors 00011 /****************************************************************************/ 00012 // 00013 // This program is free software; you can redistribute it and/or modify 00014 // it under the terms of the GNU General Public License as published by 00015 // the Free Software Foundation; either version 2 of the License, or 00016 // (at your option) any later version. 00017 // 00018 /****************************************************************************/ 00019 00020 00021 // =========================================================================== 00022 // included modules 00023 // =========================================================================== 00024 #ifdef _MSC_VER 00025 #include <windows_config.h> 00026 #else 00027 #include <config.h> 00028 #endif 00029 00030 #include "GUIUserIO.h" 00031 00032 #ifdef CHECK_MEMORY_LEAKS 00033 #include <foreign/nvwa/debug_new.h> 00034 #endif // CHECK_MEMORY_LEAKS 00035 00036 00037 #ifdef WIN32 00038 #include <windows.h> 00039 #endif 00040 00041 // =========================================================================== 00042 // method definitions 00043 // =========================================================================== 00044 #ifdef WIN32 00045 void 00046 GUIUserIO::copyToClipboard(const FXApp &app, const std::string &text) throw() { 00047 OpenClipboard((HWND) app.getRootWindow()->getFirst()->id()); 00048 ::EmptyClipboard(); 00049 HGLOBAL clipBuffer = GlobalAlloc(GMEM_DDESHARE, text.length()+1); 00050 char *buff = (char*)GlobalLock(clipBuffer); 00051 strcpy(buff, text.c_str()); 00052 ::SetClipboardData(CF_TEXT, buff); 00053 CloseClipboard(); 00054 } 00055 00056 00057 #else 00058 00059 void 00060 GUIUserIO::copyToClipboard(const FXApp &, const std::string &) throw() {} 00061 00062 #endif 00063 00064 /****************************************************************************/ 00065
1.5.6