示例#1
0
 private void InitializeMastersMD5()
 {
     foreach (IMaster it in _page.Masters.OrderBy(x => x.MasterStyle.Z))
     {
         MastersMD5 += MD5HashManager.GetHash(it, true);
     }
 }
示例#2
0
 private void InitializeWidgetsMD5()
 {
     foreach (IWidget it in _page.Widgets.OrderBy(x => x.WidgetStyle.Z))
     {
         WidgetsMD5 += MD5HashManager.GetHash(it, true);
     }
 }
示例#3
0
        private void InitializeProperty()
        {
            ShapeType  = _element.WidgetType;
            Tooltip    = _element.Tooltip;
            IsDisabled = _element.IsDisabled;
            Name       = _element.Name;

            HiddenOn      = _element.HiddenOn;
            MenuButtonMD5 = MD5HashManager.GetHash(_element.MenuButton, true);;
            ChildPageMD5  = MD5HashManager.GetHash(_element.MenuPage, true);
        }
示例#4
0
 private void InitializeProperty()
 {
     ShapeType       = _element.WidgetType;
     Tooltip         = _element.Tooltip;
     IsDisabled      = _element.IsDisabled;
     Name            = _element.Name;
     ExposureTime    = _element.ExposureTime;
     CloseSetting    = _element.CloseSetting;
     DisplayPosition = _element.DisplayPosition;
     ChildPageMD5    = MD5HashManager.GetHash(_element.ToastPage, true);
 }
示例#5
0
        private void InitializeStyleMD5()
        {
            IWidgetStyle style;
            IPageView    pageView;

            //Set base Style MD5
            pageView = _wdg.ParentPage.PageViews[_wdg.ParentPage.ParentDocument.AdaptiveViewSet.Base.Guid];
            style    = _wdg.WidgetStyle;
            if (style != null && pageView != null)
            {
                if (pageView.Widgets.Contains(style.OwnerWidget.Guid))
                {
                    StyleMD5 += MD5HashManager.GetHash(style, true, true);
                }
                else
                {
                    StyleMD5 += MD5HashManager.GetHash(style, false, true);
                }
            }


            //Set All Other Style MD5
            foreach (IAdaptiveView view in _wdg.ParentPage.ParentDocument.AdaptiveViewSet.AdaptiveViews)
            {
                style    = _wdg.GetWidgetStyle(view.Guid);
                pageView = _wdg.ParentPage.PageViews[view.Guid];
                if (style != null && pageView != null)
                {
                    if (pageView.Widgets.Contains(style.OwnerWidget.Guid))
                    {
                        AllStylesMD5 += MD5HashManager.GetHash(style, true, true);
                    }
                    else
                    {
                        AllStylesMD5 += MD5HashManager.GetHash(style, false, true);
                    }
                }
            }
        }
示例#6
0
        private void InitializeProperty()
        {
            ShapeType  = _element.WidgetType;
            Tooltip    = _element.Tooltip;
            IsDisabled = _element.IsDisabled;
            Name       = _element.Name;

            IsAutomatic           = _element.IsAutomatic;
            IsCircular            = _element.IsCircular;
            AutomaticIntervalTime = _element.AutomaticIntervalTime;
            DurationTime          = _element.DurationTime;
            NavigationType        = _element.NavigationType;
            ViewMode   = _element.ViewMode;
            PanelWidth = _element.PanelWidth;
            LineWith   = _element.LineWith;

            PanelCount = _element.PanelStatePages.Count;
            for (int i = 0; i < PanelCount; i++)
            {
                PanelsMD5 += MD5HashManager.GetHash(_element.PanelStatePages[i], true);
            }
        }
示例#7
0
 private void InitializeProperty()
 {
     Name         = _wdg.Name;
     MastePageMD5 = MD5HashManager.GetHash(_wdg.MasterPage, true);
 }
示例#8
0
        public void Render(IDocument doc, string outputFolder, bool ByMD5 = false)
        {
            if (doc == null)
            {
                throw new ArgumentException("Document is null!");
            }
            _doc    = doc;
            _bByMD5 = ByMD5;

            if (!String.IsNullOrEmpty(outputFolder))
            {
                InitializeOutputFolder(outputFolder);
            }
            else
            {
                InitializeOutputFolder(_doc.GeneratorConfigurationSet.DefaultHtmlConfiguration.OutputFolder);
            }

            if (ByMD5 == false)
            {
                #region create html without md5
                // Set the image output directory based on output folder if it is invalid path.
                if (!Directory.Exists(_imagesStreamManager.WorkingDirectory))
                {
                    _imagesStreamManager.WorkingDirectory = Path.Combine(_outputFolder, "images");
                }

                // Set the start html file.
                _startHtmlFile = _outputFolder + START_PAGE_NAME;
                CopyTemplateFilesToOutputFolder();

                // Generate document_data.js
                JsDocument jsDoc = new JsDocument(this);
                jsDoc.SaveToJsFile();

                Guid currentPageGuid = _doc.GeneratorConfigurationSet.DefaultHtmlConfiguration.CurrentPage;
                if (currentPageGuid != Guid.Empty)
                {
                    // Only generate current page.
                    IPage currentPage = _doc.Pages[currentPageGuid];
                    if (currentPage != null)
                    {
                        bool isClosedPage = false;
                        if (!currentPage.IsOpened)
                        {
                            isClosedPage = true;
                            currentPage.Open();
                        }

                        JsPage jsPage = new JsPage(this, currentPage);
                        jsPage.SaveToJsFile();

                        if (isClosedPage)
                        {
                            currentPage.Close();
                        }
                    }
                }
                else
                {
                    // Generate all pages.
                    foreach (IPage page in _doc.Pages)
                    {
                        bool isClosedPage = false;
                        if (!page.IsOpened)
                        {
                            isClosedPage = true;
                            page.Open();
                        }

                        JsPage jsPage = new JsPage(this, page);
                        jsPage.SaveToJsFile();

                        if (isClosedPage)
                        {
                            page.Close();
                        }
                    }
                }

                // Generate all master pages.
                foreach (IPage page in _doc.MasterPages)
                {
                    bool isClosedPage = false;
                    if (!page.IsOpened)
                    {
                        isClosedPage = true;
                        page.Open();
                    }

                    JsPage jsPage = new JsPage(this, page);
                    jsPage.SaveToJsFile();

                    if (isClosedPage)
                    {
                        page.Close();
                    }
                }
                #endregion
            }
            else
            {
                // Set the start Html file.
                _startHtmlFile = _outputFolder + START_PAGE_NAME;

                // Generate all pages.
                foreach (IPage page in _doc.Pages)
                {
                    //this is just for debug test, delete it later
                    Debug.WriteLine("===========================page md5 hash===========================");
                    string szhash = MD5HashManager.GetHash(page, true);
                    Debug.WriteLine("====page md5:" + szhash + "  ===========================");


                    bool isClosedPage = false;
                    if (!page.IsOpened)
                    {
                        isClosedPage = true;
                        page.Open();
                    }

                    JsPage jsPage = new JsPage(this, page, _bByMD5);
                    jsPage.SaveToJsFile();

                    if (isClosedPage)
                    {
                        page.Close();
                    }
                }

                // Generate all master pages.
                foreach (IPage page in _doc.MasterPages)
                {
                    bool isClosedPage = false;
                    if (!page.IsOpened)
                    {
                        isClosedPage = true;
                        page.Open();
                    }

                    //this is just for debug test, delete it later
                    Debug.WriteLine("===========================page md5 hash===========================");
                    string szhash = MD5HashManager.GetHash(page, true);
                    Debug.WriteLine("====page md5:" + szhash + "  ===========================");


                    JsPage jsPage = new JsPage(this, page, true);
                    jsPage.SaveToJsFile();

                    if (isClosedPage)
                    {
                        page.Close();
                    }
                }
            }

            if (ByMD5 == true)
            {
                _doc.ImagesStreamManager.ClearCachedStream();
            }
            // Don't hold the document any more.
            _doc = null;

            // Reset image working directory.
            // _imagesStreamManager.WorkingDirectory = String.Empty;
        }