예제 #1
0
        public IEnumerable <ReportFileWriter> GetConfiguredEditableReportWriters()
        {
            Reporter r = new Reporter();

            List <ReportFileWriter> result = new List <ReportFileWriter>();

            foreach (TabPage tabPage in this.reportFilesTabControl.TabPages)
            {
                TabPageInfo tabPageInfo = tabPage.Tag as TabPageInfo;

                if (!tabPageInfo.ReportWriterControl.Editable)
                {
                    continue;
                }

                ReportFileWriter rfw = new ReportFileWriter(
                    tabPageInfo.ReportWriterControl.GetConfiguredReportTrigger(),
                    tabPageInfo.FileName);

                rfw.AddReportElements(tabPageInfo.ReportWriterControl.GetConfiguredReportElements());

                result.Add(rfw);
            }

            return(result);
        }
 /// <summary>
 /// TabPageManagerクラスのインスタンスを作成する
 /// </summary>
 /// <param name="crl">基になるTabControlオブジェクト</param>
 public __TabPageManager(TabControl crl)
 {
     _tabControl = crl;
     _tabPageInfos = new TabPageInfo[_tabControl.TabPages.Count];
     for (int i = 0; i < _tabControl.TabPages.Count; i++)
         _tabPageInfos[i] =
             new TabPageInfo(_tabControl.TabPages[i], true);
 }
예제 #3
0
        public void SetReportFileWriters(IEnumerable <ReportFileWriter> reportFileWriters, bool editable)
        {
            this.reportFilesTabControl.TabPages.Clear();

            foreach (ReportFileWriter reportFile in reportFileWriters)
            {
                TabPageInfo tabPageInfo = AddReportFile(reportFile.FileName, editable);
                tabPageInfo.ReportWriterControl.SetReportWriter(reportFile);
            }
        }
 public TabPageManager(TabControl crl)
 {
     _tabControl   = crl;
     _tabPageInfos = new TabPageInfo[_tabControl.TabPages.Count];
     for (int i = 0; i < _tabControl.TabPages.Count; i++)
     {
         _tabPageInfos[i] =
             new TabPageInfo(_tabControl.TabPages[i], true);
     }
 }
예제 #5
0
 public void Update(TabPageInfo tabPageInfo)
 {
     foreach (var item in TaskBarViewItems)
     {
         if (item.Id == tabPageInfo.ID)
         {
             item.Title   = tabPageInfo.Title == null ? item.Title : tabPageInfo.Title;
             item.Avastar = tabPageInfo.Avastar == null ? item.Avastar : AvastarUri(tabPageInfo.Avastar);
         }
     }
 }
예제 #6
0
        private void WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
        {
            IsLoading = true;
            var info = new TabPageInfo();

            info.ID      = ID;
            info.Title   = "正在加载";
            info.Avastar = WebView.Source.ToString();
            AppManager.Current.UpdateTabPage(info);
            Update();
        }
예제 #7
0
        private void WebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
        {
            IsLoading = false;
            var info = new TabPageInfo();

            info.ID      = ID;
            info.Title   = WebView.DocumentTitle;
            info.Avastar = WebView.Source.ToString();
            AppManager.Current.UpdateTabPage(info);
            Update();
            UpdateCaptureScreenShot();
        }
예제 #8
0
        void IAssemblyObjectList.Remove(IAssemblyObject obj)
        {
            TabPageInfo info = obj as TabPageInfo;

            if (info != null)
            {
                info.IndexChanged -= tabInfo_IndexChanged;
                tabList.Remove(info);
                RuntimeCore.RemoveAssemblyObject(info);

                Debug.WriteLine("TabPage \"" + info.TabPage.Title + "\" removed.", "Gui");

                UpdateTabs();
            }
        }
예제 #9
0
        public void InsertTab(int index, Crownwood.Magic.Controls.TabPage page)
        {
            TabPageInfo tabInfo = new TabPageInfo(index, page);

            tabInfo.IndexChanged += new EventHandler(tabInfo_IndexChanged);

            RuntimeCore.AddAssemblyObject(tabInfo, this);
            tabList.Add(tabInfo);

            Debug.WriteLine("TabPage \"" + page.Title + "\" added with index " + index.ToString() + ".", "Gui");

            page.CreateControl();
            page.Control.CreateControl();

            UpdateTabs();
        }
예제 #10
0
        private TabPageInfo AddReportFile(string fileName, bool editable)
        {
            TabPage newTabPage = new TabPage(Path.GetFileName(fileName));

            this.reportFilesTabControl.TabPages.Add(newTabPage);

            Button removeReportFileButton = new Button();

            removeReportFileButton.Text     = "Remove this report file";
            removeReportFileButton.AutoSize = true;

            removeReportFileButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;

            int rightOffset  = removeReportFileButton.Margin.Right + newTabPage.Padding.Right;
            int bottomOffset = removeReportFileButton.Margin.Bottom + newTabPage.Padding.Bottom;

            removeReportFileButton.Location = new Point(
                newTabPage.Width - removeReportFileButton.Width - rightOffset,
                newTabPage.Height - removeReportFileButton.Height - bottomOffset);

            removeReportFileButton.Tag    = newTabPage;
            removeReportFileButton.Click += new EventHandler(RemoveReportFileButtonClick);

            newTabPage.Controls.Add(removeReportFileButton);

            ReportWriterConfigurationControl reportWriterControl = new ReportWriterConfigurationControl(
                ReportTrigger.GetReportTriggers().ToArray(),
                DataAccumulator.GetDataAccumulators().ToArray(),
                this.Experiment,
                editable);

            reportWriterControl.Dock = DockStyle.Top;

            newTabPage.Controls.Add(reportWriterControl);

            TabPageInfo tabPageInfo = new TabPageInfo()
            {
                FileName            = fileName,
                ReportWriterControl = reportWriterControl
            };

            newTabPage.Tag = tabPageInfo;

            newTabPage.Select();

            return(tabPageInfo);
        }
예제 #11
0
        public void Add(TabPageInfo tabPageInfo)
        {
            var _viewmodel = new TabPageFrameItemViewModel()
            {
                ID       = tabPageInfo.ID,
                Category = tabPageInfo.Category,
                Title    = tabPageInfo.Title,
                Avastar  = tabPageInfo.Avastar,
                Uri      = tabPageInfo.Url
            };
            var newframe = new Frame();

            newframe.Tag = _viewmodel.ID;
            if (_viewmodel.Category == TabPageCategory.FormPage)
            {
            }
            else if (_viewmodel.Category == TabPageCategory.WebPage)
            {
                newframe.Navigate(typeof(WebPage), tabPageInfo);
            }
            TabPageFrameGrid.Children.Add(newframe);
            webFrameItems.Add(_viewmodel);
            HideAndShow(_viewmodel.ID);
        }
 public void UpdateTabPage(TabPageInfo tabPageInfo)
 {
     TabsSetViewModel.Update(tabPageInfo);
 }
 public void AddNewTabPage(TabPageInfo info)
 {
     TabsSetViewModel.Add(info.ID, info.Url, info.Title);
     TabPageViewModel.Add(info);
 }
예제 #14
0
 public static int Compare(TabPageInfo tr1, TabPageInfo tr2)
 {
     return tr1.index.CompareTo(tr2.index);
 }
예제 #15
0
        public void InsertTab(int index, Crownwood.Magic.Controls.TabPage page)
        {
            TabPageInfo tabInfo = new TabPageInfo(index, page);
            tabInfo.IndexChanged += new EventHandler(tabInfo_IndexChanged);

            RuntimeCore.AddAssemblyObject(tabInfo, this);
            tabList.Add(tabInfo);

            Debug.WriteLine("TabPage \"" + page.Title + "\" added with index " + index.ToString() + ".", "Gui");

            page.CreateControl();
            page.Control.CreateControl();

            UpdateTabs();
        }
예제 #16
0
 public static int Compare(TabPageInfo tr1, TabPageInfo tr2)
 {
     return(tr1.index.CompareTo(tr2.index));
 }