diff options
Diffstat (limited to 'macosx/ScintillaMacOSX.h')
-rw-r--r-- | macosx/ScintillaMacOSX.h | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/macosx/ScintillaMacOSX.h b/macosx/ScintillaMacOSX.h deleted file mode 100644 index fe871119b..000000000 --- a/macosx/ScintillaMacOSX.h +++ /dev/null @@ -1,239 +0,0 @@ -/* - * ScintillaMacOSX.h - * tutorial - * - * Original code by Evan Jones on Sun Sep 01 2002. - * Contributors: - * Shane Caraveo, ActiveState - * Bernd Paradies, Adobe - * - */ -#include "TView.h" - -#include <stdlib.h> -#include <string.h> -#include <stdio.h> -#include <ctype.h> -#include <time.h> - -#include <vector> -#include <map> - -#include "Platform.h" -#include "Scintilla.h" -#include "PlatMacOSX.h" - - -#include "ScintillaWidget.h" -#ifdef SCI_LEXER -#include "SciLexer.h" -#include "PropSetSimple.h" -#include "ILexer.h" -#include "LexAccessor.h" -#include "Accessor.h" -#endif -#include "SVector.h" -#include "SplitVector.h" -#include "Partitioning.h" -#include "RunStyles.h" -#include "ContractionState.h" -#include "CellBuffer.h" -#include "CallTip.h" -#include "KeyMap.h" -#include "Indicator.h" -#include "XPM.h" -#include "LineMarker.h" -#include "Style.h" -#include "AutoComplete.h" -#include "ViewStyle.h" -#include "CharClassify.h" -#include "Decoration.h" -#include "Document.h" -#include "Selection.h" -#include "PositionCache.h" -#include "Editor.h" -#include "ScintillaBase.h" -#include "ScintillaCallTip.h" - -static const OSType scintillaMacOSType = 'Scin'; - -namespace Scintilla { - -/** -On the Mac, there is no WM_COMMAND or WM_NOTIFY message that can be sent -back to the parent. Therefore, there must be a callback handler that acts -like a Windows WndProc, where Scintilla can send notifications to. Use -ScintillaMacOSX::registerNotifyHandler() to register such a handler. -Messgae format is: -<br> -WM_COMMAND: HIWORD (wParam) = notification code, LOWORD (wParam) = 0 (no control ID), lParam = ScintillaMacOSX* -<br> -WM_NOTIFY: wParam = 0 (no control ID), lParam = ptr to SCNotification structure, with hwndFrom set to ScintillaMacOSX* -*/ -typedef void(*SciNotifyFunc) (intptr_t windowid, unsigned int iMessage, uintptr_t wParam, uintptr_t lParam); - -/** -Scintilla sends these two messages to the nofity handler. Please refer -to the Windows API doc for details about the message format. -*/ -#define WM_COMMAND 1001 -#define WM_NOTIFY 1002 - -class ScintillaMacOSX : public ScintillaBase, public TView -{ - public: - HIViewRef vScrollBar; - HIViewRef hScrollBar; - SInt32 scrollBarFixedSize; - SciNotifyFunc notifyProc; - intptr_t notifyObj; - - bool capturedMouse; - // true if scintilla initiated the drag session - bool inDragSession() { return inDragDrop == ddDragging; }; - bool isTracking; - - // Private so ScintillaMacOSX objects can not be copied - ScintillaMacOSX(const ScintillaMacOSX &) : ScintillaBase(), TView( NULL ) {} - ScintillaMacOSX &operator=(const ScintillaMacOSX &) { return * this; } - -public: - /** This is the class ID that we've assigned to Scintilla. */ - static const CFStringRef kScintillaClassID; - static const ControlKind kScintillaKind; - - ScintillaMacOSX( void* windowid ); - virtual ~ScintillaMacOSX(); - //~ static void ClassInit(GtkObjectClass* object_class, GtkWidgetClass *widget_class); - - /** Returns the HIView object kind, needed to subclass TView. */ - virtual ControlKind GetKind() { return kScintillaKind; } - - /// Register the notify callback - void registerNotifyCallback(intptr_t windowid, SciNotifyFunc callback); -private: - virtual void Initialise(); - virtual void Finalise(); - - // pasteboard support - bool GetPasteboardData(PasteboardRef &pasteBoard, - SelectionText *selectedText, bool *isFileURL); - void SetPasteboardData(PasteboardRef &pasteBoard, - const SelectionText &selectedText, - bool inDragDropSession); - char *GetStringFromCFString(CFStringRef &textString, int *textLen); - - // Drag and drop - virtual void StartDrag(); - Scintilla::Point GetDragPoint(DragRef inDrag); - bool GetDragData(DragRef inDrag, PasteboardRef &pasteBoard, - SelectionText *selectedText, - bool *isFileURL); - void SetDragCursor(DragRef inDrag); - virtual bool DragEnter(DragRef inDrag ); - virtual bool DragWithin(DragRef inDrag ); - virtual bool DragLeave(DragRef inDrag ); - virtual OSStatus DragReceive(DragRef inDrag ); - void DragScroll(); - int scrollSpeed; - int scrollTicks; - - EventRecord mouseDownEvent; - MouseTrackingRef mouseTrackingRef; - MouseTrackingRegionID mouseTrackingID; - HIPoint GetLocalPoint(::Point pt); - - void InsertCharacters (const UniChar* buf, int len); - static pascal void IdleTimerEventHandler(EventLoopTimerRef inTimer, - EventLoopIdleTimerMessage inState, - void *scintilla ); - -public: // Public for scintilla_send_message - virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam); - - void SyncPaint( void* gc, PRectangle rc); - //void FullPaint( void* gc ); - virtual void Draw( RgnHandle rgn, CGContextRef gc ); - - virtual sptr_t DefWndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam); - virtual void SetTicking(bool on); - virtual bool SetIdle(bool on); - virtual void SetMouseCapture(bool on); - virtual bool HaveMouseCapture(); - virtual PRectangle GetClientRectangle(); - - virtual void ScrollText(int linesToMove); - virtual void SetVerticalScrollPos(); - virtual void SetHorizontalScrollPos(); - virtual bool ModifyScrollBars(int nMax, int nPage); - virtual void ReconfigureScrollBars(); - void Resize(int width, int height); - static pascal void LiveScrollHandler( ControlHandle control, SInt16 part ); - bool ScrollBarHit(HIPoint location); - - virtual void NotifyChange(); - virtual void NotifyFocus(bool focus); - virtual void NotifyParent(SCNotification scn); - void NotifyKey(int key, int modifiers); - void NotifyURIDropped(const char *list); -#ifndef EXT_INPUT - // Extended UTF8-UTF6-conversion to handle surrogate pairs correctly (CL265070) - virtual int KeyDefault(int key, int modifiers); -#endif - static pascal OSStatus CommandEventHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* data ); - - bool HasSelection(); - bool CanUndo(); - bool CanRedo(); - bool AlwaysTrue(); - virtual void CopyToClipboard(const SelectionText &selectedText); - virtual void Copy(); - virtual bool CanPaste(); - virtual void Paste(); - virtual void Paste(bool rectangular); - virtual void CreateCallTipWindow(PRectangle rc); - virtual void AddToPopUp(const char *label, int cmd = 0, bool enabled = true); - virtual void ClaimSelection(); - void ClearSelectionSimple() { - ClearSelection(); - } - - static sptr_t DirectFunction(ScintillaMacOSX *sciThis, - unsigned int iMessage, uptr_t wParam, sptr_t lParam); - - /** Timer event handler. Simply turns around and calls Tick. */ - virtual void TimerFired( EventLoopTimerRef ); - virtual OSStatus BoundsChanged( UInt32 inOptions, const HIRect& inOriginalBounds, const HIRect& inCurrentBounds, RgnHandle inInvalRgn ); - virtual ControlPartCode HitTest( const HIPoint& where ); - virtual OSStatus SetFocusPart( ControlPartCode desiredFocus, RgnHandle, Boolean, ControlPartCode* outActualFocus ); - virtual OSStatus TextInput( TCarbonEvent& event ); - - // Configure the features of this control - virtual UInt32 GetBehaviors(); - - virtual OSStatus MouseDown( HIPoint& location, UInt32 modifiers, EventMouseButton button, UInt32 clickCount, TCarbonEvent& inEvent ); - virtual OSStatus MouseDown( HIPoint& location, UInt32 modifiers, EventMouseButton button, UInt32 clickCount ); - virtual OSStatus MouseDown( EventRecord *rec ); - virtual OSStatus MouseUp( HIPoint& location, UInt32 modifiers, EventMouseButton button, UInt32 clickCount ); - virtual OSStatus MouseUp( EventRecord *rec ); - virtual OSStatus MouseDragged( HIPoint& location, UInt32 modifiers, EventMouseButton button, UInt32 clickCount ); - virtual OSStatus MouseDragged( EventRecord *rec ); - virtual OSStatus MouseEntered( HIPoint& location, UInt32 modifiers, EventMouseButton button, UInt32 clickCount ); - virtual OSStatus MouseExited( HIPoint& location, UInt32 modifiers, EventMouseButton button, UInt32 clickCount ); - virtual OSStatus MouseWheelMoved( EventMouseWheelAxis axis, SInt32 delta, UInt32 modifiers ); - virtual OSStatus ContextualMenuClick( HIPoint& location ); - - virtual OSStatus ActiveStateChanged(); - - virtual void CallTipClick(); - - -public: - static HIViewRef Create(); -private: - static OSStatus Construct( HIViewRef inControl, TView** outView ); - -}; - - -} |