#include "wx/variant.h"
#include "wx/cshelp.h"
#include "wx/cmdline.h"
+#include "wx/imaglist.h"
#include <math.h>
wxSplitPath(filename, & path, & name, & ext);
ext.MakeLower();
- if (ext == "jpg" || ext == "jpeg")
+ if (ext == _T("jpg") || ext == _T("jpeg"))
return wxBITMAP_TYPE_JPEG;
- else if (ext == "gif")
+ else if (ext == _T("gif"))
return wxBITMAP_TYPE_GIF;
- else if (ext == "bmp")
+ else if (ext == _T("bmp"))
return wxBITMAP_TYPE_BMP;
- else if (ext == "png")
+ else if (ext == _T("png"))
return wxBITMAP_TYPE_PNG;
- else if (ext == "pcx")
+ else if (ext == _T("pcx"))
return wxBITMAP_TYPE_PCX;
- else if (ext == "tif" || ext == "tiff")
+ else if (ext == _T("tif") || ext == _T("tiff"))
return wxBITMAP_TYPE_TIF;
else
return -1;
return str;
}
+static inline int StringToInt(const wxString& s)
+{
+ long tmp;
+ s.ToLong(&tmp);
+
+ return int(tmp);
+}
+
// Convert a string to a wxFont
wxFont apStringToFont(const wxString& str)
{
if (i == 0)
{
- StringToInt(token, & pointSize);
+ pointSize = StringToInt(token);
#if defined(__WXGTK__) || defined(__WXMAC__)
if (pointSize < 8)
pointSize = 8;
#endif
}
else if (i == 1)
- StringToInt(token, & family);
+ family = StringToInt(token);
else if (i == 2)
- StringToInt(token, & style);
+ style = StringToInt(token);
else if (i == 3)
- StringToInt(token, & weight);
+ weight = StringToInt(token);
else if (i == 4)
- StringToInt(token, & underlined);
+ underlined = StringToInt(token);
else if (i == 5)
{
facename = token;
int apFindNotebookPage(wxNotebook* notebook, const wxString& name)
{
int i;
- for (i = 0; i < notebook->GetPageCount(); i++)
+ for (i = 0; i < (int)notebook->GetPageCount(); i++)
if (name == notebook->GetPageText(i))
return i;
return -1;
TCHAR szCmdName[1024];
DWORD dwType, dw = sizeof(szCmdName);
LONG lRes;
- lRes = RegOpenKey(HKEY_CLASSES_ROOT, "htmlfile\\shell\\open\\command", &hKey);
+ lRes = RegOpenKey(HKEY_CLASSES_ROOT, _T("htmlfile\\shell\\open\\command"), &hKey);
if(lRes == ERROR_SUCCESS && RegQueryValueEx(hKey,(LPTSTR)NULL, NULL,
&dwType, (LPBYTE)szCmdName, &dw) == ERROR_SUCCESS)
{
- strcat(szCmdName, (const char*) url);
+ wxStrcat(szCmdName, (const wxChar*) url);
PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;
memset(&siStartInfo, 0, sizeof(STARTUPINFO));
}
// Adds a context-sensitive help button, for non-Windows platforms
-void apAddContextHelpButton(wxWindow* parent, wxSizer* sizer, int sizerFlags, int sizerBorder)
+void apAddContextHelpButton(wxWindow*
+ #if defined(__WXGTK__) || defined(__WXMAC__)
+ parent
+ #else
+ WXUNUSED(parent)
+ #endif
+ , wxSizer*
+ #if defined(__WXGTK__) || defined(__WXMAC__)
+ sizer
+ #else
+ WXUNUSED(sizer)
+ #endif
+ , int
+ #if defined(__WXGTK__) || defined(__WXMAC__)
+ sizerFlags
+ #else
+ WXUNUSED(sizerFlags)
+ #endif
+ , int
+ #if defined(__WXGTK__) || defined(__WXMAC__)
+ sizerBorder
+ #else
+ WXUNUSED(sizerBorder)
+ #endif
+ )
{
#if defined(__WXGTK__) || defined(__WXMAC__)
#ifdef __WXMAC__
return stream << str;
}
-wxOutputStream& operator <<(wxOutputStream& stream, const char c)
+wxOutputStream& operator <<(wxOutputStream& stream, const wxChar c)
{
wxString str;
str.Printf(_T("%c"), c);
}
return s;
}
+
+// Match 'matchText' against 'matchAgainst', optionally constraining to
+// whole-word only.
+bool ctMatchString(const wxString& matchAgainst, const wxString& matchText, bool wholeWordOnly)
+{
+ // Fast operation if not matching against whole words only
+ if (!wholeWordOnly)
+ return (matchAgainst.Find(matchText) != -1);
+
+ wxString left(matchAgainst);
+ bool success = FALSE;
+ int pos = 0;
+ int matchTextLen = (int) matchText.Length();
+ while (!success && !matchAgainst.IsEmpty())
+ {
+ pos = left.Find(matchText);
+ if (pos == -1)
+ return FALSE;
+
+ bool firstCharOK = FALSE;
+ bool lastCharOK = FALSE;
+ if (pos == 0 || !wxIsalnum(left[(size_t) (pos-1)]))
+ firstCharOK = TRUE;
+
+ if (((pos + matchTextLen) == (int) left.Length()) || !wxIsalnum(left[(size_t) (pos + matchTextLen)]))
+ lastCharOK = TRUE;
+
+ if (firstCharOK && lastCharOK)
+ success = TRUE;
+
+ left = left.Mid(pos+1);
+ }
+ return success;
+}