public void UpdateKeyViews()
        {
            nint row = TableView.RowForView(this);

            if (row <= 0)
            {
                return;
            }

            NSView view;
            PropertyEditorControl ctrl = null;

            do
            {
                row--;
                view = TableView.GetView(0, row, makeIfNecessary: false);
                ctrl = (view as EditorContainer)?.EditorView?.NativeView as PropertyEditorControl;
            } while (row > 0 && ctrl == null);

            if (ctrl != null)
            {
                ctrl.LastKeyView.NextKeyView = FirstKeyView;
                ctrl.UpdateKeyViews();
            }
            else if (row == 0 && view is PanelHeaderEditorControl header)
            {
                header.SetNextKeyView(FirstKeyView);
            }
        }
Exemple #2
0
        public void UpdateKeyViews(bool backward = true, bool forward = true)
        {
            if (TableRow < 0)
            {
                return;
            }

            PropertyEditorControl ctrl = null;

            //FIXME: don't hardcode column
            if (backward && TableRow > 0 && (ctrl = TableView.GetView(1, TableRow - 1, false) as PropertyEditorControl) != null)
            {
                ctrl.LastKeyView.NextKeyView = FirstKeyView;
                ctrl.UpdateKeyViews(forward: false);
            }

            //FIXME: don't hardcode column
            if (forward && TableRow < TableView.RowCount - 1 && (ctrl = TableView.GetView(1, TableRow + 1, false) as PropertyEditorControl) != null)
            {
                LastKeyView.NextKeyView = ctrl.FirstKeyView;
                ctrl.UpdateKeyViews(backward: false);
            }
        }