Example #1
0
        protected virtual void OnUnloaded()
        {
            DocumentChanged               = null;
            CaretPositionChanged          = null;
            quickClassBrowser.JumpAction -= EhQuickClassBrowser_JumpTo;
            Adapter  = null;
            Document = null;

            primaryTextEditor   = null;
            secondaryTextEditor = null;
            activeTextEditor    = null;
            quickClassBrowser   = null;
            Children.Clear();
        }
Example #2
0
        public CodeEditor()
        {
            //CodeEditorOptions.Instance.PropertyChanged += CodeEditorOptions_Instance_PropertyChanged;
            //CustomizedHighlightingColor.ActiveColorsChanged += CustomizedHighlightingColor_ActiveColorsChanged;
            //ParserService.ParseInformationUpdated += ParserServiceParseInformationUpdated;

            FlowDirection = FlowDirection.LeftToRight; // code editing is always left-to-right
            CommandBindings.Add(new CommandBinding(RoutedCommands.SplitView, OnSplitView));

            //textMarkerService = new TextMarkerService(this);
            //iconBarManager = new IconBarManager();
            //if (CodeEditorOptions.Instance.EnableChangeMarkerMargin)
            //{
            //	changeWatcher = new DefaultChangeWatcher();
            //}
            primaryTextEditor = CreateTextEditor();
            //primaryTextEditorAdapter = (CodeEditorAdapter)primaryTextEditor.TextArea.GetService(typeof(ITextEditor));
            //Debug.Assert(primaryTextEditorAdapter != null);
            activeTextEditor = primaryTextEditor;

            Document = primaryTextEditor.Document;
            primaryTextEditor.SetBinding(TextEditor.DocumentProperty, new Binding("Document")
            {
                Source = this
            });

            ColumnDefinitions.Add(new ColumnDefinition());
            RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Auto
            });
            RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(1, GridUnitType.Star), MinHeight = minRowHeight
            });
            SetRow(primaryTextEditor, 1);

            quickClassBrowser             = new QuickClassBrowser();
            quickClassBrowser.JumpAction += EhQuickClassBrowser_JumpTo;
            Children.Add(quickClassBrowser);

            Children.Add(primaryTextEditor);

            Unloaded += (s, e) => OnUnloaded();
        }