X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/610c50a23946d7b98ec8aa04e12f8f5dd7f69bc2..780fb83cb0d665baec66e651d58d91f6c0af66b0:/contrib/src/stc/ScintillaWX.cpp diff --git a/contrib/src/stc/ScintillaWX.cpp b/contrib/src/stc/ScintillaWX.cpp index f9da687f62..c12d3ff269 100644 --- a/contrib/src/stc/ScintillaWX.cpp +++ b/contrib/src/stc/ScintillaWX.cpp @@ -73,19 +73,20 @@ class wxSTCCallTip : public wxSTCCallTipBase { public: wxSTCCallTip(wxWindow* parent, CallTip* ct, ScintillaWX* swx) : wxSTCCallTipBase(parent, param2), - m_ct(ct), m_swx(swx) + m_ct(ct), m_swx(swx), m_cx(wxDefaultCoord), m_cy(wxDefaultCoord) { } ~wxSTCCallTip() { #if wxUSE_POPUPWIN && wxSTC_USE_POPUP && defined(__WXGTK__) wxRect rect = GetRect(); - GetParent()->ScreenToClient(&rect.x, &rect.y); + rect.x = m_cx; + rect.y = m_cy; GetParent()->Refresh(false, &rect); #endif } - bool AcceptsFocus() const { return FALSE; } + bool AcceptsFocus() const { return false; } void OnPaint(wxPaintEvent& WXUNUSED(evt)) { wxBufferedPaintDC dc(this); @@ -112,17 +113,26 @@ public: virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO) { - if (x != -1) + if (x != wxDefaultCoord) { + m_cx = x; GetParent()->ClientToScreen(&x, NULL); - if (y != -1) + } + if (y != wxDefaultCoord) { + m_cy = y; GetParent()->ClientToScreen(NULL, &y); + } wxSTCCallTipBase::DoSetSize(x, y, width, height, sizeFlags); } #endif + wxPoint GetMyPosition() { + return wxPoint(m_cx, m_cy); + } + private: CallTip* m_ct; ScintillaWX* m_swx; + int m_cx, m_cy; DECLARE_EVENT_TABLE() }; @@ -138,27 +148,27 @@ END_EVENT_TABLE() static wxTextFileType wxConvertEOLMode(int scintillaMode) { wxTextFileType type; - + switch (scintillaMode) { case wxSTC_EOL_CRLF: type = wxTextFileType_Dos; break; - + case wxSTC_EOL_CR: type = wxTextFileType_Mac; break; - + case wxSTC_EOL_LF: type = wxTextFileType_Unix; break; - + default: type = wxTextBuffer::typeDefault; break; } return type; } - + //---------------------------------------------------------------------- // Constructor/Destructor @@ -212,7 +222,7 @@ void ScintillaWX::StartDrag() { wxStyledTextEvent evt(wxEVT_STC_START_DRAG, stc->GetId()); evt.SetEventObject(stc); evt.SetDragText(dragText); - evt.SetDragAllowMove(TRUE); + evt.SetDragAllowMove(true); evt.SetPosition(wxMin(stc->GetSelectionStart(), stc->GetSelectionEnd())); stc->GetEventHandler()->ProcessEvent(evt); @@ -224,11 +234,11 @@ void ScintillaWX::StartDrag() { wxDragResult result; source.SetData(data); - dropWentOutside = TRUE; + dropWentOutside = true; result = source.DoDragDrop(evt.GetDragAllowMove()); if (result == wxDragMove && dropWentOutside) ClearSelection(); - inDragDrop = FALSE; + inDragDrop = false; SetDragPosition(invalidPosition); } #endif @@ -238,18 +248,18 @@ void ScintillaWX::StartDrag() { bool ScintillaWX::SetIdle(bool on) { if (idler.state != on) { // connect or disconnect the EVT_IDLE handler - if (on) - stc->Connect(-1, wxEVT_IDLE, + if (on) + stc->Connect(wxID_ANY, wxEVT_IDLE, (wxObjectEventFunction) (wxEventFunction) (wxIdleEventFunction) &wxStyledTextCtrl::OnIdle); else - stc->Disconnect(-1, wxEVT_IDLE, + stc->Disconnect(wxID_ANY, wxEVT_IDLE, (wxObjectEventFunction) (wxEventFunction) (wxIdleEventFunction) &wxStyledTextCtrl::OnIdle); idler.state = on; } return idler.state; } - + void ScintillaWX::SetTicking(bool on) { wxSTCTimer* steTimer; if (timer.ticking != on) { @@ -415,10 +425,10 @@ void ScintillaWX::Paste() { ClearSelection(); wxTextDataObject data; - bool gotData = FALSE; + bool gotData = false; if (wxTheClipboard->Open()) { - wxTheClipboard->UsePrimarySelection(FALSE); + wxTheClipboard->UsePrimarySelection(false); gotData = wxTheClipboard->GetData(data); wxTheClipboard->Close(); } @@ -439,7 +449,7 @@ void ScintillaWX::Paste() { void ScintillaWX::CopyToClipboard(const SelectionText& st) { if (wxTheClipboard->Open()) { - wxTheClipboard->UsePrimarySelection(FALSE); + wxTheClipboard->UsePrimarySelection(false); wxString text = wxTextBuffer::Translate(stc2wx(st.s, st.len)); wxTheClipboard->SetData(new wxTextDataObject(text)); wxTheClipboard->Close(); @@ -448,7 +458,7 @@ void ScintillaWX::CopyToClipboard(const SelectionText& st) { bool ScintillaWX::CanPaste() { - bool canPaste = FALSE; + bool canPaste = false; bool didOpen; if (Editor::CanPaste()) { @@ -457,7 +467,7 @@ bool ScintillaWX::CanPaste() { wxTheClipboard->Open(); if (wxTheClipboard->IsOpened()) { - wxTheClipboard->UsePrimarySelection(FALSE); + wxTheClipboard->UsePrimarySelection(false); canPaste = wxTheClipboard->IsSupported(wxUSE_UNICODE ? wxDF_UNICODETEXT : wxDF_TEXT); if (didOpen) wxTheClipboard->Close(); @@ -498,10 +508,10 @@ void ScintillaWX::ClaimSelection() { SelectionText st; CopySelectionRange(&st); if (wxTheClipboard->Open()) { - wxTheClipboard->UsePrimarySelection(TRUE); + wxTheClipboard->UsePrimarySelection(true); wxString text = stc2wx(st.s, st.len); wxTheClipboard->SetData(new wxTextDataObject(text)); - wxTheClipboard->UsePrimarySelection(FALSE); + wxTheClipboard->UsePrimarySelection(false); wxTheClipboard->Close(); } } @@ -551,7 +561,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar } #ifdef SCI_LEXER - case SCI_LOADLEXERLIBRARY: + case SCI_LOADLEXERLIBRARY: LexerManager::GetInstance()->Load((const char*)lParam); break; #endif @@ -669,9 +679,6 @@ void ScintillaWX::DoMouseWheel(int rotation, int delta, void ScintillaWX::DoSize(int WXUNUSED(width), int WXUNUSED(height)) { -// PRectangle rcClient(0,0,width,height); -// SetScrollBarsTo(rcClient); -// DropGraphics(); ChangeSize(); } @@ -712,11 +719,11 @@ void ScintillaWX::DoMiddleButtonUp(Point pt) { pdoc->BeginUndoAction(); wxTextDataObject data; - bool gotData = FALSE; + bool gotData = false; if (wxTheClipboard->Open()) { - wxTheClipboard->UsePrimarySelection(TRUE); + wxTheClipboard->UsePrimarySelection(true); gotData = wxTheClipboard->GetData(data); - wxTheClipboard->UsePrimarySelection(FALSE); + wxTheClipboard->UsePrimarySelection(false); wxTheClipboard->Close(); } if (gotData) { @@ -809,7 +816,7 @@ int ScintillaWX::DoKeyDown(int key, bool shift, bool ctrl, bool alt, bool WXUNU } } #endif - + int rv = KeyDown(key, shift, ctrl, alt, consumed); if (key) @@ -833,7 +840,7 @@ void ScintillaWX::DoOnListBox() { AutoCompleteCompleted(); } - + void ScintillaWX::DoOnIdle(wxIdleEvent& evt) { if ( Idle() ) @@ -841,7 +848,7 @@ void ScintillaWX::DoOnIdle(wxIdleEvent& evt) { else SetIdle(false); } - + //---------------------------------------------------------------------- #if wxUSE_DRAG_AND_DROP @@ -850,7 +857,7 @@ bool ScintillaWX::DoDropText(long x, long y, const wxString& data) { wxString text = wxTextBuffer::Translate(data, wxConvertEOLMode(pdoc->eolMode)); - + // Send an event to allow the drag details to be changed wxStyledTextEvent evt(wxEVT_STC_DO_DROP, stc->GetId()); evt.SetEventObject(stc); @@ -866,10 +873,10 @@ bool ScintillaWX::DoDropText(long x, long y, const wxString& data) { DropAt(evt.GetPosition(), wx2stc(evt.GetDragText()), dragResult == wxDragMove, - FALSE); // TODO: rectangular? - return TRUE; + false); // TODO: rectangular? + return true; } - return FALSE; + return false; } @@ -926,10 +933,10 @@ void ScintillaWX::ClipChildren(wxDC& dc, PRectangle rect) { rgn.Subtract(childRect); } if (ct.inCallTipMode) { - wxWindow* tip = (wxWindow*)ct.wCallTip.GetID(); + wxSTCCallTip* tip = (wxSTCCallTip*)ct.wCallTip.GetID(); wxRect childRect = tip->GetRect(); #if wxUSE_POPUPWIN && wxSTC_USE_POPUP - tip->GetParent()->ScreenToClient(&childRect.x, &childRect.y); + childRect.SetPosition(tip->GetMyPosition()); #endif rgn.Subtract(childRect); } @@ -950,6 +957,6 @@ void ScintillaWX::SetUseAntiAliasing(bool useAA) { bool ScintillaWX::GetUseAntiAliasing() { return vs.extraFontFlag; } - + //---------------------------------------------------------------------- //----------------------------------------------------------------------