/// <summary> /// Constructor /// </summary> internal PrintImageBoxControl(PrintViewImageBox imageBox, Rectangle parentRectangle) { _imageBox = imageBox; this.ParentRectangle = parentRectangle; InitializeComponent(); _imageScrollerVisible = _imageScroller.Visible; _imageScroller.MouseDown += ImageScrollerMouseDown; _imageScroller.MouseUp += ImageScrollerMouseUp; _imageScroller.ValueChanged += ImageScrollerValueChanged; this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); this.BackColor = Color.Black; this.Dock = DockStyle.None; this.Anchor = AnchorStyles.None; _imageBox.Drawing += OnDrawing; _imageBox.SelectionChanged += OnImageBoxSelectionChanged; _imageBox.LayoutCompleted += OnLayoutCompleted; this.Margin = new Padding(0); this.Padding = new Padding(0); foreach (var extension in Extensions) { AttachExtension(extension); } }
private void DeleteCurrentPage(object sender, EventArgs args) { if (this.Context.Viewer == null || this.Context.Viewer.SelectedImageBox == null || this.Context.Viewer.SelectedImageBox.DisplaySet == null) { return; } PrintViewImageBox imageBox = this.ImageViewer.SelectedImageBox as PrintViewImageBox; var memorableCommand = new MemorableUndoableCommand(imageBox) { BeginState = CreateMemento() }; var printImageViewer = Context.Viewer as PrintImageViewerComponent; foreach (PrintViewTile tile in imageBox.Tiles) { if (tile.PresentationImage == null) { int number1 = imageBox.TotleImageCount - imageBox.DisplaySet.PresentationImages.Count; if (number1 > 0) { imageBox.TotleImageCount = imageBox.TotleImageCount - 1; } tile.Deselect(); continue; } if (imageBox.DisplaySet.PresentationImages.Contains(tile.PresentationImage)) { if (printImageViewer.SelectPresentationImages.Contains(tile.PresentationImage as PresentationImage)) { var pi = tile.PresentationImage as PresentationImage; pi.Selected = false; printImageViewer.SelectPresentationImages.Remove(pi); } imageBox.DisplaySet.PresentationImages.Remove(tile.PresentationImage); //tile.PresentationImage.Dispose(); tile.PresentationImage = null; tile.Deselect(); } } imageBox.TopLeftPresentationImageIndex = imageBox.TopLeftPresentationImageIndex - imageBox.Tiles.Count; imageBox.Draw(); imageBox.SelectDefaultTile(); memorableCommand.EndState = CreateMemento(); var historyCommand = new DrawableUndoableCommand(imageBox) { Name = SR.CommandPrintPreviewDeleteImage }; historyCommand.Enqueue(memorableCommand); this.Context.Viewer.CommandHistory.AddCommand(historyCommand); PropertyChanged(); }
private void AddTileControls(PrintViewImageBox imageBox) { this.SuspendLayout(); foreach (PrintViewTile tile in imageBox.Tiles) { AddTileControl(tile); } // keep the image scroller at the forefront _imageScroller.BringToFront(); this.ResumeLayout(false); }
private void CreateEmptyPage(object sender, EventArgs args) { if (Context.Viewer.SelectedImageBox == null) { return; } PrintViewImageBox imageBox = Context.Viewer.SelectedImageBox as PrintViewImageBox; imageBox.TotleImageCount += imageBox.Tiles.Count; imageBox.TopLeftPresentationImageIndex = imageBox.TotleImageCount - imageBox.Tiles.Count; imageBox.Draw(); imageBox.SelectDefaultTile(); }
private void AddImageBoxControl(PrintViewImageBox imageBox) { PrintImageBoxView view = ViewFactory.CreateAssociatedView(typeof(PrintViewImageBox)) as PrintImageBoxView; view.ImageBox = imageBox; view.ParentRectangle = this._layoutImages.ClientRectangle; PrintImageBoxControl control = view.GuiElement as PrintImageBoxControl; control.Dock = DockStyle.None; control.SuspendLayout(); this._layoutImages.Controls.Add(control); control.ResumeLayout(false); }
private void AddImageBoxControls(PrintViewImageBox rootImageBox) { if (rootImageBox == null) { return; } AddImageBoxControl(rootImageBox); PrintViewImageBox printViewImageBox = rootImageBox; if (printViewImageBox.ChildImageBox.Count > 0) { foreach (PrintViewImageBox imageBox in printViewImageBox.ChildImageBox) { AddImageBoxControls(imageBox); } } }
public override bool Start(InputManagement.IMouseInformation mouseInformation) { if (mouseInformation.ClickCount < 2) { return(false); } PrintImageViewerComponent printImageViewer = this.Context.Viewer as PrintImageViewerComponent; if (printImageViewer == null || printImageViewer.SelectPresentationImages == null) { return(false); } foreach (var item in printImageViewer.SelectPresentationImages) { PresentationImage image = item as PresentationImage; image.Selected = false; } printImageViewer.SelectPresentationImages.Clear(); foreach (PrintViewTile tile in this.Context.Viewer.SelectedImageBox.Tiles) { if (tile.PresentationImage == null) { tile.Deselect(); continue; } PresentationImage image = tile.PresentationImage as PresentationImage; image.Selected = true; printImageViewer.SelectPresentationImages.Add(image); } if (printImageViewer.SelectPresentationImages.Count > 0) { PrintViewImageBox imageBox = printImageViewer.SelectedImageBox as PrintViewImageBox; imageBox.SelectedTile = printImageViewer.SelectPresentationImages[0].Tile; } this.Context.Viewer.SelectedImageBox.Draw(); return(true); }
private void SelectRever(object sender, EventArgs args) { PrintImageViewerComponent printImageViewer = Context.Viewer as PrintImageViewerComponent; if (printImageViewer == null || printImageViewer.SelectPresentationImages == null) { return; } foreach (PrintViewTile tile in this.Context.Viewer.SelectedImageBox.Tiles) { if (tile.PresentationImage == null) { tile.Deselect(); } } List <PresentationImage> temp = new List <PresentationImage>(); foreach (var tile in printImageViewer.DisplaySet.PresentationImages) { PresentationImage image = tile as PresentationImage; if (printImageViewer.SelectPresentationImages.Contains(image)) { image.Selected = false; } else { image.Selected = true; temp.Add(image); } } printImageViewer.SelectPresentationImages.Clear(); printImageViewer.SelectPresentationImages.AddRange(temp); if (printImageViewer.SelectPresentationImages.Count > 0) { PrintViewImageBox imageBox = printImageViewer.SelectedImageBox as PrintViewImageBox; imageBox.SelectedTile = printImageViewer.SelectPresentationImages[0].Tile; } this.Context.Viewer.SelectedImageBox.Draw(); }
private void PerformDispose() { DisposeExtensions(); if (_imageBox != null) { _imageBox.Drawing -= OnDrawing; _imageBox.SelectionChanged -= OnImageBoxSelectionChanged; _imageBox.LayoutCompleted -= OnLayoutCompleted; _imageBox = null; } if (_imageScroller != null) { _imageScroller.ValueChanged -= ImageScrollerValueChanged; _imageScroller.MouseDown -= ImageScrollerMouseDown; _imageScroller.MouseUp -= ImageScrollerMouseUp; } DisposeControls(new List <PrintTileControl>(this.TileControls)); }
private void JumpToEnd() { if (Context.Viewer.SelectedTile == null) { return; } PrintViewImageBox imageBox = Context.Viewer.SelectedTile.ParentImageBox as PrintViewImageBox; if (imageBox.DisplaySet == null) { return; } CaptureBeginState(imageBox); imageBox.TopLeftPresentationImageIndex = imageBox.TotleImageCount - imageBox.Tiles.Count; if (CaptureEndState()) { imageBox.Draw(); } }
private void SelectAll(object sender, EventArgs args) { PrintImageViewerComponent printImageViewer = Context.Viewer as PrintImageViewerComponent; if (printImageViewer == null || printImageViewer.SelectPresentationImages == null) { return; } foreach (PrintViewTile tile in this.Context.Viewer.SelectedImageBox.Tiles) { if (tile.PresentationImage == null) { tile.Deselect(); } } foreach (var item in printImageViewer.SelectPresentationImages) { PresentationImage image = item as PresentationImage; image.Selected = false; } printImageViewer.SelectPresentationImages.Clear(); foreach (var tile in printImageViewer.DisplaySet.PresentationImages) { PresentationImage image = tile as PresentationImage; image.Selected = true; printImageViewer.SelectPresentationImages.Add(image); } if (printImageViewer.SelectPresentationImages.Count > 0) { PrintViewImageBox imageBox = printImageViewer.SelectedImageBox as PrintViewImageBox; imageBox.SelectedTile = printImageViewer.SelectPresentationImages[0].Tile; } this.Context.Viewer.SelectedImageBox.Draw(); }