private void RefreshPreview(GISADataset.SFRDImagemRow imgRow) { Image imagem = null; string caminhoFicheiro = string.Empty; string outroParametro = string.Empty; var tipo = TranslationHelper.FormatTipoAcessoTextToTipoAcessoEnum(imgRow.Tipo); try { switch (tipo) { case ResourceAccessType.Smb: caminhoFicheiro = imgRow.SFRDImagemVolumeRow.Mount + imgRow.Identificador; imagem = ImageHelper.GetSmbImageResource(caminhoFicheiro); ImageViewerControl1.UpdatePreviewImage(imagem, caminhoFicheiro, tipo); break; case ResourceAccessType.Web: caminhoFicheiro = imgRow.SFRDImagemVolumeRow.Mount + imgRow.Identificador; imagem = ImageHelper.GetWebImageResource(caminhoFicheiro); ImageViewerControl1.UpdatePreviewImage(imagem, caminhoFicheiro, tipo); break; case ResourceAccessType.DICAnexo: case ResourceAccessType.DICConteudo: imagem = ImageHelper.GetDICImageResource(imgRow.Identificador, imgRow.SFRDImagemVolumeRow.Mount, tipo); ImageViewerControl1.UpdatePreviewImage(imagem, imgRow.Identificador, imgRow.SFRDImagemVolumeRow.Mount, tipo); break; } } catch (ImageHelper.UnretrievableResourceException ex) { Trace.WriteLine(ex.ToString()); } ImagemEscolhida = imagem; ImageViewerControl1.Visible = true; }
private void ViewToModel(ListViewItem item, string localizacao) { GISADataset.SFRDImagemRow imgRow = null; imgRow = (GISADataset.SFRDImagemRow)item.Tag; if (!(imgRow.Descricao.Equals(item.Text))) { imgRow.Descricao = item.Text; } if (localizacao != null) { imgRow.Tipo = localizacao; } if (!imgRow.IsIDSFDImagemVolumeNull()) { // if the volume was changed then other volume entry should be used if (!(imgRow.SFRDImagemVolumeRow.Mount.Equals(item.SubItems[1].Text))) { // find the intended volume or create one if it does not yet exist // change imgRow.SFRDImagemVolumeRow to use it imgRow.SFRDImagemVolumeRow = getImagemVolume(item.SubItems[1].Text); } } // if the filename was changed update it if (!(imgRow.Identificador.Equals(item.SubItems[2].Text))) { imgRow.Identificador = item.SubItems[2].Text; } }
private void OpenFormImageViewer_action(object sender) { if (lstVwIndiceDocumento.SelectedItems.Count != 0) { GISADataset.SFRDImagemRow sfrdimg = (GISADataset.SFRDImagemRow)(lstVwIndiceDocumento.SelectedItems[0].Tag); if (ImagemEscolhida != null) { frmImgViewer = new FormImageViewer(); frmImgViewer.NextImage += FormImageViewer_NextImage; frmImgViewer.PreviousImage += FormImageViewer_PreviousImage; frmImgViewer.Imagem = ImagemEscolhida; frmImgViewer.Descricao = sfrdimg.Descricao; if (lstVwIndiceDocumento.SelectedIndices.Count > 0) { frmImgViewer.ToolBarButtonPreviousImage.Enabled = lstVwIndiceDocumento.SelectedIndices[0] > 0; frmImgViewer.ToolBarButtonNextImage.Enabled = lstVwIndiceDocumento.SelectedIndices[0] < lstVwIndiceDocumento.Items.Count - 1; } else { frmImgViewer.ToolBarButtonPreviousImage.Enabled = false; frmImgViewer.ToolBarButtonNextImage.Enabled = false; } frmImgViewer.ShowDialog(); frmImgViewer.NextImage -= FormImageViewer_NextImage; frmImgViewer.PreviousImage -= FormImageViewer_PreviousImage; frmImgViewer.Dispose(); frmImgViewer = null; } } }
private void AddIndiceDocumento(string descricao, string caminhoFicheiro, string nomeFicheiro, ResourceAccessType tipoAcessoRecurso) { if ((tipoAcessoRecurso == ResourceAccessType.Smb || tipoAcessoRecurso == ResourceAccessType.Web) && !(ImageHelper.isValidImageResource(caminhoFicheiro + nomeFicheiro, tipoAcessoRecurso))) { return; } if ((tipoAcessoRecurso == ResourceAccessType.DICAnexo || tipoAcessoRecurso == ResourceAccessType.DICConteudo) && !(ImageHelper.isValidImageResource(caminhoFicheiro, nomeFicheiro, tipoAcessoRecurso))) { return; } GISADataset.SFRDImagemVolumeRow imgVolRow = getImagemVolume(caminhoFicheiro); long maxOrdem = GetImgMaxOrdem(); GISADataset.SFRDImagemRow imgRow = null; imgRow = GisaDataSetHelper.GetInstance().SFRDImagem.AddSFRDImagemRow(CurrentFRDBase, maxOrdem + 1, TranslationHelper.FormatTipoAcessoEnumToTipoAcessoText(tipoAcessoRecurso), descricao, imgVolRow, nomeFicheiro, new byte[] { }, 0); ListViewItem item = null; item = lstVwIndiceDocumento.Items.Add(descricao); item.SubItems.Add(caminhoFicheiro); item.SubItems.Add(nomeFicheiro); item.Tag = imgRow; }
public override void ViewToModel() { if (CurrentFRDBase == null || CurrentFRDBase.RowState == DataRowState.Detached || !IsLoaded) { return; } GisaDataSetHelper.ManageDatasetConstraints(false); // actualizar as "ordens" GISADataset.SFRDImagemRow imgRow = null; int ordem = 1; foreach (ListViewItem item in lstVwIndiceDocumento.Items) { imgRow = (GISADataset.SFRDImagemRow)item.Tag; imgRow.GUIOrder = ordem; ordem = ordem + 1; } try { GisaDataSetHelper.ManageDatasetConstraints(true); } catch (Exception ex) { Trace.WriteLine(ex); throw ex; } }
private void RefreshDetails() { ImageViewerControl1.BringToFront(); if (lstVwIndiceDocumento.SelectedItems.Count != 1) { ClearPreview(); return; } GISADataset.SFRDImagemRow imgRow = (GISADataset.SFRDImagemRow)(lstVwIndiceDocumento.SelectedItems[0].Tag); RefreshPreview(imgRow); }
private void ControlerResize_action(object sender) { if (ImagemEscolhida == null || lstVwIndiceDocumento.SelectedItems.Count == 0) { return; } GISADataset.SFRDImagemRow imgRow = (GISADataset.SFRDImagemRow)(lstVwIndiceDocumento.SelectedItems[0].Tag); string caminhoFicheiro = imgRow.SFRDImagemVolumeRow.Mount + imgRow.Identificador; ImageViewerControl1.UpdatePreviewImage(ImagemEscolhida, caminhoFicheiro, TranslationHelper.FormatTipoAcessoTextToTipoAcessoEnum(imgRow.Tipo)); }
private void FormImageViewer_NextImage(object sender, FormImageViewer.ImageViewerEventArgs e) { // make sure an item is seleted and that there is a next item to select if (lstVwIndiceDocumento.SelectedIndices.Count != 0 && lstVwIndiceDocumento.SelectedIndices[0] < lstVwIndiceDocumento.Items.Count - 1) { ListViewItem selItem = lstVwIndiceDocumento.Items[lstVwIndiceDocumento.SelectedIndices[0] + 1]; GISADataset.SFRDImagemRow sfrdimg = (GISADataset.SFRDImagemRow)selItem.Tag; selItem.Selected = true; e.Imagem = ImagemEscolhida; e.Descricao = sfrdimg.Descricao; e.ExistsPrevious = true; e.ExistsNext = (lstVwIndiceDocumento.SelectedIndices[0] < lstVwIndiceDocumento.Items.Count - 1); } }
private void btnEdit_Click(object sender, EventArgs e) { if (lstVwIndiceDocumento.SelectedItems.Count == 1) { GISADataset.SFRDImagemRow imgRow = null; imgRow = (GISADataset.SFRDImagemRow)(lstVwIndiceDocumento.SelectedItems[0].Tag); FormImagem form = new FormImagem(CurrentFRDBase.IDNivel.ToString()); form.Text = "Alterar Imagem / Objeto Digital"; form.Descricao = imgRow.Descricao; form.cbTipoAcessoRecurso.SelectedItem = imgRow.Tipo; if (imgRow.Tipo.Equals(TranslationHelper.FormatTipoAcessoEnumToTipoAcessoText(ResourceAccessType.DICAnexo))) { form.NomeFicheiroDIP = imgRow.Identificador; form.NUDDIP = imgRow.SFRDImagemVolumeRow.Mount; form.ValidLocation = form.NomeFicheiroDIP; form.ValidLocationParams = form.NUDDIP; } else if (imgRow.Tipo.Equals(TranslationHelper.FormatTipoAcessoEnumToTipoAcessoText(ResourceAccessType.DICConteudo))) { form.NUDDIP = imgRow.Identificador; form.ValidLocation = form.NUDDIP; } else { form.Identificador = imgRow.SFRDImagemVolumeRow.Mount + imgRow.Identificador; form.ValidLocation = form.Identificador; } Image currentImage = null; Size currentImageSize = new Size(); Size viewportSize = new Size(); currentImage = ImageViewerControl1.pictImagem.Image; if (currentImage != null) { currentImageSize = currentImage.Size; viewportSize = form.ImageViewerControl1.grpImagem.Size; Size newSize = ImageHelper.getSizeSameAspectRatio(currentImageSize, viewportSize); Image newImg = FormImageViewer.resizeImage(currentImage, newSize); form.ImageViewerControl1.pictImagem.Image = newImg; form.ImageViewerControl1.pictImagem.Size = form.ImageViewerControl1.grpImagem.Size; } if (form.ShowDialog() == DialogResult.OK) { string identificador, descricao, caminho; identificador = form.Identificador; descricao = form.Descricao; caminho = form.Identificador; ListViewItem item = null; item = lstVwIndiceDocumento.SelectedItems[0]; item.SubItems[0].Text = descricao; item.SubItems[1].Text = getPathFromFullPath(caminho, form.TipoAcessoRecurso); item.SubItems[2].Text = getFilenameFromFullPath(identificador, form.TipoAcessoRecurso); ViewToModel(item, TranslationHelper.FormatTipoAcessoEnumToTipoAcessoText(form.TipoAcessoRecurso)); RefreshDetails(); RefreshButtonsState(); } } }