Example #1
0
        /// <summary>
        /// Adds layer to Grid canvas
        /// </summary>
        public void AddLayer()
        {
            m_LayerIndex++;

            ///Creating layer
            GridLayer layer = new GridLayer("Layer " + m_LayerIndex.ToString());

            AddGridLayer(layer);

            double widthHeight = m_GridCanvas.Width / m_GridWidth;

            //Loop indexes
            int xStep = -1;
            int yStep = 0;

            int size = m_GridWidth * m_GridHeight;

            for (int i = 0; i < size; i++)
            {
                //Creation of grid elememnt
                GridElement element = new GridElement();

                //Setting of various grid element variables
                element.m_GridID    = i;
                element.m_ID        = -1;
                element.m_GridLayer = m_LayerIndex;

                element.m_Image             = new Image();
                element.m_Image.Stretch     = Stretch.Fill;
                element.m_Image.Width       = widthHeight;
                element.m_Image.Height      = widthHeight;
                element.m_Image.MouseEnter += new MouseEventHandler(m_PaintManager.GridElementMouseOver);
                element.m_Image.MouseDown  += new MouseButtonEventHandler(m_PaintManager.GridElementMouseOver);

                xStep++;

                //Handling of correct spacing of loop indexes
                if (xStep > m_GridWidth - 1)
                {
                    xStep = 0;
                    yStep++;
                }

                //Setting image position in grid canvas
                Canvas.SetLeft(element.m_Image, 0 + (widthHeight * xStep));
                Canvas.SetTop(element.m_Image, 0 + (widthHeight * yStep));

                m_GridCanvas.Children.Add(element.m_Image);

                //Grid element position
                element.m_PositionX = Canvas.GetLeft(element.m_Image);
                element.m_PositionY = Canvas.GetTop(element.m_Image);

                AddGridElement(element);
            }

            //Setting up stack panel
            StackPanel sp = new StackPanel();

            sp.Orientation         = Orientation.Horizontal;
            sp.HorizontalAlignment = HorizontalAlignment.Stretch;
            sp.MouseDown          += new MouseButtonEventHandler(ButtonLayerSelect);
            m_LayerSelectStackPanels.Add(sp);

            //Setting up layer label
            Label layerButton = new Label();

            layerButton.Content = layer.m_Name;

            //Setting up layer visibility image
            Image       layerVisibleImage  = new Image();
            BitmapImage layerVisibleBitmap = new BitmapImage(new Uri("pack://application:,,,/Resources/LayerVisible.png", UriKind.Absolute));

            layerVisibleImage.Width      = 15;
            layerVisibleImage.Height     = 15;
            layerVisibleImage.Source     = layerVisibleBitmap;
            layerVisibleImage.Stretch    = Stretch.Fill;
            layerVisibleImage.MouseDown += new MouseButtonEventHandler(ButtonLayerVisibilityClick);
            m_LayerVisibilityImages.Add(layerVisibleImage);

            //Adding to stackpanel
            sp.Children.Add(layerButton);
            sp.Children.Add(layerVisibleImage);
            m_GridLayerStackPanel.Children.Add(sp);

            VisuallyActivateGridLayer(m_LayerIndex);
        }
Example #2
0
 /// <summary>
 /// Adds a grid layer
 /// </summary>
 /// <param name="layer">Name for the GridLayer to set</param>
 /// <returns></returns>
 public GridLayer AddGridLayer(GridLayer layer)
 {
     m_GridLayers.Add(layer);
     return(layer);
 }