Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        private void MoveThumb_DragStarted(object sender, DragStartedEventArgs e)
        {
            _isMousePressMove = false;
            ISelectionService selectService = ServiceLocator.Current.GetInstance <ISelectionService>();

            _page = selectService.GetCurrentPage();
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
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);
            }
        }
Esempio n. 7
0
        /// <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();
            }
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        protected override void OnMouseRightButtonUp(MouseButtonEventArgs e)
        {
            base.OnMouseRightButtonUp(e);
            IPagePropertyData page = DataContext as IPagePropertyData;

            if (page != null)
            {
                page.CommonEventNotify("FormatPaint", false);
            }
        }
Esempio n. 10
0
        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);
                            }
                        }
                    }
                    //}
                }
            }
        }
Esempio n. 11
0
 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;
     }
 }
Esempio n. 12
0
        private void UpdateListItemZorder()
        {
            IPagePropertyData pageVM = _selectionService.GetCurrentPage();

            //if (pageVM.PageType == PageType.DynamicPanelPage)
            //{
            //    UpDateDynamicZorder(_rootItem);
            //}
            //else
            //{
            ProcessPageZorderChange(_rootItem);
            //}
        }
Esempio n. 13
0
        public void WidgetsNumberChangeHandler(Guid id)
        {
            try
            {
                IPagePropertyData pageVM = _selectionService.GetCurrentPage();

                FlashPageData(pageVM);
            }
            catch (System.Exception ex)
            {
                NLogger.Error("WidgetsNumberChange" + ex.Message);
            }
        }
Esempio n. 14
0
        private void SelectionPageChangeEventHandler(Guid EventArg)
        {
            IPagePropertyData page = _selectionService.GetCurrentPage();

            if (page == null)
            {
                return;
            }
            if (CmdTarget == page.EditorCanvas)
            {
                return;
            }
            CmdTarget = _selectionService.GetCurrentPage().EditorCanvas;
        }
Esempio n. 15
0
        void DesignerCanvas_Loaded(object sender, RoutedEventArgs e)
        {
            IPagePropertyData page = DataContext as IPagePropertyData;

            page.EditorCanvas = this;
            if (!page.IsNeedReturnFocus)
            {
                Focus();
            }
            else
            {
                page.IsNeedReturnFocus = false;
            }
        }
Esempio n. 16
0
        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();
                }
            }
        }
Esempio n. 17
0
        public void WidgetGroupChangeHandler(bool bGroup)
        {
            try
            {
                IPagePropertyData pageVM = _selectionService.GetCurrentPage();

                FlashPageData(pageVM);

                WidgetSelectionChangeHandler(null);
            }
            catch (System.Exception ex)
            {
                NLogger.Error("WidgetGroupChangeHandler" + ex.Message);
            }
        }
Esempio n. 18
0
        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);
            }
        }
Esempio n. 19
0
        public void OnWidgetHidepropertyChanged()
        {
            //List<Guid> SelectList = _selectionService.GetSelectedWidgetGUIDs();

            IPagePropertyData pageVM = _selectionService.GetCurrentPage();

            if (pageVM == null)
            {
                return;
            }

            List <Guid> SelectList = GetSelectListinPage();

            ProcessHideChange(SelectList, pageVM);

            return;
        }
Esempio n. 20
0
        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();
                    }
                }
            }
        }
Esempio n. 21
0
        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();
        }
Esempio n. 22
0
        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;
            }
        }
Esempio n. 23
0
        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();
        }
Esempio n. 24
0
        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();
            }
        }
Esempio n. 25
0
        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));
            }
        }
Esempio n. 26
0
        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;
            }
        }
Esempio n. 27
0
        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;
        }
Esempio n. 28
0
        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);
        }
Esempio n. 29
0
        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;
        }
Esempio n. 30
0
        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);
            }
        }