コード例 #1
0
ファイル: Podaci.cs プロジェクト: DaniloJevtovic/HCI
 public static void ChangeDroppedVrsta(VrstaA vrsta)
 {
     foreach (VrstaA v in instance.Vrste)
     {
         if (v.Oznaka == vrsta.Oznaka)
         {
             v.X = vrsta.X;
             v.Y = vrsta.Y;
             break;
         }
     }
     SerijalizacijaVrste.serijalizacijaVrste();
 }   //cuvanje novih kordinata vrste pri pomjeranju ikonice na kanvasu
コード例 #2
0
        private void mapaVrsta_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            start = e.GetPosition(null);

            Canvas map = sender as Canvas;

            VrstaA 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);
            }
        }
コード例 #3
0
        //lijeva strana
        private void StackPanel_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)   //sa panela na kanvas
        {
            start = e.GetPosition(null);

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

            foreach (VrstaA 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);
        }
コード例 #4
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
            {
                VrstaA vrsta = e.Data.GetData(FROM_SIDEBAR) as VrstaA;

                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
            {
                VrstaA vrsta = e.Data.GetData(FROM_CANVAS) as VrstaA;

                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;
                //VrstaIkonica.ToolTip = vrsta.Ime;

                canvas.Children.Add(VrstaIkonica);

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

                return;
            }
        }