public void RegisterPage(IPagePropertyData pageVM, List <IWidgetPropertyData> ToAddWidgetList) { //register the page if (_pages == pageVM) { return; } _pages = pageVM; INotifyPropertyChanged vm = pageVM as INotifyPropertyChanged; vm.PropertyChanged += PagePropertyChangedHandler; //register selected widgets if exist if (ToAddWidgetList.Count <= 0) { return; } foreach (IWidgetPropertyData item in ToAddWidgetList) { INotifyPropertyChanged wVM = item as INotifyPropertyChanged; wVM.PropertyChanged += WdgPropertyChangedHandler; //_widgtes.Add(item); } _widgtes.AddRange(ToAddWidgetList); //_widgtes.Concat(ToAddWidgetList); }
private void GetMoveOffset(DragDeltaEventArgs e, ref double xOffset, ref double yOffset) { System.Windows.Point dragDelta = new System.Windows.Point(e.HorizontalChange, e.VerticalChange); RotateTransform rotateTransform = designerItem.RenderTransform as RotateTransform; if (rotateTransform != null) { dragDelta = rotateTransform.Transform(dragDelta); //Rect rec = rotateTransform.TransformBounds(new Rect(designerItem.RenderSize)); //rotateTransform. } xOffset = dragDelta.X; yOffset = dragDelta.Y; //If shift key down, move widget by straight line. if ((Keyboard.Modifiers & ModifierKeys.Shift) != ModifierKeys.None) { if (Math.Abs(xOffset) > Math.Abs(yOffset)) { yOffset = 0; } else { xOffset = 0; } } IPagePropertyData page = designerCanvas.DataContext as IPagePropertyData; Snap(page.BoundingRect, ref xOffset, ref yOffset); }
private void SelectionPageChangeEventHandler(Guid EventArg) { FirePropertyChanged("Top"); FirePropertyChanged("Left"); FirePropertyChanged("Width"); FirePropertyChanged("Height"); FirePropertyChanged("Content"); FirePropertyChanged("RotateAngle"); // FirePropertyChanged("Name"); // FirePropertyChanged("Type"); FirePropertyChanged("Opacity"); FirePropertyChanged("IsHidden"); FirePropertyChanged("ImgSource"); FirePropertyChanged("Tooltip"); ISelectionService _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>(); IPagePropertyData page = _selectionService.GetCurrentPage(); if (page == null) { return; } if (CmdTarget == page.EditorCanvas) { return; } CmdTarget = _selectionService.GetCurrentPage().EditorCanvas; }
private void MoveThumb_DragStarted(object sender, DragStartedEventArgs e) { _isMousePressMove = false; ISelectionService selectService = ServiceLocator.Current.GetInstance <ISelectionService>(); _page = selectService.GetCurrentPage(); }
public void PageChangeEventHandler(Guid EventArg) { try { if (EventArg.CompareTo(Guid.Empty) == 0) { ClearData("None page selected"); return; } if ((_Page != null) && _Page.Guid.CompareTo(EventArg) == 0) { return; } IPagePropertyData pageVM = _selectionService.GetCurrentPage(); if (pageVM != null && pageVM.EditorCanvas != null) { _expandStatusList.Clear();//Clear expand info when Change page. FlashPageData(pageVM); } } catch (System.Exception ex) { NLogger.Error("PageChangeEventHandler" + ex.Message); } }
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); } }
/// <summary> /// Let canvas editor get focus, or undo/redo will not be activated. /// </summary> private void EditorFocus() { IPagePropertyData page = _pageEditor; if (page != null && page.EditorCanvas != null) { page.EditorCanvas.Focus(); } }
private void SelectionPageChangeEventHandler(Guid EventArg) { FirePropertyChanged("Top"); FirePropertyChanged("Left"); FirePropertyChanged("Width"); FirePropertyChanged("Height"); FirePropertyChanged("RotateAngle"); FirePropertyChanged("CornerRadius"); FirePropertyChanged("Opacity"); FirePropertyChanged("IsHidden"); FirePropertyChanged("IsFixed"); FirePropertyChanged("IsFixedEnabled"); FirePropertyChanged("TextRotate"); //Fire Color //FirePropertyChanged("BackgroundColorView"); ////FirePropertyChanged("BackgroundColor32"); //FirePropertyChanged("FontColorView"); //FirePropertyChanged("BorderLineColorView"); GalleryData <StyleColor> cdata = _dataCollection["Background Color Gallery"] as GalleryData <StyleColor>; if (cdata != null) { cdata.SelectedItem = BackgroundColorView; } var Bdata = _dataCollection["Font Color Gallery"] as GalleryData <Brush>; if (Bdata != null) { Bdata.SelectedItem = FontColorView; } cdata = _dataCollection["BorderLine Color Gallery"] as GalleryData <StyleColor>; if (cdata != null) { cdata.SelectedItem = BorderLineColorView; } _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>(); IPagePropertyData page = _selectionService.GetCurrentPage(); if (page == null) { return; } if (CmdTarget == page.EditorCanvas) { return; } CmdTarget = _selectionService.GetCurrentPage().EditorCanvas; SetStyleCmdTarget(_selectionService.GetCurrentPage().EditorCanvas); UpdateCmdTarget(CmdTarget); }
protected override void OnMouseRightButtonUp(MouseButtonEventArgs e) { base.OnMouseRightButtonUp(e); IPagePropertyData page = DataContext as IPagePropertyData; if (page != null) { page.CommonEventNotify("FormatPaint", false); } }
public void ProcessHideChange(List <Guid> ChildList, IPagePropertyData pageVM) { foreach (Guid id in ChildList) { WidgetListItem Item = FindItemByGUID(id); if (Item != null && Item.ItemType != ListItemType.DynamicPanelStateItem && Item.ItemType != ListItemType.GroupItem) { Item.UpdateHideFlag(); //if (_rootItem.ItemType == ListItemType.DynamicPanelItem) //{ if (Item.ParentID != null && !Item.ParentID.Equals(Guid.Empty)) { WidgetListItem parentItem = FindItemByGUID(Item.ParentID); if (parentItem != null) { if (_rootItem.ItemType == ListItemType.DynamicPanelItem) { if (parentItem.ItemType == ListItemType.GroupItem) { TreatGroupFlags(parentItem as GroupListItem); WidgetListItem PanelItem = FindItemByGUID(parentItem.ParentID); TreatSwipePanelFlags(PanelItem); } else if (parentItem.ItemType == ListItemType.DynamicPanelStateItem) { TreatSwipePanelFlags(parentItem); } else if (parentItem.ItemType == ListItemType.GroupChildItem) { WidgetListItem RootGroupItem = FindRootGroupItem(parentItem); TreatGroupFlags(RootGroupItem as GroupListItem); WidgetListItem PanelItem = FindItemByGUID(RootGroupItem.ParentID); TreatSwipePanelFlags(PanelItem); } } else if (parentItem.ItemType == ListItemType.GroupItem) { TreatGroupFlags(parentItem as GroupListItem); } else if (parentItem.ItemType == ListItemType.GroupChildItem) { TreatGroupFlags(FindRootGroupItem(parentItem) as GroupListItem); } } } //} } } }
public void RemovePage(IPagePropertyData pageVM) { if (_pages == pageVM) { _widgtes.Clear(); INotifyPropertyChanged vm = pageVM as INotifyPropertyChanged; vm.PropertyChanged -= PagePropertyChangedHandler; _pages = null; _ListEventAggregator.GetEvent <SelectionPageChangeEvent>().Publish(Guid.Empty); return; } }
private void UpdateListItemZorder() { IPagePropertyData pageVM = _selectionService.GetCurrentPage(); //if (pageVM.PageType == PageType.DynamicPanelPage) //{ // UpDateDynamicZorder(_rootItem); //} //else //{ ProcessPageZorderChange(_rootItem); //} }
public void WidgetsNumberChangeHandler(Guid id) { try { IPagePropertyData pageVM = _selectionService.GetCurrentPage(); FlashPageData(pageVM); } catch (System.Exception ex) { NLogger.Error("WidgetsNumberChange" + ex.Message); } }
private void SelectionPageChangeEventHandler(Guid EventArg) { IPagePropertyData page = _selectionService.GetCurrentPage(); if (page == null) { return; } if (CmdTarget == page.EditorCanvas) { return; } CmdTarget = _selectionService.GetCurrentPage().EditorCanvas; }
void DesignerCanvas_Loaded(object sender, RoutedEventArgs e) { IPagePropertyData page = DataContext as IPagePropertyData; page.EditorCanvas = this; if (!page.IsNeedReturnFocus) { Focus(); } else { page.IsNeedReturnFocus = false; } }
public void OnAdaptiveViewChange(Guid ID) { // IDocumentService doc = ServiceLocator.Current.GetInstance<IDocumentService>(); IPagePropertyData pageVM = _selectionService.GetCurrentPage(); if (pageVM != null && pageVM.ActivePage != null) { WidgetListItem.CurViewID = ID; foreach (WidgetListItem Item in _allWidgets) { Item.UpdateAllFlagByViewChange(); } } }
public void WidgetGroupChangeHandler(bool bGroup) { try { IPagePropertyData pageVM = _selectionService.GetCurrentPage(); FlashPageData(pageVM); WidgetSelectionChangeHandler(null); } catch (System.Exception ex) { NLogger.Error("WidgetGroupChangeHandler" + ex.Message); } }
public void OnSwipeViewHidePropertyChanged(object parameter) { WDMgrHideStatusChangeInfo info = parameter as WDMgrHideStatusChangeInfo; IPagePropertyData pageVM = _selectionService.GetCurrentPage(); if (pageVM != null && info != null) { List <IWidgetPropertyData> VMList = pageVM.GetAllWidgets(); List <Guid> ChildrenWidgets = new List <Guid>(); foreach (IWidgetPropertyData data in VMList) { ChildrenWidgets.Add(data.WidgetID); } ProcessHideChange(ChildrenWidgets, pageVM); } }
public void OnWidgetHidepropertyChanged() { //List<Guid> SelectList = _selectionService.GetSelectedWidgetGUIDs(); IPagePropertyData pageVM = _selectionService.GetCurrentPage(); if (pageVM == null) { return; } List <Guid> SelectList = GetSelectListinPage(); ProcessHideChange(SelectList, pageVM); return; }
public void OnWidgetPlacePropertyChanged() { List <Guid> SelectList = GetSelectListinPage(); IPagePropertyData pageVM = _selectionService.GetCurrentPage(); if (pageVM != null && pageVM.ActivePage != null) { foreach (Guid id in SelectList) { WidgetListItem Item = FindItemByGUID(id); if (Item != null) { Item.UpdateAllFlagByViewChange(); } } } }
private void RefreshWidgetPageUIHandler(Guid pageGuid) { IPagePropertyData parentPage = ParentPageVM as IPagePropertyData; if (parentPage != null) { parentPage.SetIsThumbnailUpdate(true); } if (pageGuid == Guid.Empty || pageGuid != widgetGID || _widget.ParentPage.IsOpened == false) { return; } LoadChildrenIconNode(); (_model as DynamicPanelModel).LoadAllChildrenWidgets(); }
private void EditCanvas_MouseWheel(object sender, MouseWheelEventArgs e) { DesignerBaseCanvas it1 = sender as DesignerBaseCanvas; if (it1 == null) { return; } if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { IPagePropertyData page = this.DataContext as IPagePropertyData; Rect selectWdgBounding = page.BoundingRect; if (e.Delta > 0) { //ExternCanvas. ScaleTransform scaletransform = ExternCanvasBorder.RenderTransform as ScaleTransform; scaletransform.ScaleX = PageScaleEnumerator.GetValue(scaletransform.ScaleX, true);// Math.Min(1.7, scaletransform.ScaleX + 0.01); double hOffset = (selectWdgBounding.Left + selectWdgBounding.Width / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualWidth / 2; double vOffset = (selectWdgBounding.Top + selectWdgBounding.Height / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualHeight / 2; DesignerScrollViewer.ScrollToHorizontalOffset(hOffset); DesignerScrollViewer.ScrollToVerticalOffset(vOffset); NLogger.Debug("e.Delta: " + e.Delta + " Scale: " + scaletransform.ScaleX + " view width: " + viewWidth + " view height: " + viewHeight + " horizontalOffset: " + hOffset + " verticalOffset:" + vOffset + " DesignerScrollViewer.ActualWidth:" + DesignerScrollViewer.ActualWidth); } else if (e.Delta < 0) { ScaleTransform scaletransform = ExternCanvasBorder.RenderTransform as ScaleTransform; scaletransform.ScaleX = PageScaleEnumerator.GetValue(scaletransform.ScaleX, false); //Math.Max(0.3, scaletransform.ScaleX - 0.01); //scaletransform.ScaleY = PageScaleEnumerator.GetValue(scaletransform.ScaleY, false); //Math.Max(0.3, scaletransform.ScaleY - 0.01); double hOffset = (selectWdgBounding.Left + selectWdgBounding.Width / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualWidth / 2; double vOffset = (selectWdgBounding.Top + selectWdgBounding.Height / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualHeight / 2; DesignerScrollViewer.ScrollToHorizontalOffset(hOffset); DesignerScrollViewer.ScrollToVerticalOffset(vOffset); NLogger.Debug("e.Delta: " + e.Delta + " Scale: " + scaletransform.ScaleX + " view width: " + viewWidth + " view height: " + viewHeight + " horizontalOffset: " + hOffset + " verticalOffset:" + vOffset + " DesignerScrollViewer.ActualWidth:" + DesignerScrollViewer.ActualWidth); } e.Handled = true; } }
private void PagePropertyChangedHandler(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case "IsSelected": { Type t = sender.GetType(); PropertyInfo propertyInfo = t.GetProperty(e.PropertyName); if (propertyInfo == null) { return; } bool isSelect = (bool)propertyInfo.GetValue(sender, null); if (isSelect == true) { IPagePropertyData page = sender as IPagePropertyData; _ListEventAggregator.GetEvent <SelectionPageChangeEvent>().Publish(page.PageGID); } else { //_ListEventAggregator.GetEvent<SelectionPageChangeEvent>().Publish(Guid.Empty); } return; } case "EditorCanvas": { IPagePropertyData page = sender as IPagePropertyData; _ListEventAggregator.GetEvent <SelectionPageChangeEvent>().Publish(page.PageGID); return; } case "IsActive": return; } if (_bCanSendPageNotify == false) { return; } return; //TODO: // throw new NotImplementedException(); }
private void UploadHtmlEventHandler(bool isNormal = true) { // Make textbox update source data. ISelectionService _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>(); IPagePropertyData page = _selectionService.GetCurrentPage(); if (page != null && page.EditorCanvas != null) { page.EditorCanvas.Focus(); } if (_uploadState == UploadState.upload_End) { _uploadState = UploadState.upload_Init; _upLoadPara = new UploadParameter(); if (!InitParameter(_upLoadPara)) { _uploadState = UploadState.upload_End; return; } if (!ShowPeUploadWindow(_upLoadPara)) { _uploadState = UploadState.upload_End; return; } _outputFolder = _upLoadPara.ProjectPath; string imgPath = _outputFolder + @"\images\"; _htmlService.ImagesStreamManager.WorkingDirectory = imgPath; _ListEventAggregator.GetEvent <SynUploadEvent>().Publish(_upLoadPara); ShowProgressWindow(); } else { ReShowProgressWindow(); } }
private void MouseDragEnd(System.Windows.Input.MouseButtonEventArgs e) { bIsMousePressMove = false; if (IsCtrlPressed == false) { if (_infoItems.Count <= 0) { return; } MoveSeleteedWidgets(); PushUndoStack(); } else { IPagePropertyData Page = designerCanvas.DataContext as IPagePropertyData; Page.DuplicateWidgets(new Point(_totalHorizonOffset, _totaVerticalOffset)); } }
private void EditCanvas_MouseWheel(object sender, MouseWheelEventArgs e) { DesignerBaseCanvas it = sender as DesignerBaseCanvas; if (it == null) { return; } if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { IPagePropertyData page = this.DataContext as IPagePropertyData; Rect selectWdgBounding = page.BoundingRect; if (e.Delta > 0) { //ExternCanvas. ScaleTransform scaletransform = ExternCanvasBorder.RenderTransform as ScaleTransform; //scaletransform.ScaleX = Math.Min(1.7, scaletransform.ScaleX + 0.01); //scaletransform.ScaleY = Math.Min(1.7, scaletransform.ScaleY + 0.01); scaletransform.ScaleX = PageScaleEnumerator.GetValue(scaletransform.ScaleX, true); DesignerScrollViewer.ScrollToHorizontalOffset((selectWdgBounding.Left + selectWdgBounding.Width / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualWidth / 2); DesignerScrollViewer.ScrollToVerticalOffset((selectWdgBounding.Top + selectWdgBounding.Height / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualHeight / 2); } else if (e.Delta < 0) { ScaleTransform scaletransform = ExternCanvasBorder.RenderTransform as ScaleTransform; //scaletransform.ScaleX = Math.Max(0.3, scaletransform.ScaleX - 0.01); //scaletransform.ScaleY = Math.Max(0.3, scaletransform.ScaleY - 0.01); scaletransform.ScaleX = PageScaleEnumerator.GetValue(scaletransform.ScaleX, false); DesignerScrollViewer.ScrollToHorizontalOffset((selectWdgBounding.Left + selectWdgBounding.Width / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualWidth / 2); DesignerScrollViewer.ScrollToVerticalOffset((selectWdgBounding.Top + selectWdgBounding.Height / 2) * scaletransform.ScaleX - DesignerScrollViewer.ActualHeight / 2); } e.Handled = true; } }
public async void GenerateHTMLEventHandler(object data) { PreviewParameter para = data as PreviewParameter; string filePath = para.SavePath; // Make textbox update source data. ISelectionService _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>(); IPagePropertyData page = _selectionService.GetCurrentPage(); if (para.IsPreviewCurrentPage == true && page == null) { return; } if (page != null && page.EditorCanvas != null) { page.EditorCanvas.Focus(); } if ((_currentPageGID != Guid.Empty)) { return; } IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>(); if (string.IsNullOrEmpty(filePath)) { return; } if (doc == null || doc.Document == null) { return; } //Get Image save path; //doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.OutputFolder = @"D:\pic"; _outputFolder = filePath; string imgPath = filePath + @"\images\"; try { if (Directory.Exists(imgPath) == false) { Directory.CreateDirectory(imgPath); } _htmlService.ImagesStreamManager.WorkingDirectory = imgPath; } catch (Exception ex) { MessageBox.Show(GlobalData.FindResource("Error_Generate_Html") + ex.Message); return; } if (para.IsPreviewCurrentPage) { Guid currentPageGuid = page.PageGID; if (page.ActivePage is IEmbeddedPage) { IEmbeddedPage embeddedPage = page.ActivePage as IEmbeddedPage; currentPageGuid = embeddedPage.ParentWidget.ParentPage.Guid; } doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.CurrentPage = currentPageGuid; } else { doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.CurrentPage = Guid.Empty; } Debug.WriteLine("----->HtmlGen----->Start All Convert"); //Async operation to Generate Html and open it await AsyncGenerateHtml(para.IsBrowerOpen); // Reset image working directory. _htmlService.ImagesStreamManager.WorkingDirectory = string.Empty; }
private PageEditorViewModel OpenSwipePage(IWidget widget, Guid childPageGID, Guid SelWdgGID, bool bIsSelect, bool bIsGroup) { PageEditorViewModel newPage = null; ISelectionService _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>(); IPagePropertyData activePage = _selectionService.GetCurrentPage(); Guid parentGID = widget.ParentPage.Guid; if (widget.WidgetType != WidgetType.DynamicPanel) { return(null); } //Active an exist page editor,20140220 DynamicPageEditorViewModel CurrentDynmicPanel = null; foreach (var pageItem in EditPages.OfType <DynamicPageEditorViewModel>()) { if (pageItem.ContentId == widget.Guid.ToString()) { CurrentDynmicPanel = pageItem; if (pageItem.ActivePage.Guid == childPageGID) { pageItem.IsActive = true; return(pageItem); } break; } } //Only Update the target panel if (CurrentDynmicPanel != null) { //TODO:??????? CurrentDynmicPanel.IsActive = true; foreach (DynamicChildNodViewModel item in CurrentDynmicPanel.DynamicChildren) { if (item.GID == childPageGID) { CurrentDynmicPanel.WdgMgrSetTargeComponent(SelWdgGID, bIsSelect, bIsGroup); item.IsChecked = true; break; } } return(null); } DeselectAllPages(); //Create a new page with target panel newPage = new DynamicPageEditorViewModel(widget, childPageGID); newPage.WdgMgrSetTargeComponent(SelWdgGID, bIsSelect, bIsGroup); //if child page is not set(value is 100%) //Set scale the same as parent page(only create child page, not active child page) if (newPage.EditorScale == 1) { newPage.EditorScale = activePage.EditorScale; } newPage.Open(); EditPages.Add(newPage); newPage.IsActive = true; newPage.Update(); return(null); }
private void MoveThumb_DragDelta(object sender, DragDeltaEventArgs e) { //Initialize to avoid exception if (this.designerItem == null || this.designerCanvas == null) { return; } //Initialize the selected widgets' context when first move if (bIsMousePressMove == false) { designerItem.IsAfterDraged = true; if (designerItem.IsSelected == false) { designerItem.SelectCurrentWidget(); } if (Keyboard.IsKeyDown(Key.LeftCtrl) == true || Keyboard.IsKeyDown(Key.RightCtrl) == true) { IsCtrlPressed = true; } else { IsCtrlPressed = false; } if (IsCtrlPressed == true && Mouse.LeftButton == MouseButtonState.Pressed) { //Cursor = CopyCur; //designerItem.IsStyleBrushModel = null; if (designerItem == null) { return; } WidgetViewModBase wVM = designerItem.DataContext as WidgetViewModBase; wVM.IsBrushModel = null; } AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(designerCanvas); if (adornerLayer != null) { adorner = new PreveiwMoveAdorner(designerCanvas); if (adorner != null) { adornerLayer.Add(adorner); } } IPagePropertyData Page = designerCanvas.DataContext as IPagePropertyData; foreach (WidgetViewModBase item in Page.GetSelectedwidgets()) { if (item.IsLocked == true) { continue; } if (item.IsGroup == true) { GroupViewModel group = item as GroupViewModel; if (group == null) { continue; } // Create a property memento when drag start foreach (WidgetViewModBase child in group.WidgetChildren) { child.CreateNewPropertyMementos(); child.PropertyMementos.AddPropertyMemento(new PropertyMemento("Left", child.Raw_Left, child.Raw_Left)); child.PropertyMementos.AddPropertyMemento(new PropertyMemento("Top", child.Raw_Top, child.Raw_Top)); _infoItems.Add(child); } _groups.Add(group); } else { item.CreateNewPropertyMementos(); item.PropertyMementos.AddPropertyMemento(new PropertyMemento("Left", item.Raw_Left, item.Raw_Left)); item.PropertyMementos.AddPropertyMemento(new PropertyMemento("Top", item.Raw_Top, item.Raw_Top)); if (item.WidgetType == WidgetType.Toast && item.Top == 0) { item.PropertyMementos.AddPropertyMemento(new PropertyMemento("DisplayPosition", ToastDisplayPosition.Top, ToastDisplayPosition.Top)); } _infoItems.Add(item); } } bIsMousePressMove = true; } SendFirePositionEvent(false); //Move adorner to show drag process MoveAdorner(sender, e); //Move Widgets, the older solution, discarded //if (_infoItems.Count > 0 || _groups.Count > 0) //{ // MoveSelectedWidgets(sender,e); //} //set routed event is handled e.Handled = true; }
private void FlashPageData(IPagePropertyData pageVM) { try { if (pageVM != null) { IWidget parentWidget = null; if (pageVM.PageType == PageType.NormalPage) { IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>(); if (doc == null || doc.Document == null || doc.Document.Pages == null) { return; } _Page = doc.Document.Pages.GetPage(pageVM.PageGID); if (_Page == null || _Page.IsOpened == false) { return; } RootName = _Page.Name; RootType = ListItemType.PageItem; } else if (pageVM.PageType == PageType.MasterPage) { if (pageVM.ActivePage == null || pageVM.ActivePage.IsOpened == false) { return; } _Page = pageVM.ActivePage; RootName = _Page.Name; RootType = ListItemType.MasterItem; } else { if (pageVM.ActivePage == null || pageVM.ActivePage.IsOpened == false) { return; } _Page = pageVM.ActivePage; if (_Page is IEmbeddedPage) { if (pageVM.PageType == PageType.ToastPage) { RootType = ListItemType.ToastItem; } else if (pageVM.PageType == PageType.HamburgerPage) { RootType = ListItemType.MenuItem; } else if (pageVM.PageType == PageType.DynamicPanelPage) { RootType = ListItemType.DynamicPanelItem; } parentWidget = ((IEmbeddedPage)_Page).ParentWidget; RootName = parentWidget.Name + " (" + GetWidgetTypeString(RootType) + ")"; } } CmdTarget = pageVM.EditorCanvas; if (parentWidget != null) { _rootItem.WidgetID = parentWidget.Guid; } else { _rootItem.WidgetID = _Page.Guid; } _rootItem.OrderedChildren.Clear(); if (pageVM.PageType == PageType.DynamicPanelPage) { WidgetListItem.BelongWidget = parentWidget; InitDynamicPanel(parentWidget as IDynamicPanel, _rootItem, pageVM.CurAdaptiveViewGID); } else { WidgetListItem.BelongWidget = parentWidget; CovertPageData(_Page, pageVM.CurAdaptiveViewGID, _rootItem); } UpdateUIData(); } } catch (System.Exception ex) { NLogger.Error("FlashPageData" + ex.Message); } }