public LabelWithRename()
        {
            style.backgroundColor = Color.green;
            style.flexGrow        = 1;
            style.flexShrink      = 0;
            style.flexBasis       = 1;

            _renameField = new RenameField(this, null);
            Add(_renameField);
            RegisterCallback <MouseDownEvent>(OnLabelMouseClickEvent);
        }
        public LabelWithRename(string text, Action <string> onRename) : base(text)
        {
            style.backgroundColor = Color.green;
            style.flexGrow        = 1;
            style.flexShrink      = 0;
            style.flexBasis       = 1;

            _renameField = new RenameField(this, onRename);
            Add(_renameField);
            RegisterCallback <MouseDownEvent>(OnLabelMouseClickEvent);
        }
Esempio n. 3
0
 public void RenameApply(bool Apply)
 {
     if (Apply)
     {
         RenameGroup(RenameObject);
         PrefixChangeGroup(RenameObject);
     }
     RenameObject.RenameEnd();
     RenameField.SetParent(Pivot, false);
     RenameField.gameObject.SetActive(false);
     RenameUndoApplyied = false;
 }
Esempio n. 4
0
 void ClearRename()
 {
     if (RenameField.gameObject.activeSelf)
     {
         if (RenameObject)
         {
             RenameObject.RenameEnd();
         }
         RenameField.SetParent(Pivot, false);
         RenameField.gameObject.SetActive(false);
         RenameUndoApplyied = false;
     }
 }
Esempio n. 5
0
        public void RenameStart(UnitListObject parent)
        {
            ClearRename();

            RenameObject = parent;
            RenameField.SetParent(parent.transform, false);
            RenameField.gameObject.SetActive(true);
            RenameField.GetComponent <LayoutElement>().enabled = true;

            NameInputField.SetValue(parent.Source.NoPrefixName);
            PrefixInputField.SetValue(parent.Source.PrefixName);

            NameInputField.InputFieldUi.ActivateInputField();
        }
Esempio n. 6
0
        private static RenameEntry Parse(string line)
        {
            if (string.IsNullOrWhiteSpace(line) || line.TrimStart().StartsWith("#"))
            {
                return(null);
            }

            RenameField sourceField       = RenameField.None;
            string      operation         = null;
            string      match             = null;
            RenameField destinationField1 = RenameField.None;
            string      destinationValue1 = null;
            RenameField destinationField2 = RenameField.None;
            string      destinationValue2 = null;

            Accept(Terminal.Whitespace, ref line);

            sourceField = (RenameField)Enum.Parse(typeof(RenameField), Require(Terminal.Field, ref line), true);
            Accept(Terminal.Whitespace, ref line);
            operation = Require(Terminal.SearchType, ref line);
            Accept(Terminal.Whitespace, ref line);
            match = Require(Terminal.String, ref line);
            match = match.Substring(1, match.Length - 2).Replace("\"\"", "\"");

            Accept(Terminal.Whitespace, ref line);
            Require(Terminal.Definition, ref line);
            Accept(Terminal.Whitespace, ref line);

            destinationField1 = (RenameField)Enum.Parse(typeof(RenameField), Require(Terminal.Field, ref line), true);
            Accept(Terminal.Whitespace, ref line);
            Require(Terminal.Assignment, ref line);
            Accept(Terminal.Whitespace, ref line);
            destinationValue1 = Require(Terminal.String, ref line);
            destinationValue1 = destinationValue1.Substring(1, destinationValue1.Length - 2).Replace("\"\"", "\"");

            Accept(Terminal.Whitespace, ref line);
            if (Accept(Terminal.Seperator, ref line) != null)
            {
                Accept(Terminal.Whitespace, ref line);
                destinationField2 = (RenameField)Enum.Parse(typeof(RenameField), Require(Terminal.Field, ref line), true);
                Accept(Terminal.Whitespace, ref line);
                Require(Terminal.Assignment, ref line);
                Accept(Terminal.Whitespace, ref line);
                destinationValue2 = Require(Terminal.String, ref line);
                destinationValue2 = destinationValue2.Substring(1, destinationValue2.Length - 2).Replace("\"\"", "\"");
            }

            Accept(Terminal.Whitespace, ref line);
            Require(Terminal.EndOfLine, ref line);

            if (destinationField1 == destinationField2)
            {
                throw new RenameFileSyntaxException("Duplicate destinations are invalid.");
            }

            RenameEntry.Destination[] destinations;
            if (destinationField2 == RenameField.None)
            {
                destinations = new[]
                {
                    new RenameEntry.Destination {
                        Field = destinationField1, Replacement = destinationValue1
                    },
                };
            }
            else
            {
                destinations = new[]
                {
                    new RenameEntry.Destination {
                        Field = destinationField1, Replacement = destinationValue1
                    },
                    new RenameEntry.Destination {
                        Field = destinationField2, Replacement = destinationValue2
                    },
                };
            }

            RenameStyle style = RenameStyle.Exact;

            switch (operation)
            {
            case "~=": style = RenameStyle.CaseInsensitive; break;

            case "%=": style = RenameStyle.Regex; break;
            }

            return(new RenameEntry
            {
                RenameStyle = style,
                SourceField = sourceField,
                Match = match,
                Destinations = destinations,
            });
        }