Exemplo n.º 1
0
        static void OnFocusOut(this IRenamable renamable, FocusOutEvent evt)
        {
            VseWindow window = renamable.TitleElement.GetFirstAncestorOfType <VseGraphView>()?.window;

            if (window != null)
            {
                window.RefreshUIDisabled = false;
            }

            renamable.TitleEditor.UnregisterCallback <FocusEvent>(renamable.OnFocus);
            renamable.TitleEditor.UnregisterCallback <FocusOutEvent>(renamable.OnFocusOut);
            renamable.TitleEditor.Q(TextInputBaseField <string> .textInputUssName).UnregisterCallback <KeyDownEvent>(OnKeyPressed);

            // ReSharper disable once DelegateSubtraction
            Undo.undoRedoPerformed -= renamable.UndoRedoPerformed;

            renamable.TitleEditor.RemoveFromHierarchy();

            if (!renamable.EditTitleCancelled)
            {
                if (renamable.TitleEditor is TextField textField && renamable.TitleValue != textField.text)
                {
                    renamable.Store.Dispatch(new RenameElementAction((IRenamableModel)renamable.GraphElementModel, textField.text));
                }
            }
            else
            {
                renamable.EditTitleCancelled = false;
            }
        }
 public static void ShowGUI(IRenamable renamable)
 {
     target         = renamable;
     nameField.text = renamable.Name;
     if (windowInstance != null)
     {
         windowInstance.enabled = true;
     }
 }
Exemplo n.º 3
0
        private void EditLabel_Unloaded(object sender, RoutedEventArgs e)
        {
            IRenamable renamable = DataContext as IRenamable;

            if (renamable != null)
            {
                renamable.RenameRequested -= Renamable_RenameRequested;
            }

            _timer.Elapsed -= Timer_Elapsed;
        }
Exemplo n.º 4
0
        public RenameManager(IRenamable control)
        {
            Host = control;

            Host.Input.LostFocus       += LostFocus;
            Host.Input.KeyDown         += KeyDown;
            Host.Input.KeyUp           += KeyUp;
            Host.Input.PointerReleased += MouseUp;

            observable = Host.Input.GetObservable(TextBox.TextProperty).Subscribe(Changed);
        }
Exemplo n.º 5
0
        public void Dispose()
        {
            observable.Dispose();

            Host.Input.LostFocus       -= LostFocus;
            Host.Input.KeyDown         -= KeyDown;
            Host.Input.KeyUp           -= KeyUp;
            Host.Input.PointerReleased -= MouseUp;

            Host = null;
        }
Exemplo n.º 6
0
        internal static void EnableRename(this IRenamable renamable)
        {
            var clickable = new SimpleClickable(renamable.Rename);

            clickable.activators.Clear();
            clickable.activators.Add(
                new ManipulatorActivationFilter {
                button = MouseButton.LeftMouse, clickCount = 1
            });
            renamable.TitleElement.AddManipulator(clickable);
        }
Exemplo n.º 7
0
        static void UndoRedoPerformed(this IRenamable renamable)
        {
            var textField = renamable.TitleEditor as TextField;

            if (textField == null)
            {
                return;
            }

            textField.value = renamable.TitleValue;
            renamable.TitleEditor.Blur();
        }
Exemplo n.º 8
0
 protected static void Rename(IRenamable prop)
 {
     if (IS_USING_NAMING_SETTINGS)
     {
         NAMING_SETTINGS.Data.ApplyToObject(prop);
     }
     else
     {
         new NamingSettings.NamingData()
         {
             NameOverride     = NAME_OVERRIDE,
             SubstituteInput  = SUBSTITUTE_INPUT,
             SubstituteOutput = SUBSTITUTE_OUTPUT,
             Prefix           = PREFIX,
             Postfix          = POSTFIX
         }
     }.ApplyToObject(prop);
Exemplo n.º 9
0
        internal static void Rename(this IRenamable renamable, bool forceRename, MouseDownEvent mouseDownEvent = null)
        {
            if (renamable.RenameDelegate != null)
            {
                renamable.RenameDelegate();
                return;
            }

            var graphElement = (GraphElement)renamable;

            if (!graphElement.IsRenamable())
            {
                return;
            }

            var timeDelta = EditorApplication.timeSinceStartup - VseGraphView.clickTimeSinceStartupSecs;

            if (!forceRename && (graphElement != VseGraphView.clickTarget ||
                                 !(graphElement is IDoubleClickable) && mouseDownEvent != null && mouseDownEvent.clickCount != 2 ||
                                 graphElement is IDoubleClickable && (timeDelta < VseGraphView.SlowDoubleClickSecs || timeDelta > VseGraphView.SlowDoubleClickMaxTimeElapsed)))
            {
                if (graphElement is IDoubleClickable && timeDelta > VseGraphView.SlowDoubleClickMaxTimeElapsed)
                {
                    VseGraphView.clickTimeSinceStartupSecs = EditorApplication.timeSinceStartup;
                }
                return;
            }

            if (!(renamable.TitleEditor is TextField textField))
            {
                return;
            }

            textField.value = renamable.TitleValue;
            renamable.EditTitleCancelled = false;
            renamable.TitleEditor.RegisterCallback <FocusEvent>(renamable.OnFocus);
            renamable.TitleEditor.RegisterCallback <FocusOutEvent>(renamable.OnFocusOut);
            renamable.TitleEditor.Q(TextInputBaseField <string> .textInputUssName).RegisterCallback <KeyDownEvent>(OnKeyPressed);
            renamable.TitleEditor.StretchToParentSize();
            renamable.TitleElement.Add(renamable.TitleEditor);
            var textInput = renamable.TitleEditor.Q(TextInputBaseField <string> .textInputUssName);

            textInput.Focus();
            mouseDownEvent?.StopImmediatePropagation();
        }
Exemplo n.º 10
0
        static void OnFocus(this IRenamable renamable, FocusEvent evt)
        {
            var textField = renamable.TitleEditor as TextField;

            textField?.SelectAll();

            VseWindow window = renamable.TitleElement.GetFirstAncestorOfType <VseGraphView>()?.window;

            // OnBlur is not called after a function is created in a new window and the window is closed, e.g. in tests
            ((VisualElement)renamable).RegisterCallback <DetachFromPanelEvent>(Callback);
            if (window != null)
            {
                window.RefreshUIDisabled = true;
            }

            renamable.TitleEditor.UnregisterCallback <FocusEvent>(renamable.OnFocus);

            Undo.undoRedoPerformed += renamable.UndoRedoPerformed;
        }
Exemplo n.º 11
0
            public void ApplyToObject(IRenamable renamable)
            {
                NAME_BUILDER.Append(renamable.Name);

                if (!string.IsNullOrEmpty(NameOverride))
                {
                    NAME_BUILDER.Clear();
                    NAME_BUILDER.Append(NameOverride);
                }
                else if (!string.IsNullOrEmpty(SubstituteInput))
                {
                    NAME_BUILDER.Replace(SubstituteInput, SubstituteOutput);
                }

                NAME_BUILDER.Insert(0, Prefix).Append(Postfix);

                renamable.Name = NAME_BUILDER.ToString();

                NAME_BUILDER.Clear();
            }
Exemplo n.º 12
0
        void RebuildBlackboard()
        {
            var currentGraphModel = Store.GetState().CurrentGraphModel;

            title = currentGraphModel.FriendlyScriptName;

            subTitle = currentGraphModel.Stencil.GetBlackboardProvider().GetSubTitle();

            var blackboardProvider = currentGraphModel.Stencil.GetBlackboardProvider();

            if (m_AddButton != null)
            {
                if (!blackboardProvider.CanAddItems)
                {
                    m_AddButton.style.visibility = Visibility.Hidden;
                }
                else
                {
                    m_AddButton.style.visibility = StyleKeyword.Null;
                }
            }

            RebuildSections();

            var editorDataModel = Store.GetState().EditorDataModel;
            IGraphElementModel elementModelToRename = editorDataModel?.ElementModelToRename;

            if (elementModelToRename != null)
            {
                IRenamable elementToRename = GraphVariables.OfType <IRenamable>()
                                             .FirstOrDefault(x => ReferenceEquals(x.GraphElementModel, elementModelToRename));
                if (elementToRename != null)
                {
                    GraphView.UIController.ElementToRename = elementToRename;
                }
            }

            GraphView.HighlightGraphElements();
        }
Exemplo n.º 13
0
 static void Rename(this IRenamable renamable, MouseDownEvent mouseDownEvent = null)
 {
     Rename(renamable, false, mouseDownEvent);
 }
Exemplo n.º 14
0
 public RenameDialog(IDevice device)
 {
     renamable = new DeviceRenamable(device);
 }
Exemplo n.º 15
0
 public RenameDialog(Sensor sensor)
 {
     renamable = new SensorRenamable(sensor);
 }
Exemplo n.º 16
0
 public RenameDialog(IRenamable renamable)
 {
     this.renamable = renamable;
 }
Exemplo n.º 17
0
 /// <summary>
 /// Returns the native name for this entity. If this entity has a <see cref="RenameAttribute"/>
 /// attached, the renamed name will be returned.
 /// </summary>
 public static string GetRenameName(this IRenamable renamable)
 {
     return(renamable.HasAttribute <RenameAttribute>() ? renamable.GetAttribute <RenameAttribute>().Name
                : renamable.NativeName);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RenameElementCommand"/> class.
 /// </summary>
 /// <param name="model">The graph element to rename.</param>
 /// <param name="name">The new name.</param>
 public RenameElementCommand(IRenamable model, string name) : this()
 {
     Model       = model;
     ElementName = name;
 }
 void OnDestroy()
 {
     Debug.Log("[ELRenameWindow] OnDestroy");
     windowInstance = null;
     target         = null;
 }
Exemplo n.º 20
0
 public RenameElementAction(Unity.Modifier.GraphToolsFoundation.Model.IRenamable renamableModel, string name)
 {
     RenamableModel = renamableModel;
     Name           = name;
 }