示例#1
0
        public bool GetBackgroundGradientEnable()
        {
            List <IWidgetPropertyData> ListWidget = _Selection.GetSelectedWidgets();

            foreach (WidgetViewModBase data in ListWidget)
            {
                if (data.IsSupportGradientBackground)
                {
                    return(true);
                }
            }

            return(false);
        }
示例#2
0
        public void OpenChildWidgetPageEventHandler(Guid guid)
        {
            ISelectionService          _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>();
            List <IWidgetPropertyData> SelectWidgets     = _selectionService.GetSelectedWidgets();

            foreach (WidgetViewModBase wdg in SelectWidgets)
            {
                if (wdg.WidgetID.Equals(guid))
                {
                    if (wdg.Type == ObjectType.Master)
                    {
                        OpenMasterPageEventHandler(((EmbedWidgetViewModBase)wdg).EmbedePagetGUID);
                    }
                    else
                    {
                        IWidget widget = wdg.WidgetModel.WdgDom as IWidget;

                        if (widget != null)
                        {
                            OpenWidgetPage(widget, Guid.Empty, false, false);
                        }
                    }
                }
            }
        }
示例#3
0
        private List <Guid> GetSelectListinPage()
        {
            //List<Guid> SelectList = _selectionService.GetSelectedWidgetGUIDs();

            List <Guid> list = new List <Guid>();

            List <IWidgetPropertyData> SelectWidgeList = _selectionService.GetSelectedWidgets();

            foreach (IWidgetPropertyData widgetdate in SelectWidgeList)
            {
                if (widgetdate.IsGroup == true)
                {
                    Naver.Compass.WidgetLibrary.GroupViewModel groupVM = widgetdate as Naver.Compass.WidgetLibrary.GroupViewModel;
                    foreach (IWidgetPropertyData data in groupVM.WidgetChildren)
                    {
                        list.Add(data.WidgetID);
                    }
                }
                else
                {
                    list.Add(widgetdate.WidgetID);
                }
            }


            return(list);
        }
示例#4
0
        private void PushUndoStack()
        {
            // Undo/Redo
            ISupportUndo    pageVMUndo  = designerCanvas.DataContext as ISupportUndo;
            IGroupOperation pageVMGroup = designerCanvas.DataContext as IGroupOperation;

            if (pageVMUndo == null)
            {
                return;
            }

            CompositeCommand cmds = new CompositeCommand();

            IPagePropertyData Page = designerCanvas.DataContext as IPagePropertyData;
            bool bHasGroup         = Page.GetSelectedwidgets().Any(a => a.IsGroup);

            // Create undoable command for widgets
            foreach (WidgetViewModBase item in _infoItems)
            {
                item.PropertyMementos.SetPropertyNewValue("Left", item.Raw_Left);
                item.PropertyMementos.SetPropertyNewValue("Top", item.Raw_Top);

                if (item.WidgetType == WidgetType.Toast && item.Top != 0)
                {
                    item.PropertyMementos.SetPropertyNewValue("DisplayPosition", ToastDisplayPosition.UserSetting);
                }

                PropertyChangeCommand cmd = new PropertyChangeCommand(item, item.PropertyMementos);
                cmds.AddCommand(cmd);
            }

            // Create undoable command for groups
            if (pageVMGroup != null)
            {
                List <Guid> groupGuids = _groups.Select(x => x.WidgetID).ToList();

                if (designerItem.ParentID != Guid.Empty)
                {
                    groupGuids.Add(designerItem.ParentID);
                }

                if (groupGuids.Count > 0)
                {
                    UpdateGroupCommand cmd = new UpdateGroupCommand(pageVMGroup, groupGuids);
                    cmds.AddCommand(cmd);
                }
            }

            // Push to undo stack
            if (cmds.Count > 0)
            {
                List <IWidgetPropertyData> allSelects = _selectionService.GetSelectedWidgets();
                cmds.AddCommand(new SelectCommand(pageVMGroup, allSelects));

                cmds.DeselectAllWidgetsFirst();
                pageVMUndo.UndoManager.Push(cmds);
            }
        }
示例#5
0
        //Command Copy,20140306
        private void CopyCommanddHandler(object parameter)
        {
            //clear copy-data cache
            List <IWidget> ToCopyList = _selectionService.GetCloneCacheData();

            ToCopyList.Clear();
            _copyTime = 0;

            //implement copy operation
            if (_selectionService.WidgetNumber <= 0)
            {
                return;
            }
            foreach (WidgetViewModBase wdgItem in _selectionService.GetSelectedWidgets())
            {
                IWidget cloneItem = wdgItem.Clone();
                if (cloneItem != null)
                {
                    ToCopyList.Add(cloneItem);
                }
            }
        }
示例#6
0
        private void RotateThumb_DragCompleted(object sender, DragCompletedEventArgs e)
        {
            if (_infoItems.Count <= 0)
            {
                return;
            }

            // Undo/Redo
            ISupportUndo    pageVMUndo  = canvas.DataContext as ISupportUndo;
            IGroupOperation pageVMGroup = canvas.DataContext as IGroupOperation;

            if (pageVMUndo == null)
            {
                return;
            }

            CompositeCommand cmds = new CompositeCommand();

            // Create undoable command for widgets
            foreach (WidgetViewModBase item in _infoItems)
            {
                item.PropertyMementos.SetPropertyNewValue("RotateAngle", item.RotateAngle);

                if (this.designerItem.IsGroup)
                {
                    item.PropertyMementos.SetPropertyNewValue("Left", item.Raw_Left);
                    item.PropertyMementos.SetPropertyNewValue("Top", item.Raw_Top);
                }
                PropertyChangeCommand cmd = new PropertyChangeCommand(item, item.PropertyMementos);
                cmds.AddCommand(cmd);
            }

            // Create undoable command for groups
            if (pageVMGroup != null)
            {
                List <Guid> groupGuids = new List <Guid>();

                if (designerItem.ParentID != Guid.Empty)
                {
                    groupGuids.Add(designerItem.ParentID);

                    UpdateGroupCommand cmd = new UpdateGroupCommand(pageVMGroup, groupGuids);
                    cmds.AddCommand(cmd);
                }

                if (this.designerItem.IsGroup)
                {
                    groupGuids.Add((designerItem.DataContext as GroupViewModel).WidgetID);

                    UpdateGroupCommand cmd = new UpdateGroupCommand(pageVMGroup, groupGuids);
                    cmds.AddCommand(cmd);
                }
            }

            // Push to undo stack
            if (cmds.Count > 0)
            {
                List <IWidgetPropertyData> allSelects = _selectionService.GetSelectedWidgets();
                cmds.AddCommand(new SelectCommand(pageVMGroup, allSelects));

                cmds.DeselectAllWidgetsFirst();
                pageVMUndo.UndoManager.Push(cmds);
            }
        }
示例#7
0
        public int GetWidgetsNumber()
        {
            List <IWidgetPropertyData> wdgs = _selectionService.GetSelectedWidgets();

            return(wdgs.Count);
        }