Exemplo n.º 1
0
        private void lbImage_SelectedIndexChanged(object sender, EventArgs e)
        {
            // вывод выбранного изображения
            ImageListItem imageInfo = lbImages.SelectedItem as ImageListItem;

            if (imageInfo == null)
            {
                pictureBox.Image = null;
            }
            else
            {
                try
                {
                    pictureBox.Image    = imageInfo.Source;
                    pictureBox.SizeMode =
                        imageInfo.ImageSize.Width <= pictureBox.Width &&
                        imageInfo.ImageSize.Height <= pictureBox.Height ?
                        PictureBoxSizeMode.CenterImage : PictureBoxSizeMode.Zoom;
                }
                catch (Exception ex)
                {
                    pictureBox.Image = null;
                    ScadaUiUtils.ShowError(SchemePhrases.DisplayImageError + ":\n" + ex.Message);
                }
            }

            propGrid.SelectedObject = imageInfo;
            SetBtnsEnabled();
        }
Exemplo n.º 2
0
        private void propGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            // обновление наименования изображения
            if (e.ChangedItem.PropertyDescriptor.Name == "Name")
            {
                string oldName = (string)e.OldValue;
                string newName = (string)e.ChangedItem.Value;

                if (oldName != newName)
                {
                    // изменение наименования изображения
                    ImageListItem imageInfo = propGrid.SelectedObject as ImageListItem;
                    imageInfo.Image.Name = newName;

                    // обновление словаря изображений схемы
                    images.Remove(oldName);
                    images[newName] = imageInfo.Image;

                    // обновление списка изображений на форме
                    lbImages.SelectedIndexChanged -= lbImage_SelectedIndexChanged;
                    lbImages.BeginUpdate();
                    lbImages.Items.RemoveAt(lbImages.SelectedIndex);
                    lbImages.SelectedIndex = lbImages.Items.Add(imageInfo);
                    lbImages.EndUpdate();
                    lbImages.SelectedIndexChanged += lbImage_SelectedIndexChanged;

                    // отслеживание изменений
                    observableItem.OnItemChanged(SchemeChangeTypes.ImageRenamed, imageInfo.Image, oldName);
                }
            }
        }
        private void btnOpen_Click(object sender, EventArgs e)
        {
            try
            {
                // добавление изображения в словарь изображений схемы
                openFileDialog.FileName = "";

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    ImageDir = openFileDialog.InitialDirectory = Path.GetDirectoryName(openFileDialog.FileName);

                    if (LoadImage(openFileDialog.FileName, out Image image))
                    {
                        string name = Path.GetFileName(openFileDialog.FileName);
                        image.Name = images.ContainsKey(name) ? "image" + (images.Count + 1) : name;

                        ImageListItem imageInfo = new ImageListItem(image, ImageNameIsUnique);
                        images.Add(image.Name, image);
                        lbImages.SelectedIndex = lbImages.Items.Add(imageInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 4
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            // установка выбранного изображения
            ImageListItem imageInfo = lbImages.SelectedItem as ImageListItem;

            SelectedImageName = imageInfo == null ? "" : imageInfo.Name;
            DialogResult      = DialogResult.OK;
        }
 /// <summary>
 /// Сохранить изображение в файле.
 /// </summary>
 private void SaveImage(string fileName, ImageListItem imageInfo)
 {
     try
     {
         using (FileStream fileStream =
                    new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read))
         {
             fileStream.Write(imageInfo.Image.Data, 0, imageInfo.DataSize);
         }
     }
     catch (Exception ex)
     {
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// Сохранить изображение в файле
 /// </summary>
 private void SaveImage(string fileName, ImageListItem imageInfo)
 {
     try
     {
         using (FileStream fileStream =
                    new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Read))
         {
             fileStream.Write(imageInfo.Image.Data, 0, imageInfo.DataSize);
         }
     }
     catch (Exception ex)
     {
         ScadaUiUtils.ShowError(SchemePhrases.SaveImageError + ":\n" + ex.Message);
     }
 }
Exemplo n.º 7
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            // сохранение изображения в выбранный файл
            ImageListItem imageInfo = lbImages.SelectedItem as ImageListItem;

            if (imageInfo != null && imageInfo.Image != null)
            {
                saveFileDialog.FileName   = imageInfo.Name;
                saveFileDialog.DefaultExt = imageInfo.Format.ToLowerInvariant();

                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    SaveImage(saveFileDialog.FileName, imageInfo);
                }
            }
        }
Exemplo n.º 8
0
 /// <summary>
 /// Makes the appropriate image viewer visible.
 /// </summary>
 private void ChooseImageViewer(ImageListItem imageInfo)
 {
     if (ctrlSvgViewer != null)
     {
         if (imageInfo != null && imageInfo.IsSvg)
         {
             pictureBox.Visible    = false;
             ctrlSvgViewer.Visible = true;
         }
         else
         {
             pictureBox.Visible    = true;
             ctrlSvgViewer.Visible = false;
         }
     }
 }
Exemplo n.º 9
0
        private void lbImage_SelectedIndexChanged(object sender, EventArgs e)
        {
            // вывод выбранного изображения
            ImageListItem imageInfo = lbImages.SelectedItem as ImageListItem;

            ChooseImageViewer(imageInfo);

            if (imageInfo == null)
            {
                pictureBox.Image = null;
            }
            else
            {
                try
                {
                    if (ctrlSvgViewer != null && imageInfo.IsSvg)
                    {
                        // display SVG
                        ctrlSvgViewer.ShowImage(imageInfo.Image.Data);
                    }
                    else
                    {
                        // display other type of image in the picture box
                        pictureBox.Image    = imageInfo.Source;
                        pictureBox.SizeMode =
                            imageInfo.ImageSize.Width <= pictureBox.Width &&
                            imageInfo.ImageSize.Height <= pictureBox.Height ?
                            PictureBoxSizeMode.CenterImage : PictureBoxSizeMode.Zoom;
                    }
                }
                catch (Exception ex)
                {
                    ChooseImageViewer(null);
                    pictureBox.Image = null;
                    ScadaUiUtils.ShowError(SchemePhrases.DisplayImageError + ":\n" + ex.Message);
                }
            }

            propGrid.SelectedObject = imageInfo;
            SetBtnsEnabled();
        }
Exemplo n.º 10
0
        private void btnDel_Click(object sender, EventArgs e)
        {
            // удаление изображения из словаря изображений схемы
            ImageListItem imageInfo = lbImages.SelectedItem as ImageListItem;
            int           selInd    = lbImages.SelectedIndex;

            if (imageInfo != null)
            {
                images.Remove(imageInfo.Name);
                lbImages.Items.RemoveAt(selInd);
                int itemCnt = lbImages.Items.Count;
                if (itemCnt > 0)
                {
                    lbImages.SelectedIndex = selInd < itemCnt ? selInd : itemCnt - 1;
                }

                // отслеживание изменений
                observableItem.OnItemChanged(SchemeChangeTypes.ImageDeleted, imageInfo.Image);
            }

            propGrid.Select();
        }
Exemplo n.º 11
0
        private void btnOpen_Click(object sender, EventArgs e)
        {
            // добавление изображения в словарь изображений схемы
            openFileDialog.FileName = "";

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                Image image;
                if (LoadImage(openFileDialog.FileName, out image))
                {
                    string name = Path.GetFileName(openFileDialog.FileName);
                    image.Name = images.ContainsKey(name) ? "image" + (images.Count + 1) : name;

                    ImageListItem imageInfo = new ImageListItem(image, ImageNameIsUnique);
                    images.Add(image.Name, image);
                    lbImages.SelectedIndex = lbImages.Items.Add(imageInfo);

                    // отслеживание изменений
                    observableItem.OnItemChanged(SchemeChangeTypes.ImageAdded, image);
                }
            }
        }
        private void lbImage_SelectedIndexChanged(object sender, EventArgs e)
        {
            // вывод выбранного изображения
            ImageListItem imageInfo = lbImages.SelectedItem as ImageListItem;

            ChooseImageViewer(imageInfo);

            if (imageInfo == null)
            {
                pictureBox.Image = null;
            }
            else
            {
                try
                {
                    // display image in the picture box anyway
                    pictureBox.Image    = imageInfo.Source;
                    pictureBox.SizeMode =
                        imageInfo.ImageSize.Width <= pictureBox.Width &&
                        imageInfo.ImageSize.Height <= pictureBox.Height ?
                        PictureBoxSizeMode.CenterImage : PictureBoxSizeMode.Zoom;

                    // display SVG
                    if (ctrlSvgViewer != null && ctrlSvgViewer.Visible)
                    {
                        ctrlSvgViewer.ShowImage(imageInfo.Image.Data);
                    }
                }
                catch (Exception ex)
                {
                    ChooseImageViewer(null);
                    pictureBox.Image = null;
                }
            }

            propGrid.SelectedObject = imageInfo;
            SetBtnsEnabled();
        }