public override sealed void Click() { if (LabelEditor != null) { LabelEditor.BeforeLabelEdit += LabelEditor_BeforeLabelEdit; LabelEditor.AfterLabelEdit += LabelEditor_AfterLabelEdit; if (!LabelEditor.BeginEdit(Renameable)) { LabelEditor.BeforeLabelEdit -= LabelEditor_BeforeLabelEdit; LabelEditor.AfterLabelEdit -= LabelEditor_AfterLabelEdit; } } else { var diag = new NameDialog(); var nameDialog = new NameDialog(); nameDialog.Text = Renameable.Name; var result = nameDialog.ShowDialog(); if (result == DialogResult.OK) { if (Renameable.CanRenameTo(nameDialog.EnteredText)) { CommandHistory.Insert(Command.Rename(Renameable, nameDialog.EnteredText)); } } } }
IEnumerator WaitForProvider() { while (Provider == null) { yield return(WaitFor.EndOfFrame); } renameable = Provider.GetComponent <Renameable>(); }
void LabelEditor_AfterLabelEdit(object sender, VVVV.Core.Viewer.LabelEditEventArgs args) { if (args.Model.Equals(Renameable)) { var label = args.Label; if (Renameable.CanRenameTo(label)) { var command = Command.Rename(Renameable, label); CommandHistory.Insert(command); LabelEditor.AfterLabelEdit -= LabelEditor_AfterLabelEdit; } else { args.CancelEdit = true; } } }