Ejemplo n.º 1
0
 public ActionSeparatorItemModel()
 {
     Action = new GroupActionSeparator()
     {
         Name = "Action", IsGroup = true
     };
 }
Ejemplo n.º 2
0
 public ActionSeparatorItemModel(ActionSeparatorItemModel a, IdeCollection <IdeBaseItem> source) : base(source)
 {
     _action = new GroupActionSeparator()
     {
         HeaderExecute = a._action.HeaderExecute,
         IsGroup       = a.IsGroup,
         Name          = a.Name,
         ShowExecute   = a._action.ShowExecute
     };
 }
Ejemplo n.º 3
0
 public ActionSeparatorItemModel(ActionSeparatorItemModel a)
 {
     Action = new GroupActionSeparator()
     {
         HeaderExecute = ((GroupActionSeparator)a.Action).HeaderExecute,
         IsGroup       = ((GroupActionSeparator)a.Action).IsGroup,
         Name          = ((GroupActionSeparator)a.Action).Name,
         ShowExecute   = ((GroupActionSeparator)a.Action).ShowExecute
     };
     Parent     = a.Parent;
     ItemSource = a.ItemSource;
 }
Ejemplo n.º 4
0
 public ActionSeparatorItemModel(GroupActionSeparator a, IdeCollection <IdeBaseItem> source) : base(source)
 {
     _action = a;
 }
Ejemplo n.º 5
0
 public ActionSeparatorItemModel(IdeCollection <IdeBaseItem> source) : base(source)
 {
     _action = new GroupActionSeparator();
 }
Ejemplo n.º 6
0
 public ActionSeparatorItemModel(GroupActionSeparator a)
 {
     Action = a;
 }
Ejemplo n.º 7
0
        internal Group DeserialiseGroup(group grp, int id)
        {
            if (grp == null)
            {
                return(null);
            }
            var ret = new Group
            {
                Id              = (byte)id,
                Name            = grp.name,
                Background      = grp.background == null ? null : Path.Combine(directory, grp.background),
                BackgroundStyle = grp.backgroundStyle.ToString(),
                Board           = grp.board == null ? null : Path.Combine(directory, grp.board),
                BoardPosition   = grp.boardPosition == null ? new DataRectangle {
                    X = 0, Y = 0, Height = 0, Width = 0
                } :
                new DataRectangle
                {
                    X      = double.Parse(grp.boardPosition.Split(',')[0]),
                    Y      = double.Parse(grp.boardPosition.Split(',')[1]),
                    Width  = double.Parse(grp.boardPosition.Split(',')[2]),
                    Height = double.Parse(grp.boardPosition.Split(',')[3])
                },
                Collapsed    = bool.Parse(grp.collapsed.ToString()),
                Height       = Int32.Parse(grp.height),
                Width        = Int32.Parse(grp.width),
                Icon         = grp.icon == null ? null : Path.Combine(directory, grp.icon),
                Ordered      = bool.Parse(grp.ordered.ToString()),
                Shortcut     = grp.shortcut,
                CardActions  = new List <IGroupAction>(),
                GroupActions = new List <IGroupAction>()
            };

            if (grp.Items != null)
            {
                foreach (var item in grp.Items)
                {
                    if (item is action)
                    {
                        var i  = item as action;
                        var to = new GroupAction
                        {
                            Name          = i.menu,
                            Shortcut      = i.shortcut,
                            ShowIf        = i.showIf,
                            BatchExecute  = i.batchExecute,
                            Execute       = i.execute,
                            DefaultAction = bool.Parse([email protected]())
                        };
                        if (item is cardAction)
                        {
                            to.IsGroup = false;
                            (ret.CardActions as List <IGroupAction>).Add(to);
                        }
                        else if (item is groupAction)
                        {
                            to.IsGroup = true;
                            (ret.GroupActions as List <IGroupAction>).Add(to);
                        }
                    }
                    else if (item is actionSubmenu)
                    {
                        var i  = item as actionSubmenu;
                        var to = new GroupActionGroup
                        {
                            Children = new List <IGroupAction>(),
                            Name     = i.menu,
                            ShowIf   = i.showIf,
                        };
                        if (item is cardActionSubmenu)
                        {
                            to.IsGroup  = false;
                            to.Children = this.DeserializeGroupActionGroup(i, false);
                            (ret.CardActions as List <IGroupAction>).Add(to);
                        }
                        else if (item is groupActionSubmenu)
                        {
                            to.IsGroup  = true;
                            to.Children = this.DeserializeGroupActionGroup(i, true);
                            (ret.GroupActions as List <IGroupAction>).Add(to);
                        }
                    }
                    else if (item is actionSeparator)
                    {
                        var separator = new GroupActionSeparator {
                            ShowIf = item.showIf,
                        };
                        if (item is groupActionSeparator)
                        {
                            separator.IsGroup = true;
                            (ret.GroupActions as List <IGroupAction>).Add(separator);
                        }
                        else if (item is cardActionSeparator)
                        {
                            separator.IsGroup = false;
                            (ret.CardActions as List <IGroupAction>).Add(separator);
                        }
                    }
                }
            }
            switch (grp.visibility)
            {
            case groupVisibility.none:
                ret.Visibility = GroupVisibility.Nobody;
                break;

            case groupVisibility.me:
                ret.Visibility = GroupVisibility.Owner;
                break;

            case groupVisibility.all:
                ret.Visibility = GroupVisibility.Everybody;
                break;

            case groupVisibility.undefined:
                ret.Visibility = GroupVisibility.Undefined;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            return(ret);
        }