Beispiel #1
0
		public MprViewerComponent() : base(new MprLayoutManager(), null)
		{
			_volumes = new ObservableDisposableList<IMprVolume>();
			_volumes.EnableEvents = true;

			_mprWorkspace = new BasicMprWorkspace(this);
		}
Beispiel #2
0
        public MprViewerComponent() : base(new MprLayoutManager(), null)
        {
            _volumes = new ObservableDisposableList <IMprVolume>();
            _volumes.EnableEvents = true;

            _mprWorkspace = new BasicMprWorkspace(this);
        }
Beispiel #3
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            if (disposing)
            {
                if (_mprWorkspace != null)
                {
                    _mprWorkspace.Dispose();
                    _mprWorkspace = null;
                }

                if (_volumes != null)
                {
                    _volumes.Dispose();
                    _volumes = null;
                }
            }
        }
Beispiel #4
0
            protected override void FillPhysicalWorkspace()
            {
                // Do our own filling. The base method clones the display set, which is:
                // 1. Time consuming, because of the header generation
                // 2. Useless, because it can never be shown, and the workspace is locked anyway so you don't need to "recover" the original
                // 3. Makes reslicing slow, since you generate two sets of presentation images
                // 4. All of the above

                IPhysicalWorkspace physicalWorkspace = ImageViewer.PhysicalWorkspace;
                IMprWorkspace      mprWorkspace      = ImageViewer.MprWorkspace;

                if (mprWorkspace.ImageSets.Count == 0)
                {
                    return;
                }

                int imageSetIndex   = 0;
                int displaySetIndex = 0;

                foreach (IImageBox imageBox in physicalWorkspace.ImageBoxes)
                {
                    if (displaySetIndex == mprWorkspace.ImageSets[imageSetIndex].DisplaySets.Count)
                    {
                        imageSetIndex++;
                        displaySetIndex = 0;

                        if (imageSetIndex == mprWorkspace.ImageSets.Count)
                        {
                            break;
                        }
                    }

                    imageBox.DisplaySet       = mprWorkspace.ImageSets[imageSetIndex].DisplaySets[displaySetIndex];
                    imageBox.DisplaySetLocked = true;
                    displaySetIndex++;
                }

                // Let's start out in the middle of each stack
                foreach (IImageBox imageBox in this.ImageViewer.PhysicalWorkspace.ImageBoxes)
                {
                    imageBox.TopLeftPresentationImageIndex = imageBox.DisplaySet.PresentationImages.Count / 2;
                }
            }
Beispiel #5
0
		protected override void Dispose(bool disposing)
		{
			base.Dispose(disposing);

			if (disposing)
			{
				if (_mprWorkspace != null)
				{
					_mprWorkspace.Dispose();
					_mprWorkspace = null;
				}

				if (_volumes != null)
				{
					_volumes.Dispose();
					_volumes = null;
				}
			}
		}