Пример #1
0
        private void showView(IReportViewFactory factory)
        {
            if (InvokeRequired)
            {
                Invoke(new ShowViewDelegate(showView), factory);
                return;
            }

            var view = viewFactories[factory];

            if (view == null)
            {
                viewFactories[factory] = view = factory.Create();

                view.WindowState = FormWindowState.Maximized;
                view.MdiParent   = this;
                view.Text        = factory.ViewName;

                if (view is ITreeItemSelectionHandler)
                {
                    SelectionHandlers.Add((ITreeItemSelectionHandler)view);
                }

                var asyncProcess = new TinyAsyncUserProcess
                {
                    Action = tracker => view.attach(serviceContainer, tracker)
                };
                asyncProcess.Execute(this);

                view.FormClosed += delegate
                {
                    if (view is ITreeItemSelectionHandler)
                    {
                        SelectionHandlers.Remove((ITreeItemSelectionHandler)view);
                    }

                    view.detach(serviceContainer, new DummyProgressTracker());
                    viewFactories[factory] = null;
                };
            }

            view.Show();
            view.Activate();
            view.Focus();
        }
Пример #2
0
        private void MakeHtmlPreview(string transform)
        {
            if (ServiceContainer.getService <IReportService>().ReportFileName == null)
            {
                mmFileSaveAs.PerformClick();
            }

            if (ServiceContainer.getService <IReportService>().ReportFileName == null)
            {
                return;
            }

            var asyncProcess = new TinyAsyncUserProcess
            {
                Action = tracker => HtmlPreview.DoTransform(tracker, ServiceContainer.getService <IReportService>().ReportFileName, transform)
            };

            asyncProcess.Execute(this);
        }
Пример #3
0
        private void showView(IReportViewFactory factory)
        {
            if (InvokeRequired)
            {
                Invoke(new ShowViewDelegate(showView), factory);
                return;
            }

            var view = viewFactories[factory];
            if (view == null)
            {
                viewFactories[factory] = view = factory.Create();

                view.WindowState = FormWindowState.Maximized;
                view.MdiParent = this;
                view.Text = factory.ViewName;

                if (view is ITreeItemSelectionHandler)
                {
                    SelectionHandlers.Add((ITreeItemSelectionHandler)view);
                }

                var asyncProcess = new TinyAsyncUserProcess
                {
                    Action = tracker => view.attach(serviceContainer, tracker)
                };
                asyncProcess.Execute(this);

                view.FormClosed += delegate
                {
                    if (view is ITreeItemSelectionHandler)
                    {
                        SelectionHandlers.Remove((ITreeItemSelectionHandler)view);
                    }

                    view.detach(serviceContainer, new DummyProgressTracker());
                    viewFactories[factory] = null;
                };
            }

            view.Show();
            view.Activate();
            view.Focus();
        }
Пример #4
0
        private void MakeHtmlPreview(string transform)
        {
            if (ServiceContainer.getService<IReportService>().ReportFileName == null)
            {
                mmFileSaveAs.PerformClick();
            }

            if (ServiceContainer.getService<IReportService>().ReportFileName == null)
                return;

            var asyncProcess = new TinyAsyncUserProcess
            {
                Action = tracker => HtmlPreview.DoTransform(tracker, ServiceContainer.getService<IReportService>().ReportFileName, transform)
            };

            asyncProcess.Execute(this);
        }