public TextArea(TextEditorControl motherTextEditorControl, TextAreaControl motherTextAreaControl) : base() { this.motherTextAreaControl = motherTextAreaControl; this.motherTextEditorControl = motherTextEditorControl; caret = new Caret(this); selectionManager = new SelectionManager(Document); this.textAreaClipboardHandler = new TextAreaClipboardHandler(this); #if GTK // FIXME: GTKize? this.DoubleBuffered = false; #else ResizeRedraw = true; SetStyle(ControlStyles.DoubleBuffer, false); SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.Opaque, false); #endif textView = new TextView(this); gutterMargin = new GutterMargin(this); foldMargin = new FoldMargin(this); iconBarMargin = new IconBarMargin(this); leftMargins.AddRange(new AbstractMargin[] { iconBarMargin, gutterMargin, foldMargin }); OptionsChanged(); new TextAreaMouseHandler(this).Attach(); new TextAreaDragDropHandler().Attach(this); bracketshemes.Add(new BracketHighlightingSheme('{', '}')); bracketshemes.Add(new BracketHighlightingSheme('(', ')')); bracketshemes.Add(new BracketHighlightingSheme('[', ']')); CanFocus = true; caret.PositionChanged += new EventHandler(SearchMatchingBracket); Document.TextContentChanged += new EventHandler(TextContentChanged); #if GTK KeyPressEvent += new GtkSharp.KeyPressEventHandler (OnKeyPress); AddEvents ((int) (Gdk.EventMask.ExposureMask | Gdk.EventMask.LeaveNotifyMask | Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask | Gdk.EventMask.PointerMotionMask | Gdk.EventMask.KeyPressMask | Gdk.EventMask.ScrollMask | Gdk.EventMask.KeyReleaseMask)); ExposeEvent += new GtkSharp.ExposeEventHandler (ExposeHandler); #endif }
public TextEditorControl() { Document = (new DocumentFactory()).CreateDocument(); Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy(); primaryTextArea = new TextAreaControl(this); #if GTK // FIXME: GTKize //pane.Add1(primaryTextArea); PackEnd(primaryTextArea, true, true, 0); #else primaryTextArea = new TextAreaControl(this); primaryTextArea.Dock = DockStyle.Fill; Controls.Add(primaryTextArea); ResizeRedraw = true; #endif InitializeTextAreaControl(primaryTextArea); Document.UpdateCommited += new EventHandler(CommitUpdateRequested); OptionsChanged(); }
protected override void InitializeTextAreaControl(TextAreaControl newControl) { base.InitializeTextAreaControl(newControl); MenuService menuService = (MenuService)MonoDevelop.Core.Services.ServiceManager.Services.GetService(typeof(MenuService)); newControl.ContextMenu = menuService.CreateContextMenu(this, contextMenuPath); newControl.TextArea.KeyEventHandler += new MonoDevelop.TextEditor.KeyEventHandler(HandleKeyPress); newControl.SelectionManager.SelectionChanged += new EventHandler(SelectionChanged); newControl.Caret.PositionChanged += new EventHandler(CaretPositionChanged); }
// FIXME: GTKize public void Split() { if (secondaryTextArea == null) { secondaryTextArea = new TextAreaControl(this); secondaryTextArea.Dock = DockStyle.Bottom; secondaryTextArea.Height = Height / 2; textAreaSplitter = new Splitter(); textAreaSplitter.BorderStyle = BorderStyle.FixedSingle ; textAreaSplitter.Height = 8; textAreaSplitter.Dock = DockStyle.Bottom; Controls.Add(textAreaSplitter); Controls.Add(secondaryTextArea); InitializeTextAreaControl(secondaryTextArea); secondaryTextArea.OptionsChanged(); } else { Controls.Remove(secondaryTextArea); Controls.Remove(textAreaSplitter); secondaryTextArea.Dispose(); textAreaSplitter.Dispose(); secondaryTextArea = null; textAreaSplitter = null; } }
protected virtual void InitializeTextAreaControl(TextAreaControl newControl) { }