本文整理汇总了C++中UT_String::empty方法的典型用法代码示例。如果您正苦于以下问题:C++ UT_String::empty方法的具体用法?C++ UT_String::empty怎么用?C++ UT_String::empty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UT_String
的用法示例。
在下文中一共展示了UT_String::empty方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getDefaultApp
static void getDefaultApp(UT_String &imageApp, bool &bLeaveImageAsPNG)
{
#ifdef WIN32
bLeaveImageAsPNG = false;
imageApp.clear();
char buffer[MAX_PATH];
// for WinNT mspaint is most likely in the system directory (eg C:\WINNT\SYSTEM32\MSPAINT.EXE)
if (GetSystemDirectory(buffer, MAX_PATH))
{
imageApp = buffer;
imageApp += "\\MSPAINT.EXE";
UT_DEBUGMSG(("ABIPAINT: Checking if %s exists\n", imageApp.c_str()));
if (!UT_isRegularFile(imageApp.c_str()))
imageApp.clear();
}
// if not there, try in Win95b directory (eg %PROGRAMFILES%\ACCESSORIES\MSPAINT.EXE)
if (imageApp.empty())
{
HKEY hKey;
unsigned long lType;
DWORD dwSize;
unsigned char* szValue = NULL;
if( ::RegOpenKeyEx( HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion", 0, KEY_READ, &hKey) == ERROR_SUCCESS )
{
if( ::RegQueryValueEx( hKey, "ProgramFilesDir", NULL, &lType, NULL, &dwSize) == ERROR_SUCCESS )
{
szValue = new unsigned char[dwSize + 1];
::RegQueryValueEx( hKey, "ProgramFilesDir", NULL, &lType, szValue, &dwSize);
imageApp = (char*) szValue;
delete[] szValue;
imageApp += "\\ACCESSORIES\\MSPAINT.EXE";
UT_DEBUGMSG(("ABIPAINT: Checking if %s exists\n", imageApp.c_str()));
if (!UT_isRegularFile(imageApp.c_str()))
imageApp.clear();
}
::RegCloseKey(hKey);
}
}
// if we still haven't found the file, then simply try mspaint.exe
if (imageApp.empty())
{
imageApp = "mspaint.exe";
UT_DEBUGMSG(("ABIPAINT: Falling back to %s (will probably fail)\n", imageApp.c_str()));
}
#else
// for other platforms default to the GIMP, assume in path
bLeaveImageAsPNG = true;
imageApp = "gimp";
#endif
}
示例2:
const char * AP_UnixPrefs::_getPrefsPathname(void) const
{
/* return a pointer to a static buffer */
static UT_String buf;
if(!buf.empty())
return buf.c_str();
const char * szDirectory = XAP_App::getApp()->getUserPrivateDirectory();
const char * szFile = "AbiWord.Profile";
buf = szDirectory;
if (!buf.size() || szDirectory[buf.size()-1] != '/')
buf += "/";
buf += szFile;
return buf.c_str();
}
示例3: simpleSplit
/*!
* simplesplit splits the referring string along the character 'separator',
* removing the separator character, and placing the resulting strings in a
* UT_Vector. If 'max' is specified, this is done max times - the max + 1
* string in the vector will contain the remainder of the original string
* (str).
*/
UT_GenericVector<UT_String*> * simpleSplit (const UT_String & str, char separator,
size_t max)
{
UT_GenericVector<UT_String*> * utvResult = new UT_GenericVector<UT_String*>();
UT_String* utsEntry;
UT_uint32 start = 0;
for(size_t j = 0; (max == 0 || j < max) && start < str.size(); j++)
{
utsEntry = new UT_String;
for (; (str[start] != separator || j == max - 1) && start < str.size(); start++)
*utsEntry += str[start];
start++; // skipping over the separator character
// itself
if (utsEntry->empty())
delete utsEntry;
else
utvResult->addItem(utsEntry);
}
return utvResult;
}
示例4: s
#include "tf_test.h"
#include "ut_string_class.h"
#define TFSUITE "core.af.util.stringclass"
TFTEST_MAIN("UT_String")
{
UT_String s("foobar");
TFPASS(s.size() == 6);
TFPASS(s.length() == 6);
TFFAIL(s.empty());
TFPASS(s == "foobar");
TFPASS(s == UT_String("foobar"));
s += "baz";
TFPASS(s.size() == 9);
TFPASS(s == "foobarbaz");
s += UT_String("42");
TFPASS(s.size() == 11);
TFPASS(s == "foobarbaz42");
s += '!';
TFPASS(s.size() == 12);
TFPASS(s == "foobarbaz42!");
TFPASS(s[3] == 'b');
示例5: addObjectDataItem
/**
* Adds an data item (<d> tag) in the AbiWord document for the specified image.
*
* Code mainly from Dom Lachowicz and/or Robert Staudinger.
*
* @param rDataId Receives the id that has been given to the added data item.
* @param ppAtts The attributes of a <draw:image> element.
*/
bool ODi_Abi_Data::addObjectDataItem(UT_String& rDataId, const gchar** ppAtts, int& pto_Type) {
const gchar* pHRef = UT_getAttribute ("xlink:href", ppAtts);
UT_return_val_if_fail(pHRef,false);
// If we have a string smaller then this we are in trouble. File corrupted?
UT_return_val_if_fail((strlen(pHRef) >= 10 /*10 == strlen("Pictures/a")*/), false);
UT_Error error = UT_OK;
UT_ByteBuf *object_buf;
GsfInfile* pObjects_dir;
UT_uint32 objectID;
// The subdirectory that holds the picture. e.g: "ObjectReplacements" or "Pictures"
UT_String dirName;
// The file name of the picture. e.g.: "Object 1" or "10000201000000D100000108FF0E3707.png"
UT_String fileName;
const std::string id = m_href_to_id[pHRef];
if (!id.empty()) {
// This object was already added.
// Use the existing data item id.
rDataId = id;
return true;
}
// Get a new, unique, ID.
objectID = m_pAbiDocument->getUID(UT_UniqueId::Math);
UT_String_sprintf(rDataId, "MathLatex%d", objectID);
// Add this id to the list
UT_DebugOnly<href_id_map_t::iterator> iter = m_href_to_id
.insert(m_href_to_id.begin(),
href_id_map_t::value_type(pHRef,
rDataId.c_str()));
UT_ASSERT((href_id_map_t::iterator)iter != m_href_to_id.end());
_splitDirectoryAndFileName(pHRef, dirName, fileName);
if (fileName.empty ())
fileName = "content.xml";
pObjects_dir =
GSF_INFILE(gsf_infile_child_by_name(m_pGsfInfile, dirName.c_str()));
UT_return_val_if_fail(pObjects_dir, false);
// Loads object_buf
object_buf = new UT_ByteBuf ();
error = _loadStream(pObjects_dir, fileName.c_str(), *object_buf);
g_object_unref (G_OBJECT (pObjects_dir));
if (error != UT_OK) {
delete object_buf;
return false;
}
// check to ensure that we're seeing math. this can probably be made smarter.
static const char math_header[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE math:math";
if ((object_buf->getLength () > strlen (math_header)) &&
(strncmp ((const char*)object_buf->getPointer (0), math_header, strlen (math_header)) != 0)) {
delete object_buf;
return false;
}
//
// Create the data item.
//
if (!m_pAbiDocument->createDataItem(rDataId.c_str(), false, object_buf,
"application/mathml+xml", NULL)) {
UT_ASSERT_HARMLESS(UT_SHOULD_NOT_HAPPEN);
return false;
}
pto_Type = PTO_Math;
return true;
}