// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_STC
+
+#include "wx/stc/stc.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/wx.h"
+#endif // WX_PRECOMP
+
#include <ctype.h>
-#include "wx/wx.h"
#include "wx/tokenzr.h"
#include "wx/mstream.h"
#include "wx/image.h"
#include "wx/file.h"
-#include "wx/stc/stc.h"
#include "ScintillaWX.h"
//----------------------------------------------------------------------
long style,
const wxString& name)
{
-#ifdef __WXMAC__
style |= wxVSCROLL | wxHSCROLL;
-#endif
if (!wxControl::Create(parent, id, pos, size,
style | wxWANTS_CHARS | wxCLIP_CHILDREN,
wxDefaultValidator, name))
// Retrieve a 'property' value previously set with SetProperty.
wxString wxStyledTextCtrl::GetProperty(const wxString& key) {
- int len = SendMsg(SCI_GETPROPERTY, (long)(const char*)wx2stc(key), (long)NULL);
+ int len = SendMsg(SCI_GETPROPERTY, (long)(const char*)wx2stc(key), 0);
if (!len) return wxEmptyString;
wxMemoryBuffer mbuf(len+1);
// Retrieve a 'property' value previously set with SetProperty,
// with '$()' variable replacement on returned buffer.
wxString wxStyledTextCtrl::GetPropertyExpanded(const wxString& key) {
- int len = SendMsg(SCI_GETPROPERTYEXPANDED, (long)(const char*)wx2stc(key), (long)NULL);
+ int len = SendMsg(SCI_GETPROPERTYEXPANDED, (long)(const char*)wx2stc(key), 0);
if (!len) return wxEmptyString;
wxMemoryBuffer mbuf(len+1);
#endif
bool skip = ((ctrl || alt) && ! (ctrl && alt));
+#if wxUSE_UNICODE
+ // apparently if we don't do this, Unicode keys pressed after non-char
+ // ASCII ones (e.g. Enter, Tab) are not taken into account (patch 1615989)
+ if (m_lastKeyDownConsumed && evt.GetUnicodeKey() > 255)
+ m_lastKeyDownConsumed = false;
+#endif
+
if (!m_lastKeyDownConsumed && !skip) {
#if wxUSE_UNICODE
int key = evt.GetUnicodeKey();
evt.SetEventType(wxEVT_STC_PAINTED);
break;
+ case SCN_AUTOCSELECTION:
+ evt.SetEventType(wxEVT_STC_AUTOCOMP_SELECTION);
+ evt.SetListType(scn.listType);
+ SetEventText(evt, scn.text, strlen(scn.text));
+ evt.SetPosition(scn.lParam);
+ break;
+
case SCN_USERLISTSELECTION:
evt.SetEventType(wxEVT_STC_USERLISTSELECTION);
evt.SetListType(scn.listType);
SetEventText(evt, scn.text, strlen(scn.text));
+ evt.SetPosition(scn.lParam);
break;
case SCN_URIDROPPED:
case SCN_CALLTIPCLICK:
evt.SetEventType(wxEVT_STC_CALLTIP_CLICK);
break;
-
- case SCN_AUTOCSELECTION:
- evt.SetEventType(wxEVT_STC_AUTOCOMP_SELECTION);
- break;
-
+
default:
return;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------
-
-
-
-
-
-
-
-
+#endif // wxUSE_STC