]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/configtool/src/utils.cpp
Fixed compile error (seen on OS/2).
[wxWidgets.git] / utils / configtool / src / utils.cpp
index 2be69b4ab8f3097ce5fabd4ff997661327a55346..05849af70c606c10720889f2469d90e3fd3cbca9 100644 (file)
@@ -323,11 +323,13 @@ void apAddContextHelpButton(wxWindow* parent, wxSizer* sizer, int sizerFlags, in
 #endif
 
     contextButton->SetHelpText(_("Invokes context-sensitive help for the clicked-on window."));
+#if 0
     if (wxGetApp().UsingTooltips())
     {
         contextButton->SetToolTip(_("Invokes context-sensitive help for the clicked-on window."));
     }
 #endif
+#endif
 }
 
 // Get selected wxNotebook page
@@ -475,3 +477,37 @@ wxString ctEscapeHTMLCharacters(const wxString& str)
     }
     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;
+}