]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/stc.cpp
added a preImage of the selection in order to avoid unnecessary events being triggered
[wxWidgets.git] / src / stc / stc.cpp
index bd6184cf6a33dbb5e7dc11a47f9851cafa7cfc3e..f56024c0cacdaa9af606b309b0a3b97e5f1453ca 100644 (file)
@@ -32,6 +32,7 @@ int wxForceScintillaLexers(void)
   extern LexerModule lmAVE;
   extern LexerModule lmConf;
   extern LexerModule lmCPP;
   extern LexerModule lmAVE;
   extern LexerModule lmConf;
   extern LexerModule lmCPP;
+  extern LexerModule lmNncrontab;
   extern LexerModule lmEiffel;
   extern LexerModule lmHTML;
   extern LexerModule lmLISP;
   extern LexerModule lmEiffel;
   extern LexerModule lmHTML;
   extern LexerModule lmLISP;
@@ -48,6 +49,7 @@ int wxForceScintillaLexers(void)
      && &lmAVE
      && &lmConf
      && &lmCPP
      && &lmAVE
      && &lmConf
      && &lmCPP
+     && &lmNncrontab
      && &lmEiffel
      && &lmHTML
      && &lmLISP
      && &lmEiffel
      && &lmHTML
      && &lmLISP
@@ -91,8 +93,11 @@ DEFINE_EVENT_TYPE( wxEVT_STC_USERLISTSELECTION )
 DEFINE_EVENT_TYPE( wxEVT_STC_URIDROPPED )
 DEFINE_EVENT_TYPE( wxEVT_STC_DWELLSTART )
 DEFINE_EVENT_TYPE( wxEVT_STC_DWELLEND )
 DEFINE_EVENT_TYPE( wxEVT_STC_URIDROPPED )
 DEFINE_EVENT_TYPE( wxEVT_STC_DWELLSTART )
 DEFINE_EVENT_TYPE( wxEVT_STC_DWELLEND )
-
-
+#if wxUSE_DRAG_AND_DROP
+DEFINE_EVENT_TYPE( wxEVT_STC_START_DRAG )
+DEFINE_EVENT_TYPE( wxEVT_STC_DRAG_OVER )
+DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP )
+#endif
 
 
 BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
 
 
 BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
@@ -1202,6 +1207,7 @@ int wxStyledTextCtrl::GetTargetEnd() {
 }
 
 // Replace the target text with the argument text.
 }
 
 // Replace the target text with the argument text.
+// Text is counted so it can contain nulls.
 // Returns the length of the replacement text.
 
                        int wxStyledTextCtrl::ReplaceTarget(const wxString& text) {
 // Returns the length of the replacement text.
 
                        int wxStyledTextCtrl::ReplaceTarget(const wxString& text) {
@@ -1210,6 +1216,7 @@ int wxStyledTextCtrl::GetTargetEnd() {
 }
 
 // Replace the target text with the argument text after \d processing.
 }
 
 // Replace the target text with the argument text after \d processing.
+// Text is counted so it can contain nulls.
 // Looks for \d where d is between 1 and 9 and replaces these with the strings
 // matched in the last search operation which were surrounded by \( and \).
 // Returns the length of the replacement text including any change
 // Looks for \d where d is between 1 and 9 and replaces these with the strings
 // matched in the last search operation which were surrounded by \( and \).
 // Returns the length of the replacement text including any change
@@ -1221,7 +1228,7 @@ int wxStyledTextCtrl::GetTargetEnd() {
 }
 
 // Search for a counted string in the target and set the target to the found
 }
 
 // Search for a counted string in the target and set the target to the found
-// range.
+// range. Text is counted so it can contain nulls.
 // Returns length of range or -1 for failure in which case target is not moved.
 
                        int wxStyledTextCtrl::SearchInTarget(const wxString& text) {
 // Returns length of range or -1 for failure in which case target is not moved.
 
                        int wxStyledTextCtrl::SearchInTarget(const wxString& text) {
@@ -1847,7 +1854,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
     // alt let's skip it.
     bool ctrl = evt.ControlDown();
     bool alt  = evt.AltDown();
     // alt let's skip it.
     bool ctrl = evt.ControlDown();
     bool alt  = evt.AltDown();
-    bool skip = (ctrl || alt && ! (ctrl && alt));
+    bool skip = ((ctrl || alt) && ! (ctrl && alt));
 
     if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
         m_swx->DoAddChar(key);
 
     if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
         m_swx->DoAddChar(key);
@@ -1910,6 +1917,7 @@ void wxStyledTextCtrl::OnListBox(wxCommandEvent& evt) {
 
 void wxStyledTextCtrl::NotifyChange() {
     wxStyledTextEvent evt(wxEVT_STC_CHANGE, GetId());
 
 void wxStyledTextCtrl::NotifyChange() {
     wxStyledTextEvent evt(wxEVT_STC_CHANGE, GetId());
+    evt.SetEventObject(this);
     GetEventHandler()->ProcessEvent(evt);
 }
 
     GetEventHandler()->ProcessEvent(evt);
 }
 
@@ -1917,6 +1925,7 @@ void wxStyledTextCtrl::NotifyParent(SCNotification* _scn) {
     SCNotification& scn = *_scn;
     wxStyledTextEvent evt(0, GetId());
 
     SCNotification& scn = *_scn;
     wxStyledTextEvent evt(0, GetId());
 
+    evt.SetEventObject(this);
     evt.SetPosition(scn.position);
     evt.SetKey(scn.ch);
     evt.SetModifiers(scn.modifiers);
     evt.SetPosition(scn.position);
     evt.SetKey(scn.ch);
     evt.SetModifiers(scn.modifiers);
@@ -2022,7 +2031,6 @@ void wxStyledTextCtrl::NotifyParent(SCNotification* _scn) {
 }
 
 
 }
 
 
-
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
@@ -2046,6 +2054,10 @@ wxStyledTextEvent::wxStyledTextEvent(wxEventType commandType, int id)
     m_listType = 0;
     m_x = 0;
     m_y = 0;
     m_listType = 0;
     m_x = 0;
     m_y = 0;
+#if wxUSE_DRAG_AND_DROP
+    m_dragAllowMove = FALSE;
+    m_dragResult = wxDragNone;
+#endif
 }
 
 bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0; }
 }
 
 bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0; }
@@ -2077,8 +2089,16 @@ void wxStyledTextEvent::CopyObject(wxObject& obj) const {
     o->m_x =            m_x;
     o->m_y =            m_y;
 
     o->m_x =            m_x;
     o->m_y =            m_y;
 
+#if wxUSE_DRAG_AND_DROP
+    o->m_dragText =     m_dragText;
+    o->m_dragAllowMove =m_dragAllowMove;
+    o->m_dragResult =   m_dragResult;
+#endif
 }
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
 }
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
+
+
+