Пример #1
0
            public void Run()
            {
                if (NumberOfImagesToExport <= 5)
                {
                    BlockingOperation.Run(delegate { Export(null); });
                    Complete();
                }
                else
                {
                    ItemsToExport.ForEach(delegate(IClipboardItem item) { item.Lock(); });

                    BackgroundTask task = new BackgroundTask(Export, true)
                    {
                        ThreadUICulture = Application.CurrentUICulture
                    };

                    ProgressDialogComponent progressComponent = new ProgressDialogComponent(task, true, ProgressBarStyle.Blocks);

                    _progressComponentShelf = LaunchAsShelf(DesktopWindow, progressComponent,
                                                            SR.TitleExportingImages, "ExportingImages",
                                                            ShelfDisplayHint.DockFloat);

                    _progressComponentShelf.Closed += delegate
                    {
                        Complete();
                        task.Dispose();
                    };
                }
            }
Пример #2
0
            public void Run()
            {
                CreateBaseDataSet();

                _tempFileDirectory = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "ClearCanvas");
                _tempFileDirectory = System.IO.Path.Combine(_tempFileDirectory, "BitmapImport");
                DeleteEmptyFolders(_tempFileDirectory);

                _tempFileDirectory = System.IO.Path.Combine(_tempFileDirectory, System.IO.Path.GetRandomFileName());
                Directory.CreateDirectory(_tempFileDirectory);

                BackgroundTask task = new BackgroundTask(Process, true);

                task.Terminated += delegate
                {
                    OnComplete();
                    task.Dispose();
                };

                lock (_waitShowProgressLock)
                {
                    task.Run();

                    Monitor.Wait(_waitShowProgressLock);
                    if (_showProgress)
                    {
                        ProgressDialogComponent progressComponent = new ProgressDialogComponent(task, true, ProgressBarStyle.Blocks);
                        LaunchAsShelf(DesktopWindow, progressComponent, SR.TitleImportingImages, ShelfDisplayHint.DockFloat);
                    }

                    Monitor.Pulse(_waitShowProgressLock);
                }
            }
        public void Compose()
        {
            if (_composer != null)
            {
                return;
            }

            try
            {
                BackgroundTask          task           = new BackgroundTask(new BackgroundTaskMethod(InitComposer), true, null);
                ProgressDialogComponent progressDialog = new ProgressDialogComponent(task, true, ProgressBarStyle.Continuous);
                ApplicationComponent.LaunchAsDialog(this.Context.DesktopWindow, progressDialog, SR.MessageStartingStudyComposer);

                if (_composer != null)
                {
                    SimpleComposerAdapterComponent component = new SimpleComposerAdapterComponent(_composer);
                    ApplicationComponent.LaunchAsDialog(this.Context.DesktopWindow, component, SR.StudyComposer);
                    _composer = null;
                }
            }
            catch (Exception ex)
            {
                ExceptionHandler.Report(ex, base.Context.DesktopWindow);
            }
        }
Пример #4
0
        private void Export()
        {
            if (DisplaySet.PresentationImages.Count <= 10)
            {
                ExportImages(null);
                Cleanup();
            }
            else
            {
                BackgroundTask task = new BackgroundTask(ExportImages, true)
                {
                    ThreadUICulture = Application.CurrentUICulture
                };

                _clipboardItem.Lock();

                ProgressDialogComponent progressComponent = new ProgressDialogComponent(task, true, ProgressBarStyle.Blocks);
                _progressComponentShelf = ApplicationComponent.LaunchAsShelf(this.Host.DesktopWindow,
                                                                             progressComponent,
                                                                             SR.TitleCreatingVideo, "CreatingVideo",
                                                                             ShelfDisplayHint.DockFloat);

                _progressComponentShelf.Closed +=
                    delegate
                {
                    _clipboardItem.Unlock();
                    Cleanup();
                    task.Dispose();
                };
            }
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public ProgressDialogComponentControl(ProgressDialogComponent component)
            : base(component)
        {
            InitializeComponent();
            _component = component;

            base.CancelButton = _cancelButton;
            base.AcceptButton = _cancelButton;

            _cancelButton.Visible = _component.ShowCancel;
            _cancelButton.Text    = _component.ButtonText;
            _message.Text         = _component.ProgressMessage;
            _progressBar.Value    = _component.ProgressBar;
            _progressBar.MarqueeAnimationSpeed = _component.MarqueeSpeed;
            _progressBar.Style   = (System.Windows.Forms.ProgressBarStyle)_component.ProgressBarStyle;
            _progressBar.Maximum = _component.ProgressBarMaximum;

            _component.ProgressUpdateEvent    += OnProgressUpdate;
            _component.ProgressTerminateEvent += OnProgressTerminate;

            _cancelButtonOriginallyVisible = _cancelButton.Visible;
            _defaultProgressBarWidth       = _progressBar.Width;
            UpdateProgressBarLength();
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public ProgressDialogComponentControl(ProgressDialogComponent component)
            : base(component)
        {
            InitializeComponent();
            _component = component;

            base.CancelButton = _cancelButton;
            base.AcceptButton = _cancelButton;

            _cancelButton.Visible = _component.ShowCancel;
            _cancelButton.Text = _component.ButtonText;
            _message.Text = _component.ProgressMessage;
            _progressBar.Value = _component.ProgressBar;
            _progressBar.MarqueeAnimationSpeed = _component.MarqueeSpeed;
            _progressBar.Style = (System.Windows.Forms.ProgressBarStyle)_component.ProgressBarStyle;
            _progressBar.Maximum = _component.ProgressBarMaximum;

            _component.ProgressUpdateEvent += OnProgressUpdate;
            _component.ProgressTerminateEvent += OnProgressTerminate;

            _cancelButtonOriginallyVisible = _cancelButton.Visible;
            _defaultProgressBarWidth = _progressBar.Width;
            UpdateProgressBarLength();
        }
 public void SetComponent(IApplicationComponent component)
 {
     _component = (ProgressDialogComponent)component;
 }
			public void Run()
			{
				CreateBaseDataSet();
				
				_tempFileDirectory = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "ClearCanvas");
				_tempFileDirectory = System.IO.Path.Combine(_tempFileDirectory, "BitmapImport");
				DeleteEmptyFolders(_tempFileDirectory);

				_tempFileDirectory = System.IO.Path.Combine(_tempFileDirectory, System.IO.Path.GetRandomFileName());
				Directory.CreateDirectory(_tempFileDirectory);

				BackgroundTask task = new BackgroundTask(Process, true);
				task.Terminated += delegate
									{
										OnComplete();
										task.Dispose();
									};

				lock (_waitShowProgressLock)
				{
					task.Run();

					Monitor.Wait(_waitShowProgressLock);
					if (_showProgress)
					{
						ProgressDialogComponent progressComponent = new ProgressDialogComponent(task, true, ProgressBarStyle.Blocks);
						LaunchAsShelf(DesktopWindow, progressComponent, SR.TitleImportingImages, ShelfDisplayHint.DockFloat);
					}

					Monitor.Pulse(_waitShowProgressLock);
				}
			}
Пример #9
0
			public void Run()
			{
				if (NumberOfImagesToExport <= 5)
				{
					BlockingOperation.Run(delegate { Export(null); });
					Complete();
				}
				else
				{
					ItemsToExport.ForEach(delegate(IClipboardItem item) { item.Lock(); });

					BackgroundTask task = new BackgroundTask(Export, true) {ThreadUICulture = Application.CurrentUICulture};

					ProgressDialogComponent progressComponent = new ProgressDialogComponent(task, true, ProgressBarStyle.Blocks);

					_progressComponentShelf = LaunchAsShelf(DesktopWindow, progressComponent,
																SR.TitleExportingImages, "ExportingImages",
																ShelfDisplayHint.DockFloat);

					_progressComponentShelf.Closed += delegate
														{
															Complete();
															task.Dispose();
														};
				}
			}
 public void SetComponent(IApplicationComponent component)
 {
     _component = (ProgressDialogComponent)component;
 }