Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using HCI_Projekat.klase;
- using HCI_Projekat.klase.handlers;
- namespace HCI_Projekat.forme
- {
- public partial class frmMapa : Form
- {
- private TreeNode _draggedIndexItem;
- private Point _screenOffset;
- private Rectangle _mouseDownSelectionWindow;
- private int x, y;
- private Image selImg;
- Point position;
- public frmMapa()
- {
- InitializeComponent();
- populateTrewView();
- tvIcon.ExpandAll();
- pMap.AllowDrop = true;
- _mouseDownSelectionWindow = Rectangle.Empty;
- }
- private void frmMapa_Load(object sender, EventArgs e)
- {
- List<IkoniceKoord> icon = Ikonice.getInstance().getIkonice();
- foreach (IkoniceKoord ikItr in icon)
- {
- PictureBox pb = new PictureBox();
- CustomToolTip ctt = new CustomToolTip();
- pb.Location = new Point(ikItr.x, ikItr.y);
- pb.Image = ikItr.icon;
- pb.BackColor = Color.Transparent;
- pb.Tag = pb.Image;
- pb.Size = new Size(ikItr.icon.Width, ikItr.icon.Height);
- ctt.SetToolTip(pb, ikItr.tTip);
- // MessageBox.Show(ikItr.x + " | " + ikItr.y + " | " + ikItr.icon.ToString());
- pMap.Controls.Add(pb);
- }
- }
- private void populateTrewView()
- {
- List<ZivotinjskeVrste> zv = Zivotinje.getInstance().getZivotinjskeVrste();
- ImageList imgList = new ImageList();
- TreeNode root = tvIcon.Nodes.Add("Životinje");
- TreeNode items = root;
- if (Zivotinje.getInstance().getZivotinjskeVrste() != null)
- {
- /* foreach (ZivotinjskeVrste zvItr in zv)
- {
- imgList.Images.Add(zvItr.Ikona);
- items = root.Nodes.Add(zvItr.Ime);
- items.ImageIndex = 0;
- items.SelectedImageIndex = 0;
- } */
- for (int i = 0; i < Zivotinje.getInstance().getZivotinjskeVrste().Count; i++)
- {
- items = root.Nodes.Add(Zivotinje.getInstance().getZivotinjskeVrste()[i].Ime);
- imgList.Images.Add(Zivotinje.getInstance().getZivotinjskeVrste()[i].Ikona);
- items.ImageIndex = i;
- items.SelectedImageIndex = i;
- items.Tag = Zivotinje.getInstance().getZivotinjskeVrste()[i];
- }
- tvIcon.ImageList = imgList;
- }
- }
- private void tvIcon_BeforeCollapse(object sender, TreeViewCancelEventArgs e)
- {
- e.Cancel = true;
- }
- private void tvIcon_MouseDown(object sender, MouseEventArgs e)
- {
- _draggedIndexItem = tvIcon.GetNodeAt(e.Location);
- if (_draggedIndexItem != null)
- {
- tvIcon.SelectedNode = _draggedIndexItem;
- if (_draggedIndexItem.GetNodeCount(true) == 0)
- {
- Size dragSize = SystemInformation.DragSize;
- _mouseDownSelectionWindow = new Rectangle(new Point(e.X - (dragSize.Width / 2), e.Y - (dragSize.Height / 2)), dragSize);
- // MessageBox.Show(_mouseDownSelectionWindow.ToString());
- int idx = _draggedIndexItem.ImageIndex;
- selImg = tvIcon.ImageList.Images[idx];
- }
- else
- {
- _mouseDownSelectionWindow = Rectangle.Empty;
- }
- }
- }
- private void tvIcon_MouseMove(object sender, MouseEventArgs e)
- {
- if (e.Button == MouseButtons.Left)
- {
- if ((_mouseDownSelectionWindow != Rectangle.Empty) && (!_mouseDownSelectionWindow.Contains(e.X, e.Y)))
- {
- _screenOffset = SystemInformation.WorkingArea.Location;
- DragDropEffects dropEffect = this.tvIcon.DoDragDrop(_draggedIndexItem, DragDropEffects.Copy);
- }
- }
- }
- private void pMap_DragEnter(object sender, DragEventArgs e)
- {
- Type testType = new TreeNode().GetType();
- if ((e.Data.GetDataPresent(testType)))
- e.Effect = DragDropEffects.Copy;
- else
- e.Effect = DragDropEffects.None;
- }
- private void pMap_DragDrop(object sender, DragEventArgs e)
- {
- Type testType = new TreeNode().GetType();
- TreeNode draggedItem;
- _mouseDownSelectionWindow = Rectangle.Empty;
- if (e.Data.GetDataPresent(testType))
- {
- draggedItem = (TreeNode)e.Data.GetData(testType);
- // draggedItem.ToolTipText = "Prevuceno!";
- // draggedItem.ForeColor = Color.Gray;
- position = Cursor.Position; // Pozicija kursora na ekranu
- Point controlRelatedCoords = this.pMap.PointToClient(position); // Pozicija kursora relativna panelu...
- // Obrada:
- CustomToolTip ctt = new CustomToolTip();
- ZivotinjskeVrste zv = (ZivotinjskeVrste)draggedItem.Tag;
- PictureBox pb = new PictureBox();
- pb.Location = new Point(controlRelatedCoords.X, controlRelatedCoords.Y);
- pb.Image = selImg;
- pb.Size = new Size(selImg.Width, selImg.Height);;
- pb.BackColor = Color.Transparent;
- pb.Tag = draggedItem.Tag;
- pMap.Controls.Add(pb);
- Button btn = new Button();
- pb.Tag = pb.Image; // Hackfix of le year
- String tt = "Oznaka: " + zv.Oznaka + Environment.NewLine + "Ime: " + zv.Ime + Environment.NewLine + "Tip: " + zv.Tip + Environment.NewLine + "Status ugrozenosti: " + zv.StatusUgrozenosti + Environment.NewLine + "Opasna za ljude: " + zv.OpasnaZaLjude + Environment.NewLine + "IUCN lista: " + zv.IUCN + Environment.NewLine + "Zivi u naseljenom mjestu: " + zv.NaseljenoMjesto + Environment.NewLine + "Turisticki status: " + zv.TuristickiStatus + Environment.NewLine + "Prihod od turizma: " + zv.Prihod + "Datum otkrivanja: " + zv.DatumOtkrivanja.ToShortDateString() + Environment.NewLine + "Opis: " + zv.Opis;
- ctt.SetToolTip(pb, tt);
- // Snimanje u kolekciju!
- IkoniceKoord ik = new IkoniceKoord();
- ik.x = controlRelatedCoords.X;
- ik.y = controlRelatedCoords.Y;
- ik.icon = selImg;
- ik.tTip = tt;
- Ikonice.getInstance().getIkonice().Add(ik);
- Ikonice.getInstance().SaveFile();
- ctt.SetToolTip(pb, String.Format("<bold>{0}</bold>", "test"));
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- this.DialogResult = DialogResult.OK;
- this.Close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement