Exemple #1
0
        public NodeViewModel Add(string name, IMasterPage masterPage = null)
        {
            _document.IsDirty = true;
            NodeViewModel newNode;

            if (this.IsRootNode)
            {
                ITreeNode treeNode = _treeNodeObject.AddChild(TreeNodeType.MasterPage);
                if (masterPage == null)
                {
                    treeNode.AttachedObject = CreatePage(name);
                }
                else
                {
                    treeNode.AttachedObject = masterPage;
                }
                newNode = new NodeViewModel(_undoManager, treeNode, this);
                Children.Add(newNode);
            }
            else
            {
                newNode = AddNodeAfter(name, masterPage);
            }
            return(newNode);
        }
Exemple #2
0
        public IMasterPage DuplicateMasterPage(Guid pageGuid)
        {
            CheckOpen();

            if (!MasterPages.Contains(pageGuid))
            {
                throw new ArgumentException("pageGuid");
            }

            Serializer writer     = new Serializer(_workingDirectoryGuid, Guid.Empty, _workingImagesDirectory);
            MasterPage sourcePage = MasterPages[pageGuid] as MasterPage;

            writer.AddMasterPage(sourcePage);

            IMasterPage newPage = null;

            using (Stream stream = writer.WriteToStream())
            {
                IObjectContainer container = AddMasterPages(stream);
                if (container.MasterPageList.Count > 0)
                {
                    newPage = container.MasterPageList[0];
                }
            }

            newPage.IsLockedToMasterLocation = sourcePage.IsLockedToMasterLocation;

            return(newPage);
        }
Exemple #3
0
        public void DuplicateChild(NodeViewModel parent)
        {
            ITreeNode treeNode = parent._treeNodeObject.AddChild(NodeType);

            if (this.NodeType == TreeNodeType.MasterPage)
            {
                IDocumentPage sourcePage = this.TreeNodeObject.AttachedObject;
                IMasterPage   newPage    = _document.DuplicateMasterPage(sourcePage.Guid);
                treeNode.AttachedObject = newPage;
                _document.AddMasterPage(newPage);
            }
            else
            {
                treeNode.Name = this.Name;
            }

            var           idx     = IndexInParent;
            NodeViewModel newNode = new NodeViewModel(_undoManager, treeNode, parent);

            parent.Children.Insert(idx, newNode);
            newNode.IsExpanded = true;
            foreach (var item in Children)
            {
                item.DuplicateChild(newNode);
            }
        }
Exemple #4
0
 public AddMasterViewModel(IMasterPage page)
 {
     _masterPage = page;
     _model      = PageListModel.GetInstance();
     _model.LoadPageTree();
     _selectedPageList = new List <IPage>();
 }
Exemple #5
0
        public IMasterPage CreateMasterPage(ISerializeWriter writer, string pageName, Stream thumbnail)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }

            CheckOpen();

            IMasterPage newMasterPage = CreateMasterPage(pageName);

            newMasterPage.Open();

            PageView         baseView  = newMasterPage.PageViews[AdaptiveViewSet.Base.Guid] as PageView;
            IObjectContainer container = baseView.AddObjects(writer.WriteToStream());

            // Adjust widgets position from coordinate (0,0);
            baseView.PageViewStyle.X = 0;
            baseView.PageViewStyle.Y = 0;

            if (thumbnail != null)
            {
                newMasterPage.Thumbnail = thumbnail;
            }

            newMasterPage.Close();

            return(newMasterPage);
        }
        private void SelectionPageChangeHandler(Guid pageGuid)
        {
            if (pageGuid == Guid.Empty)
            {
                bSet2Document = false;
                Raw_NoteTexts = string.Empty;
                return;
            }

            if (_document != null)
            {
                IPage page = _document.Pages.GetPage(pageGuid);
                if (page != null)
                {
                    _pageAnnotation = page.Annotation;

                    if (selectVlaue != null)
                    {
                        bSet2Document = false;
                        Raw_NoteTexts = _pageAnnotation.GetextValue(selectVlaue);
                    }
                    bSet2Document = true;

                    PageNoteEanbled = true;
                }

                IMasterPage masterPage = _document.MasterPages.GetPage(pageGuid);
                if (masterPage != null)
                {
                    PageNoteEanbled = false;
                }
            }
        }
Exemple #7
0
        public static string GetHash(IMasterPage page, bool bIsSetTarget = false)
        {
            if (page.IsOpened == false)
            {
                page.Open();
            }
            else
            {
                //MD5 code had been created.
                //if(string.IsNullOrEmpty(page.MD5)==false)
                //{
                //    return page.MD5;
                //}
            }

            //Create new MD% code now
            SerialPage target = new SerialPage(page);
            string     md5    = CreaetMD5Hash(target, bIsSetTarget);

            if (bIsSetTarget == true)
            {
                page.MD5 = md5;
            }
            return(md5);
        }
Exemple #8
0
        private void AddConvertedMasterHandler(object parameter)
        {
            IMasterPage page = parameter as IMasterPage;

            if (page != null)
            {
                AddMaster(page.Name, page, false);
            }
        }
Exemple #9
0
        public IObjectContainer AddMasterPageObject(Guid masterPageGuid, Guid viewGuid, double x = 0, double y = 0)
        {
            IObjectContainer container = ParentPage.AddMasterPageObject(masterPageGuid, viewGuid);

            IMasterPage masterPage = ParentDocument.MasterPages[masterPageGuid];

            masterPage.Open();

            PageView masterPageView = masterPage.PageViews[viewGuid] as PageView;

            if (masterPageView == null)
            {
                masterPageView = masterPage.PageViews[ParentDocument.AdaptiveViewSet.Base.Guid] as PageView;
            }

            double xDelta = masterPageView.PageViewStyle.X - x;
            double yDelta = masterPageView.PageViewStyle.Y - y;

            foreach (Widget widget in container.WidgetList)
            {
                // Set the created view as the current view because this is the first time when the widget
                // is added in the current document.
                widget.CreatedViewGuid = _viewGuid;

                // Set this flag to false. PlaceWidgetInternal method will set this flag base on checking
                // if this is base view.
                widget.HasBeenPlacedInBaseView = false;

                // Get widget style in this view.
                IWidgetStyle widgetViewStyle = widget.GetWidgetStyle(_viewGuid);

                // Widgets in master page should have same relative location, so make them have the same delta.
                widgetViewStyle.X -= xDelta;
                widgetViewStyle.Y -= yDelta;

                if (widget is IHamburgerMenu)
                {
                    IHamburgerMenu       menu   = widget as IHamburgerMenu;
                    IHamburgerMenuButton button = menu.MenuButton;

                    IWidgetStyle buttonViewStyle = button.GetWidgetStyle(_viewGuid);
                    buttonViewStyle.X -= xDelta;
                    buttonViewStyle.Y -= yDelta;
                }

                PlaceWidgetInternal(widget, true);
            }

            // Master Page doesn't contain masters, so we don't handle container.MasterList.

            return(container);
        }
Exemple #10
0
        private void AddMaster(string name, IMasterPage page = null, bool isEditable = true)
        {
            NodeViewModel Node = GetOperationNode().Add(name, page);

            if (Node != null)
            {
                Node.IsSelected     = true;
                Node.IsNodeEditable = isEditable;

                //CreatePageCommand cmd = new CreatePageCommand(this, Node, Node.Parent, Node.IndexInParent, _pageTree);
                //_undoManager.Push(cmd);
            }
        }
        public void AddPage(IMasterPage p)
        {
            _pages.Add(p);

            if (_pages.Count == 1)
            {
                showPage((TheMasterPage)p);
                CurrentPageIndex = 0;
            }

            onCurrentIndexChanged();
            setNextEnabled();
            setBackEnabled();
        }
Exemple #12
0
        public void AddMasterPage(IMasterPage page)
        {
            CheckOpen();

            MasterPage pageToAdd = page as MasterPage;

            if (pageToAdd != null && !_documentData.MasterPages.Contains(pageToAdd.Guid))
            {
                _documentData.MasterPages.Add(pageToAdd.Guid, pageToAdd);

                pageToAdd.ParentDocument = this;

                pageToAdd.OnAddToDocument();
            }
        }
        private void AddMasterEventCommandHandler(object obj)
        {
            IMasterPage MPage = obj as IMasterPage;

            if (MPage == null)
            {
                return;
            }
            if (MPage.ActiveConsumerPageGuidList.Contains(PageGID) == false)
            {
                return;
            }

            DeselectAll();
            UpdateAddedMaster2Canvas(MPage.Guid);
            RefreshZOrders();
        }
        public UserModule(IUser userImplementation, IMasterPage masterPageImplementation) : base("/user")
        {
            _user             = userImplementation;
            _masterPage       = masterPageImplementation;
            _masterPage.Title = "Not Set";

            Get["/"] = parameters => "Invalid Path";

            Get["/list"] = _ => ListUsers();

            Get["/{id:int}"] = parameters => GetUser(parameters);

            Get["/delete/{id:int}", runAsync : true] = async(x, ct) => await RemoveUser(x);

            Get["/add"] = parameters => DisplayAddUser(parameters);

            Post["/add", runAsync : true] = async(x, ct) => await AddUser(x);
        }
        //this function just can be called by deleting a mater page.
        private void DeletMasterEventCommandHandler(object obj)
        {
            IMasterPage MPage = obj as IMasterPage;

            if (MPage == null)
            {
                return;
            }
            //if(MPage.ActiveConsumerPageGuidList.Contains(PageGID)==false)
            //{
            //    return;
            //}

            UpdateRemovedMasterFromCanvas(MPage.Guid);
            RefreshZOrders();

            //avoiding operation conflict, so clear the undo-stack
            this.UndoManager.Clear();
        }
Exemple #16
0
        private void DeleteFromAllPagesExecute(object cmdParameter)
        {
            if ((!GetOperationNode().IsRootNode) && _bVisible)
            {
                NodeViewModel Node = NodeInfo.SelectedNode;

                IMasterPage masterPage = Node.TreeNodeObject.AttachedObject as IMasterPage;
                if (masterPage != null && masterPage.ActiveConsumerPageGuidList.Count > 0)
                {
                    IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>();

                    #region re-order the Z in page where master is deleted
                    foreach (var guid in masterPage.AllConsumerPageGuidList)
                    {
                        var page = doc.Document.Pages.GetPage(guid);
                        if (page == null)
                        {
                            continue;
                        }
                        bool isOpened = page.IsOpened;
                        if (!isOpened)
                        {
                            page.Open();
                        }
                        var masterList = page.Masters.Where(a => a.MasterPageGuid == masterPage.Guid).ToList();
                        foreach (var master in masterList)
                        {
                            page.DeleteMaster(master.Guid);
                        }

                        ReOrderZ(page);

                        if (!isOpened)
                        {
                            page.Close();
                        }
                    }
                    #endregion
                    _ListEventAggregator.GetEvent <DeleteMasterPageEvent>().Publish(masterPage);
                }
            }
        }
Exemple #17
0
        /// <summary>
        /// Add new master to the end of the list.
        /// </summary>
        public NodeViewModel AddNodeAfter(string name, IMasterPage masterPage = null)
        {
            _document.IsDirty = true;
            ITreeNode treeNode = _treeNodeObject.ParentNode.AddChild(TreeNodeType.MasterPage);

            if (masterPage == null)
            {
                treeNode.AttachedObject = CreatePage(name);
            }
            else
            {
                treeNode.AttachedObject = masterPage;
            }

            NodeViewModel newNode = new NodeViewModel(_undoManager, treeNode, Parent);

            Parent.Children.Add(newNode);

            return(newNode);
        }
Exemple #18
0
        /// <summary>
        /// Duplicate page,folder or Branch
        /// </summary>
        /// <param name="bBranch">Is duplicate branch or node only</param>
        /// <returns></returns>
        public NodeViewModel Duplicate(bool bBranch = true)
        {
            string nodename = GetCopyeName(this.Name);

            _document.IsDirty = true;
            ITreeNode treeNode = _treeNodeObject.InsertSiblingAfter(NodeType);

            if (this.NodeType == TreeNodeType.MasterPage)
            {
                IDocumentPage sourcePage = this.TreeNodeObject.AttachedObject;
                IMasterPage   newPage    = _document.DuplicateMasterPage(sourcePage.Guid);
                treeNode.AttachedObject = newPage;
                _document.AddMasterPage(newPage);

                //open this page
                _ListEventAggregator.GetEvent <OpenMasterPageEvent>().Publish(newPage.Guid);
            }
            else
            {
                treeNode.Name = nodename;
            }
            var idx = IndexInParent;

            NodeViewModel newNode = new NodeViewModel(_undoManager, treeNode, Parent);

            newNode.IsExpanded     = true;
            newNode.IsNodeEditable = true;
            newNode.IsSelected     = true;
            Parent.Children.Insert(++idx, newNode);

            //clone child node page
            if (bBranch)
            {
                foreach (var item in Children)
                {
                    item.DuplicateChild(newNode);
                }
            }
            return(newNode);
        }
        protected override void RunInternal()
        {
            Program.Service.NewDocument(DocumentType.Standard);
            IDocument document = Program.Service.Document;

            IMasterPage masterPage     = document.CreateMasterPage("Master 1");
            ITreeNode   masterPageNode = document.DocumentSettings.LayoutSetting.MasterPageTree.AddChild(TreeNodeType.MasterPage);

            masterPageNode.AttachedObject = masterPage;
            masterPage.Open();
            IPageView masterBaseView = masterPage.PageViews[document.AdaptiveViewSet.Base.Guid];

            IShape diamond = masterBaseView.CreateWidget(WidgetType.Shape) as IShape;

            diamond.ShapeType          = ShapeType.Diamond;
            diamond.WidgetStyle.Height = 200;
            diamond.WidgetStyle.Width  = 200;
            diamond.WidgetStyle.X      = 0;
            diamond.WidgetStyle.Y      = 0;
            diamond.WidgetStyle.Z      = 0;
            diamond.Name = "Z_0_In_MasterPage";
            diamond.SetRichText("Z_0_In_MasterPage");

            IShape ellipse = masterBaseView.CreateWidget(WidgetType.Shape) as IShape;

            ellipse.ShapeType          = ShapeType.Ellipse;
            ellipse.WidgetStyle.Height = 200;
            ellipse.WidgetStyle.Width  = 200;
            ellipse.WidgetStyle.X      = 50;
            ellipse.WidgetStyle.Y      = 50;
            ellipse.WidgetStyle.Z      = 1;
            ellipse.Name = "Z_1_In_MasterPage";
            ellipse.SetRichText("Z_1_In_MasterPage");

            IShape rectangle = masterBaseView.CreateWidget(WidgetType.Shape) as IShape;

            rectangle.ShapeType          = ShapeType.Rectangle;
            rectangle.WidgetStyle.Height = 200;
            rectangle.WidgetStyle.Width  = 200;
            rectangle.WidgetStyle.X      = 100;
            rectangle.WidgetStyle.Y      = 100;
            rectangle.WidgetStyle.Z      = 2;
            rectangle.Name = "Z_2_In_MasterPage";
            rectangle.SetRichText("Z_2_In_MasterPage");

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

            guidList.Add(ellipse.Guid);
            guidList.Add(rectangle.Guid);
            IGroup groupInMaster = masterBaseView.CreateGroup(guidList);

            groupInMaster.Name = "Group_In_MasterPage";

            IDocumentPage page     = document.CreatePage("Page 1");
            ITreeNode     pageNode = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode.AttachedObject = page;
            page.Open();
            IPageView baseView = page.PageViews[document.AdaptiveViewSet.Base.Guid];

            IShape round = baseView.CreateWidget(WidgetType.Shape) as IShape;

            round.ShapeType          = ShapeType.RoundedRectangle;
            round.WidgetStyle.Height = 200;
            round.WidgetStyle.Width  = 200;
            round.WidgetStyle.X      = 0;
            round.WidgetStyle.Y      = 0;
            round.WidgetStyle.Z      = 0;
            round.Name = "Z_0_In_Page";
            round.SetRichText("Z_0_In_Page");

            IMaster master1 = baseView.CreateMaster(masterPage.Guid);

            master1.MasterStyle.X = 250;
            master1.MasterStyle.Y = 250;
            master1.MasterStyle.Z = 1;

            IShape triangle = baseView.CreateWidget(WidgetType.Shape) as IShape;

            triangle.ShapeType          = ShapeType.Triangle;
            triangle.WidgetStyle.Height = 200;
            triangle.WidgetStyle.Width  = 200;
            triangle.WidgetStyle.X      = 100;
            triangle.WidgetStyle.Y      = 100;
            triangle.WidgetStyle.Z      = 2;
            triangle.Name = "Z_2_In_Page";
            triangle.SetRichText("Z_2_In_Page");
            triangle.WidgetStyle.FillColor = new StyleColor(ColorFillType.Solid, -22550);

            IMaster master2 = baseView.CreateMaster(masterPage.Guid);

            master2.MasterStyle.X = 500;
            master2.MasterStyle.Y = 500;
            master2.MasterStyle.Z = 3;

            IShape triangle1 = baseView.CreateWidget(WidgetType.Shape) as IShape;

            triangle1.ShapeType          = ShapeType.Triangle;
            triangle1.WidgetStyle.Height = 200;
            triangle1.WidgetStyle.Width  = 200;
            triangle1.WidgetStyle.X      = 100;
            triangle1.WidgetStyle.Y      = 100;
            triangle1.WidgetStyle.Z      = 4;
            triangle1.Name = "Z_4_In_Page";
            triangle1.SetRichText("Z_4_In_Page");
            triangle1.WidgetStyle.FillColor = new StyleColor(ColorFillType.Solid, -22550);

            ISerializeWriter writer = document.CreateSerializeWriter(Guid.Empty);

            writer.AddPage(page);
            Stream stream = writer.WriteToStream();

            // Create another document
            DocumentService Service = new DocumentService();

            Service.NewDocument(DocumentType.Standard);
            IDocument document2 = Service.Document;

            IObjectContainer container = document2.AddPages(stream);

            stream.Close();

            foreach (IStandardPage newPage in container.StandardPageList)
            {
                ITreeNode node22 = document2.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);
                node22.AttachedObject = newPage;
            }

            string target = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_Target.pn");

            Service.Save(target);
            Service.Close();

            // Save the document to a pn file.
            string source = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_Source.pn");

            Program.Service.Save(source);
            Program.Service.Close();
        }
        protected override void RunInternal()
        {
            Program.Service.NewDocument(DocumentType.Standard);
            IDocument document = Program.Service.Document;

            IMasterPage masterPage     = document.CreateMasterPage("Master 1");
            ITreeNode   masterPageNode = document.DocumentSettings.LayoutSetting.MasterPageTree.AddChild(TreeNodeType.MasterPage);

            masterPageNode.AttachedObject = masterPage;
            masterPage.Open();
            IPageView masterBaseView = masterPage.PageViews[document.AdaptiveViewSet.Base.Guid];

            IButton button = masterBaseView.CreateWidget(WidgetType.Button) as IButton;

            button.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());

            // Size
            button.WidgetStyle.Height = 30;
            button.WidgetStyle.Width  = 100;

            // Location
            button.WidgetStyle.X = 0;
            button.WidgetStyle.Y = 0;
            button.WidgetStyle.Z = 0;

            // Text things
            button.Name    = "Button 1";
            button.Text    = "Button";
            button.Tooltip = "Html button.";

            IImage image = masterBaseView.CreateWidget(WidgetType.Image) as IImage;

            image.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            image.WidgetStyle.Height = 267;
            image.WidgetStyle.Width  = 116;
            image.WidgetStyle.X      = 150;
            image.WidgetStyle.Y      = 100;
            image.WidgetStyle.Z      = 5;
            image.Name    = "4.png";
            image.Tooltip = "A png image has 116 x 267 in size";

            // It is a png image by default. Set image stream
            string imageFile = Path.Combine(Program.WORKING_IMAGES_DIRECTORY, "HangGame", "4.png");

            if (File.Exists(imageFile))
            {
                using (FileStream fileStream = new FileStream(imageFile, FileMode.Open, FileAccess.Read))
                {
                    MemoryStream imageStream = new MemoryStream();
                    fileStream.CopyTo(imageStream);
                    image.ImageStream = imageStream;
                }
            }

            IShape lable = masterBaseView.CreateWidget(WidgetType.Shape) as IShape;

            lable.ShapeType = ShapeType.Paragraph;
            lable.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            lable.WidgetStyle.Height = 100;
            lable.WidgetStyle.Width  = 200;
            lable.WidgetStyle.X      = 150;
            lable.WidgetStyle.Y      = 300;
            lable.WidgetStyle.Z      = 9;
            lable.Name    = "Label 1";
            lable.Tooltip = "A label.";
            lable.SetRichText("Label");
            lable.WidgetStyle.LineColor = new StyleColor(ColorFillType.Solid, -16777216);
            lable.WidgetStyle.LineWidth = 0;                                             // No border
            lable.WidgetStyle.FillColor = new StyleColor(ColorFillType.Solid, 16777215); // Transparent
            lable.WidgetStyle.HorzAlign = Alignment.Left;
            lable.WidgetStyle.VertAlign = Alignment.Top;

            IDocumentPage page     = document.CreatePage("Page 1");
            ITreeNode     pageNode = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode.AttachedObject = page;
            page.Open();
            IPageView baseView = page.PageViews[document.AdaptiveViewSet.Base.Guid];

            IMaster master = baseView.CreateMaster(masterPage.Guid);

            IDocumentPage page2     = document.DuplicatePage(page.Guid);
            ITreeNode     pageNode2 = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode2.AttachedObject = page2;

            // Save the document to a pn file.
            string fileName = Path.Combine(Program.WORKING_DIRECTORY, _caseName + ".pn");

            Program.Service.Save(fileName);

            // Close this document when you don't work on it anymore.
            Program.Service.Close();
        }
Exemple #21
0
        protected override void RunInternal()
        {
            Program.Service.NewDocument(DocumentType.Standard);
            IDocument document = Program.Service.Document;

            IMasterPage masterPage     = document.CreateMasterPage("Master 1");
            ITreeNode   masterPageNode = document.DocumentSettings.LayoutSetting.MasterPageTree.AddChild(TreeNodeType.MasterPage);

            masterPageNode.AttachedObject = masterPage;
            masterPage.Open();
            IPageView masterBaseView = masterPage.PageViews[document.AdaptiveViewSet.Base.Guid];

            IButton button = masterBaseView.CreateWidget(WidgetType.Button) as IButton;

            button.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());

            // Size
            button.WidgetStyle.Height = 30;
            button.WidgetStyle.Width  = 100;

            // Location
            button.WidgetStyle.X = 0;
            button.WidgetStyle.Y = 0;
            button.WidgetStyle.Z = 0;

            // Text things
            button.Name    = "Button 1";
            button.Text    = "Button";
            button.Tooltip = "Html button.";

            IImage image = masterBaseView.CreateWidget(WidgetType.Image) as IImage;

            image.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            image.WidgetStyle.Height = 267;
            image.WidgetStyle.Width  = 116;
            image.WidgetStyle.X      = 150;
            image.WidgetStyle.Y      = 100;
            image.WidgetStyle.Z      = 5;
            image.Name    = "4.png";
            image.Tooltip = "A png image has 116 x 267 in size";

            // It is a png image by default. Set image stream
            string imageFile = Path.Combine(Program.WORKING_IMAGES_DIRECTORY, "HangGame", "4.png");

            if (File.Exists(imageFile))
            {
                using (FileStream fileStream = new FileStream(imageFile, FileMode.Open, FileAccess.Read))
                {
                    MemoryStream imageStream = new MemoryStream();
                    fileStream.CopyTo(imageStream);
                    image.ImageStream = imageStream;
                }
            }

            IShape lable = masterBaseView.CreateWidget(WidgetType.Shape) as IShape;

            lable.ShapeType = ShapeType.Paragraph;
            lable.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            lable.WidgetStyle.Height = 100;
            lable.WidgetStyle.Width  = 200;
            lable.WidgetStyle.X      = 350;
            lable.WidgetStyle.Y      = 300;
            lable.WidgetStyle.Z      = 9;
            lable.Name    = "Label 1";
            lable.Tooltip = "A label.";
            lable.SetRichText("Label");
            lable.WidgetStyle.FillColor = new StyleColor(ColorFillType.Solid, -999);

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

            guidList.Add(image.Guid);
            guidList.Add(lable.Guid);
            masterBaseView.CreateGroup(guidList);

            IDocumentPage page     = document.CreatePage("Page 1");
            ITreeNode     pageNode = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode.AttachedObject = page;
            page.Open();
            IPageView baseView = page.PageViews[document.AdaptiveViewSet.Base.Guid];

            IMaster master = baseView.CreateMaster(masterPage.Guid);

            master.MasterStyle.X = 150;
            master.MasterStyle.Y = 50;

            // Copy master in the same page.
            ISerializeWriter writer = document.CreateSerializeWriter(document.AdaptiveViewSet.Base.Guid);

            writer.AddMaster(master);
            Stream stream = writer.WriteToStream();

            // Create another document
            DocumentService Service = new DocumentService();

            Service.NewDocument(DocumentType.Standard);
            IDocument document2 = Service.Document;

            IDocumentPage page2     = document2.CreatePage("Page 1");
            ITreeNode     pageNode2 = document2.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode2.AttachedObject = page2;
            page2.Open();
            IPageView baseView2 = page2.PageViews[document2.AdaptiveViewSet.Base.Guid];

            baseView2.AddObjects(stream);

            string target = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_Target.pn");

            Service.Save(target);
            Service.Close();

            string source = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_Source.pn");

            Program.Service.Save(source);
            Program.Service.Close();
        }
Exemple #22
0
 public MasterPagePresenter(IMasterPage iMasterPage, Account loginUser)
     : base(loginUser)
 {
     _IMasterPage = iMasterPage;
 }
 public AddMasterWindow(IMasterPage masterPage)
 {
     InitializeComponent();
     this.DataContext = new AddMasterViewModel(masterPage);
 }
Exemple #24
0
        private void DeleteMasterExecute(object cmdParameter)
        {
            if ((!GetOperationNode().IsRootNode) && _bVisible)
            {
                NodeViewModel Node = NodeInfo.SelectedNode;

                bool        containedInPages = false;
                IMasterPage masterPage       = Node.TreeNodeObject.AttachedObject as IMasterPage;
                if (masterPage != null && masterPage.AllConsumerPageGuidList.Count > 0)
                {
                    MessageBoxResult ret = MessageBox.Show(GlobalData.FindResource("MasterDelete_AlertContent"),
                                                           GlobalData.FindResource("MasterDelete_AlertTitle"), MessageBoxButton.OKCancel);
                    if (ret.Equals(MessageBoxResult.Cancel))
                    {
                        return;
                    }
                    containedInPages = true;
                }

                NodeViewModel parent = Node.Parent;
                //int index = Node.IndexInParent;

                Node.Remove();

                if (containedInPages)
                {
                    IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>();

                    #region re-order the Z in page where master is deleted
                    foreach (var guid in masterPage.AllConsumerPageGuidList)
                    {
                        var page = doc.Document.Pages.GetPage(guid);
                        if (page == null)
                        {
                            continue;
                        }

                        bool isOpened = page.IsOpened;
                        if (!isOpened)
                        {
                            page.Open();
                        }

                        ReOrderZ(page);

                        if (!isOpened)
                        {
                            page.Close();
                        }
                    }
                    #endregion
                    _ListEventAggregator.GetEvent <DeleteMasterPageEvent>().Publish(masterPage);
                }

                //if (index >= 0)
                //{
                //    DeletePageCommand cmd = new DeletePageCommand(this, Node, parent, index, _pageTree);
                //    _undoManager.Push(cmd);
                //}
            }
            if (_pageTree != null)
            {
                _pageTree.Focus();
            }
        }
        protected override void RunInternal()
        {
            Program.Service.NewDocument(DocumentType.Standard);
            IDocument document = Program.Service.Document;

            IMasterPage masterPage     = document.CreateMasterPage("Master 1");
            ITreeNode   masterPageNode = document.DocumentSettings.LayoutSetting.MasterPageTree.AddChild(TreeNodeType.MasterPage);

            masterPageNode.AttachedObject = masterPage;
            masterPage.Open();
            IPageView masterBaseView = masterPage.PageViews[document.AdaptiveViewSet.Base.Guid];

            IButton button = masterBaseView.CreateWidget(WidgetType.Button) as IButton;

            button.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());

            // Size
            button.WidgetStyle.Height = 30;
            button.WidgetStyle.Width  = 100;

            // Location
            button.WidgetStyle.X = 0;
            button.WidgetStyle.Y = 0;
            button.WidgetStyle.Z = 0;

            // Text things
            button.Name    = "Button 1";
            button.Text    = "Button";
            button.Tooltip = "Html button.";

            IImage image = masterBaseView.CreateWidget(WidgetType.Image) as IImage;

            image.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            image.WidgetStyle.Height = 267;
            image.WidgetStyle.Width  = 116;
            image.WidgetStyle.X      = 150;
            image.WidgetStyle.Y      = 100;
            image.WidgetStyle.Z      = 5;
            image.Name    = "4.png";
            image.Tooltip = "A png image has 116 x 267 in size";

            // It is a png image by default. Set image stream
            string imageFile = Path.Combine(Program.WORKING_IMAGES_DIRECTORY, "HangGame", "4.png");

            if (File.Exists(imageFile))
            {
                using (FileStream fileStream = new FileStream(imageFile, FileMode.Open, FileAccess.Read))
                {
                    MemoryStream imageStream = new MemoryStream();
                    fileStream.CopyTo(imageStream);
                    image.ImageStream = imageStream;
                }
            }

            IShape lable = masterBaseView.CreateWidget(WidgetType.Shape) as IShape;

            lable.ShapeType = ShapeType.Paragraph;
            lable.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            lable.WidgetStyle.Height = 100;
            lable.WidgetStyle.Width  = 200;
            lable.WidgetStyle.X      = 150;
            lable.WidgetStyle.Y      = 300;
            lable.WidgetStyle.Z      = 9;
            lable.Name    = "Label 1";
            lable.Tooltip = "A label.";
            lable.SetRichText("Label");
            lable.WidgetStyle.LineColor = new StyleColor(ColorFillType.Solid, -16777216);
            lable.WidgetStyle.LineWidth = 0;                                             // No border
            lable.WidgetStyle.FillColor = new StyleColor(ColorFillType.Solid, 16777215); // Transparent
            lable.WidgetStyle.HorzAlign = Alignment.Left;
            lable.WidgetStyle.VertAlign = Alignment.Top;

            IDocumentPage page     = document.CreatePage("Page 1");
            ITreeNode     pageNode = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode.AttachedObject = page;
            page.Open();
            IPageView baseView = page.PageViews[document.AdaptiveViewSet.Base.Guid];
            IMaster   master   = baseView.CreateMaster(masterPage.Guid);

            IDocumentPage page2     = document.CreatePage("Page 2");
            ITreeNode     pageNode2 = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            pageNode2.AttachedObject = page2;
            page2.Open();
            IPageView baseView2 = page2.PageViews[document.AdaptiveViewSet.Base.Guid];
            IMaster   master2   = baseView2.CreateMaster(masterPage.Guid);

            IHamburgerMenu hamburgerMenu = baseView2.CreateWidget(WidgetType.HamburgerMenu) as IHamburgerMenu;

            hamburgerMenu.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            hamburgerMenu.WidgetStyle.Height = 280;
            hamburgerMenu.WidgetStyle.Width  = 150;
            hamburgerMenu.WidgetStyle.X      = 0;
            hamburgerMenu.WidgetStyle.Y      = 700;
            hamburgerMenu.WidgetStyle.Z      = 14;
            hamburgerMenu.Name    = "HamburgerMenu 1";
            hamburgerMenu.Tooltip = "A hamburger menu.";

            // Menu botton
            hamburgerMenu.MenuButton.WidgetStyle.Height = 50;
            hamburgerMenu.MenuButton.WidgetStyle.Width  = 50;
            hamburgerMenu.MenuButton.WidgetStyle.X      = 0;
            hamburgerMenu.MenuButton.WidgetStyle.Y      = 700;
            hamburgerMenu.MenuButton.WidgetStyle.Z      = 0;

            // Menu page,  add a shape
            IPage menuPage = hamburgerMenu.MenuPage;

            menuPage.Open(); // Open page to edit.

            // Get the base view of menu page.
            IPageView menuBaseView = menuPage.PageViews[document.AdaptiveViewSet.Base.Guid];

            // Create widgts on the base view in the menu page.
            IShape diamond = menuBaseView.CreateWidget(WidgetType.Shape) as IShape;

            diamond.ShapeType = ShapeType.Diamond;
            diamond.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            diamond.WidgetStyle.Height = 100;
            diamond.WidgetStyle.Width  = 100;
            diamond.Name    = "Diamond 1";
            diamond.Tooltip = "A Diamond.";
            diamond.SetRichText("Diamond");
            menuPage.Close(); // Close Page to release resources.

            page2.Close();

            // Save the document to a pn file.
            string before = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_Before.pn");

            Program.Service.Save(before);

            // Delete master page.
            document.DeleteMasterPage(masterPage.Guid);
            document.DocumentSettings.LayoutSetting.MasterPageTree.RemoveChild(masterPageNode);

            string after = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_After_DeleteFromOpenedPage.pn");

            Program.Service.Save(after);

            page2.Open();
            string after2 = Path.Combine(Program.WORKING_DIRECTORY, _caseName + "_After_DeleteFromClosedPage.pn");

            Program.Service.Save(after2);


            // Close this document when you don't work on it anymore.
            Program.Service.Close();
        }