Ejemplo n.º 1
0
 //cuvanje novih kordinata vrste pri pomeranju ikonice na kanvasu
 public static void ChangeDroppedVrsta(VrstaKlasa vrsta)
 {
     foreach (VrstaKlasa v in instance.Vrste)
     {
         if (v.Oznaka == vrsta.Oznaka)
         {
             v.X = vrsta.X;
             v.Y = vrsta.Y;
             break;
         }
     }
     SerijalizacijaVrste.serijalizacijaVrste();
 }
Ejemplo n.º 2
0
        private void mapaVrsta_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            start = e.GetPosition(null);

            Canvas map = sender as Canvas;

            VrstaKlasa dataObject    = null;
            Point      mousePosition = e.GetPosition(mapaVrsta);

            dataObject = ClickedVrsta((int)mousePosition.X, (int)mousePosition.Y);

            if (dataObject != null)
            {
                DataObject data = new DataObject(FROM_CANVAS, dataObject);
                DragDrop.DoDragDrop(map, data, DragDropEffects.Move);
            }
        }
Ejemplo n.º 3
0
        private void mapaLokala_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            Point      dropPosition = e.GetPosition(mapaVrsta);
            VrstaKlasa vrsta        = ClickedVrsta((int)dropPosition.X, (int)dropPosition.Y);

            if (vrsta != null)
            {
                for (int i = 0; i < vm.droppedVrste.Count; i++)
                {
                    if (vm.droppedVrste[i].Oznaka.Equals(vrsta.Oznaka))
                    {
                        vm.Vrste.Add(vm.droppedVrste[i]);
                        mapaVrsta.Children.RemoveAt(i);
                        ugroVrste.ItemsSource = vm.Vrste;
                        vm.droppedVrste.RemoveAt(i);
                        break;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        //Drag and drop
        //leva strana
        private void StackPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)   //sa panela na kanvas
        {
            start = e.GetPosition(null);

            StackPanel panel      = sender as StackPanel;
            VrstaKlasa dataObject = null;

            foreach (VrstaKlasa vrsta in vm.Vrste)
            {
                if ((string)panel.Tag == vrsta.Oznaka)
                {
                    dataObject = vrsta;
                    break;
                }
            }

            DataObject data = new DataObject(FROM_SIDEBAR, dataObject);

            DragDrop.DoDragDrop(panel, data, DragDropEffects.Move);
        }
Ejemplo n.º 5
0
        private void mapaVrsta_Drop(object sender, DragEventArgs e)
        {
            Point dropPosition = e.GetPosition(mapaVrsta);

            if (ClickedVrsta((int)dropPosition.X, (int)dropPosition.Y) != null)
            {
                return;
            }

            if (e.Data.GetDataPresent(FROM_SIDEBAR))    //sa panela na kanvas
            {
                VrstaKlasa vrsta = e.Data.GetData(FROM_SIDEBAR) as VrstaKlasa;

                vm.Vrste.Remove(vrsta); //uklanjam iz vrsta koje nisu na kanvasu vrstu
                vrsta.X = (int)dropPosition.X - OFFSET;
                vrsta.Y = (int)dropPosition.Y - OFFSET;

                Podaci.ChangeDroppedVrsta(vrsta); //pozivam serijalizaciju zbog koordinata

                vm.droppedVrste.Add(vrsta);       //dodajem u vrste na kanvasu vrstu

                Canvas canvas = this.mapaVrsta;

                Image VrstaIkonica = new Image
                {
                    Width  = ICON_SIZE,
                    Height = ICON_SIZE,
                    Uid    = vrsta.Oznaka,
                    Source = new BitmapImage(new Uri(vrsta.Ikonica, UriKind.Absolute))
                };

                VrstaIkonica.ToolTip = vrsta.Oznaka;

                canvas.Children.Add(VrstaIkonica);

                Canvas.SetLeft(VrstaIkonica, vrsta.X);
                Canvas.SetTop(VrstaIkonica, vrsta.Y);

                return;
            }

            if (e.Data.GetDataPresent(FROM_CANVAS)) //sa kanvasa na kanvas
            {
                VrstaKlasa vrsta = e.Data.GetData(FROM_CANVAS) as VrstaKlasa;

                vm.droppedVrste.Remove(vrsta);
                vrsta.X = (int)dropPosition.X - OFFSET;
                vrsta.Y = (int)dropPosition.Y - OFFSET;

                Podaci.ChangeDroppedVrsta(vrsta);
                vm.droppedVrste.Add(vrsta);

                Canvas canvas = this.mapaVrsta;

                UIElement remove = null;
                foreach (UIElement elem in canvas.Children)
                {
                    if (elem.Uid == vrsta.Oznaka)
                    {
                        remove = elem;
                        break;
                    }
                }
                canvas.Children.Remove(remove);

                Image VrstaIkonica = new Image
                {
                    Width  = ICON_SIZE,
                    Height = ICON_SIZE,
                    Uid    = vrsta.Oznaka,
                    Source = new BitmapImage(new Uri(vrsta.Ikonica, UriKind.Absolute)),
                };

                VrstaIkonica.ToolTip = vrsta.Oznaka;

                canvas.Children.Add(VrstaIkonica);

                Canvas.SetLeft(VrstaIkonica, vrsta.X);
                Canvas.SetTop(VrstaIkonica, vrsta.Y);

                return;
            }
        }