示例#1
0
        public void ExecuteSourceLocationAction(PascalABCCompiler.SourceLocation
                                                SourceLocation, VisualPascalABCPlugins.SourceLocationAction Action)
        {
            if (Action != SourceLocationAction.NavigationGoto)
            {
                NavigationLocationChanged();
            }
            if (SourceLocation.FileName != null)
            {
                WorkbenchServiceFactory.FileService.OpenFile(SourceLocation.FileName, null, true);
            }
            CodeFileDocumentTextEditorControl editor = CurrentSyntaxEditor.TextEditor;

            editor.ActiveTextAreaControl.SelectionManager.ClearSelection();

            //Point Beg = new Point(SourceLocation.BeginPosition.Column - 1, SourceLocation.BeginPosition.Line - 1);
            //Point End = new Point(SourceLocation.EndPosition.Column, SourceLocation.EndPosition.Line - 1);
            ICSharpCode.TextEditor.TextLocation Beg = new ICSharpCode.TextEditor.TextLocation(SourceLocation.BeginPosition.Column - 1, SourceLocation.BeginPosition.Line - 1);
            ICSharpCode.TextEditor.TextLocation End = new ICSharpCode.TextEditor.TextLocation(SourceLocation.EndPosition.Column, SourceLocation.EndPosition.Line - 1);
            switch (Action)
            {
            case SourceLocationAction.SelectAndGotoBeg:
            case SourceLocationAction.SelectAndGotoEnd:
            case SourceLocationAction.FindSelection:
                if (Action == SourceLocationAction.SelectAndGotoBeg)
                {
                    editor.ActiveTextAreaControl.Caret.Position = Beg;
                }
                else
                {
                    editor.ActiveTextAreaControl.Caret.Position = End;
                }
                editor.ActiveTextAreaControl.SelectionManager.SetSelection(Beg, End);
                if (Action != SourceLocationAction.FindSelection)
                {
                    SetFocusToEditor();
                }
                break;

            case SourceLocationAction.NavigationGoto:
            case SourceLocationAction.GotoBeg:
            case SourceLocationAction.GotoEnd:
                if (Action == SourceLocationAction.GotoBeg || Action == SourceLocationAction.NavigationGoto)
                {
                    editor.ActiveTextAreaControl.Caret.Position = Beg;
                }
                else
                {
                    editor.ActiveTextAreaControl.Caret.Position = End;
                }
                SetFocusToEditor();
                break;
            }
            if (Action != SourceLocationAction.NavigationGoto)
            {
                NavigationLocationChanged();
                CurrentSyntaxEditor.CenterView();
            }
        }
        public QuickClassBrowserPanel(CodeFileDocumentTextEditorControl textAreaControl)
        {
            InitializeComponent();
            this.membersComboBox.MaxDropDownItems = 20;

            base.Dock            = DockStyle.Top;
            this.textAreaControl = textAreaControl;
            this.textAreaControl.ActiveTextAreaControl.Caret.PositionChanged += new EventHandler(CaretPositionChanged);
            if (VisualPABCSingleton.MainForm != null && !VisualPABCSingleton.MainForm.UserOptions.ShowQuickClassBrowserPanel)
            {
                this.Visible = false;
            }
            if (VisualPABCSingleton.MainForm != null)
            {
                th              = new Thread(new ThreadStart(ChangeInternal));
                th.Priority     = ThreadPriority.Lowest;
                th.IsBackground = true;
                th.Start();
            }
        }
		public QuickClassBrowserPanel(CodeFileDocumentTextEditorControl textAreaControl)
		{
			InitializeComponent();
			this.membersComboBox.MaxDropDownItems = 20;
			
			base.Dock = DockStyle.Top;
			this.textAreaControl = textAreaControl;
			this.textAreaControl.ActiveTextAreaControl.Caret.PositionChanged += new EventHandler(CaretPositionChanged);
			//this.Paint += new PaintEventHandler( PaintInternal);
            if (VisualPABCSingleton.MainForm != null && !VisualPABCSingleton.MainForm.UserOptions.ShowQuickClassBrowserPanel)
            {
                this.Visible = false;
            }
//            else this.ShowPanel();
			//FillMembersComboBox();
			//UpdateMembersComboBox();
            if (VisualPABCSingleton.MainForm != null)
            {
                th = new Thread(new ThreadStart(ChangeInternal));
                th.Priority = ThreadPriority.Lowest;
                th.IsBackground = true;
                th.Start();
            }
		}