Ejemplo n.º 1
0
        static void DoErrorsListViewArea(
            ErrorsListView errorsListView)
        {
            Rect treeRect = GUILayoutUtility.GetRect(0, 100000, 0, 100000);

            errorsListView.OnGUI(treeRect);
        }
Ejemplo n.º 2
0
        void BuildComponents()
        {
            IncomingChangesTreeHeaderState incomingChangesHeaderState =
                IncomingChangesTreeHeaderState.GetDefault();

            TreeHeaderSettings.Load(incomingChangesHeaderState,
                                    UnityConstants.GLUON_INCOMING_CHANGES_TABLE_SETTINGS_NAME,
                                    (int)IncomingChangesTreeColumn.Path, true);

            mIncomingChangesTreeView = new IncomingChangesTreeView(
                mWkInfo, incomingChangesHeaderState,
                IncomingChangesTreeHeaderState.GetColumnNames(),
                new IncomingChangesViewMenu(mWkInfo, this, this),
                UpdateProcessMergesButtonText);
            mIncomingChangesTreeView.Reload();

            ErrorsListHeaderState errorsListHeaderState =
                ErrorsListHeaderState.GetDefault();

            TreeHeaderSettings.Load(errorsListHeaderState,
                                    UnityConstants.GLUON_INCOMING_ERRORS_TABLE_SETTINGS_NAME,
                                    UnityConstants.UNSORT_COLUMN_ID);

            mErrorsListView = new ErrorsListView(errorsListHeaderState);
            mErrorsListView.Reload();
        }
Ejemplo n.º 3
0
        static void UpdateErrorsList(
            ErrorsListView errorsListView,
            List <ErrorMessage> errorMessages)
        {
            errorsListView.BuildModel(errorMessages);

            errorsListView.Reload();
        }
Ejemplo n.º 4
0
        void DoErrorsArea(
            ErrorsListView errorsListView,
            object splitterState,
            bool isErrorsListVisible)
        {
            EditorGUILayout.BeginVertical();

            if (isErrorsListVisible)
            {
                DrawSplitter.ForHorizontalIndicator();
                DoErrorsListArea(errorsListView, splitterState);
            }

            EditorGUILayout.EndVertical();
        }
Ejemplo n.º 5
0
        void DoErrorsListSplitViewArea(
            ErrorsListView errorsListView,
            object splitterState)
        {
            EditorGUILayout.BeginHorizontal();

            SplitterGUILayout.BeginHorizontalSplit(splitterState);

            DoErrorsListViewArea(errorsListView);

            DoErrorDetailsTextArea(errorsListView.GetSelectedError());

            SplitterGUILayout.EndHorizontalSplit();

            EditorGUILayout.EndHorizontal();
        }
Ejemplo n.º 6
0
        void DoErrorsListArea(
            ErrorsListView errorsListView,
            object splitterState)
        {
            EditorGUILayout.BeginVertical();

            GUILayout.Label(
                PlasticLocalization.GetString(
                    PlasticLocalization.Name.IncomingChangesCannotBeApplied),
                EditorStyles.boldLabel);

            DoErrorsListSplitViewArea(
                errorsListView, splitterState);

            EditorGUILayout.EndVertical();
        }
Ejemplo n.º 7
0
 public void Init(CodeEditorView codeEditorView, ErrorsListView errorsListView, MainWindowView mainWindowView)
 {
     _codeEditorView = codeEditorView;
     _errorsListView = errorsListView;
     _mainWindowView = mainWindowView;
 }
Ejemplo n.º 8
0
        // ----------------------------------------------------------------------------------------
        public void Init(ErrorsListView errorsListView)
        {
            OnPropertyChanged("CurrentCodeFile"); // Без этого не скрывает все изначально

            _colorizeErrors        = new ColorizeErrors(this);
            _colorizeErrorForPopUp = new ColorizeErrorForPopup();

            // Tabs control
            tabControl.SelectionChanged += (sender, args) =>
            {
                SetNewCodeFile();
                OnPropertyChanged("CurrentCodeFile");
                OnActiveFileChanged();
                //Dispatcher.BeginInvoke(new Action(() => AvalonEditor.Focus())); // official hack! BAD!
            };
            tabControl.FileOpened += (sender, args) => OnFileOpened(args);
            tabControl.FileClosed += (sender, args) => OnFileClosed(args);

            tabControl.Init(this);

            // Setting view
            _errorListView = errorsListView;

            // Скроллбары
            AvalonEditor.VerticalScrollBarVisibility   = ScrollBarVisibility.Hidden;
            AvalonEditor.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;

            IsKeyboardFocusWithinChanged += (sender, args) =>
            {
                IsEditorFocused        = IsKeyboardFocusWithin;
                _isEditorFocused.Value = IsKeyboardFocusWithin || CommentsPanel.IsKeyboardFocusWithin;
                Redraw();
                OnPropertyChanged("IsEditorFocused");
            };
            CommentsPanel.IsKeyboardFocusWithinChanged += (sender, args) =>
            {
                _isEditorFocused.Value = IsKeyboardFocusWithin || CommentsPanel.IsKeyboardFocusWithin;
                Redraw();
            };

            // Выделение цветом
            XBackgroundRenderer currentLineColorize = new XBackgroundRenderer(AvalonEditor, _isEditorFocused, CommentsPanel);

            AvalonEditor.TextArea.TextView.BackgroundRenderers.Add(currentLineColorize);
            AvalonEditor.TextArea.TextView.LineTransformers.Add(new ColorizeColorSegments(this));
            AvalonEditor.TextArea.TextView.LineTransformers.Add(_colorizeErrors);
            AvalonEditor.TextArea.TextView.LineTransformers.Add(_colorizeErrorForPopUp);


            // Отключаем drag&drop
            // Если разрешить DragDrop, выделение цветом рушится, и вообще нестабильно, ну его
            AvalonEditor.TextArea.Options.EnableTextDragDrop = false;

            AvalonEditor.Options.EnableEmailHyperlinks = false;
            AvalonEditor.Options.EnableHyperlinks      = false;


            // Изначально никакой файл не открыт
            //SetNewCodeFile();

            // Line numbers
            AvalonEditor.ShowLineNumbers       = true;
            AvalonEditor.LineNumbersForeground = new SolidColorBrush(Colors.SteelBlue);

            // Update Line and Column in the bottom
            AvalonEditor.TextArea.Caret.PositionChanged += (sender, args) =>
            {
                OnPropertyChanged("Caret");
                SelectCurrentErrorForCaret();

                if (CaretLine.Text != AvalonEditor.TextArea.Caret.Line.ToString())
                {
                    OnPropertyChanged("Line");
                    ScrollToErrorInCurrentLine();
                }
                if (CaretColumn.Text != AvalonEditor.TextArea.Caret.Column.ToString())
                {
                    OnPropertyChanged("Column");
                }

                CaretLine.Text   = AvalonEditor.TextArea.Caret.Line.ToString();
                CaretColumn.Text = AvalonEditor.TextArea.Caret.Column.ToString();
            };

            // Verical editor panels
            CheckboxesPanel.Init(this);
            CheckboxesPanel.InitCheckboxes(AvalonEditor);
            CommentsPanel.Init(this);
            CommentsPanel.InitComments(currentLineColorize, AvalonEditor);
            ErrorMarkersPanel.Init(this);
            BookmarksPanel.Init(this);
            BookmarksPanel.Init2(Resources["BookmarksContextMenu"] as ContextMenu, Resources["BookmarksEmptyContextMenu"] as ContextMenu);

            // Popups
            InitPopups();
        }