Exemplo n.º 1
0
        public static T NextOrPrevEnumValue <T>(T value, StyleChangeKind change)
        {
            if (!typeof(T).IsEnum)
            {
                throw new ArgumentException(string.Format("{0} is not an Enum", typeof(T).FullName));
            }

            var changer = change == StyleChangeKind.Next ? 1 : -1;

            var values    = (T[])Enum.GetValues(value.GetType());
            var enumCount = values.Length;

            var index = (Array.IndexOf(values, value) + changer + enumCount) % enumCount;

            return(values[index]);
        }
Exemplo n.º 2
0
        private static List <ICommand> ChangeStyleUnderCursor(State state, UmlWindow umlWindow, StyleChangeKind change)
        {
            var id = state.Canvas.GetOccupants(state.TheCurser.Pos);

            if (!id.HasValue)
            {
                return(Noop);
            }

            var elem = state.Model.Objects.Single(x => x.Id == id);

            if (elem is IStyleChangeable)
            {
                return(Lst(new ChangeStyle(elem.Id, change)));
            }
            new Popup(umlWindow, "Only works on boxes");
            return(Noop);
        }
Exemplo n.º 3
0
 public ChangeStyle(int id, StyleChangeKind change)
 {
     this.id     = id;
     this.change = change;
 }