Example #1
0
        //------------------------------------------------------------------------
        private void m_menuAddAPoint_Click(object sender, EventArgs e)
        {
            object          tag     = m_currentSelectedMapItem != null ? m_currentSelectedMapItem.Tag : null;
            CGPSLineSegment segment = tag as CGPSLineSegment;

            if (segment != null)
            {
                segment.DiviseSegment();
                TreeNode node = m_arbreCartographie.SelectedNode;
                node = GetNodeIElementDeGpsCarte(node);
                if (node != null)
                {
                    IElementDeGPSCarte elt = node.Tag as IElementDeGPSCarte;
                    if (elt != null)
                    {
                        foreach (IMapItem item in elt.FindMapItems(m_mapDatabase))
                        {
                            item.Layer.RemoveItem(item);
                            m_wndMap.DeleteItem(item);
                        }
                        foreach (IMapItem item in elt.CreateMapItems(m_mapDatabase.GetLayer(m_carteEditee.IdUniversel)))
                        {
                            m_wndMap.AddMapItem(item);
                        }
                        FillNodeFromObjet(node, elt);
                        DisplayItemProperties(node);
                    }
                }
            }
        }
Example #2
0
 //------------------------------------------------------------------------
 private void MouseDownAddLine(EarthMouseEventArgs args)
 {
     args.IsProcessed = true;
     if (args.Buttons == System.Windows.Forms.MouseButtons.Left)
     {
         if (m_lineEnCoursEdition == null)
         {
             m_lineEnCoursEdition = new CGPSLine(m_carteEditee.ContexteDonnee);
             m_lineEnCoursEdition.CreateNewInCurrentContexte();
             m_lineEnCoursEdition.Libelle = I.T("New line|20056");
             m_lineEnCoursEdition.Carte   = m_carteEditee;
             CGPSLineTrace trace = m_lineEnCoursEdition.DetailLigne;
             trace.PointDepart = new SLatLong(args.Latitude, args.Longitude);
             TreeNode node = new TreeNode();
             FillNode(node, m_lineEnCoursEdition);
             m_arbreCartographie.Nodes[0].Nodes.Add(node);
             m_arbreCartographie.SelectedNode = node;
             m_wndMap.ShowMouseMarker(args.Latitude, args.Longitude);
         }
         else
         {
             CGPSLineSegment segment = new CGPSLineSegment(m_lineEnCoursEdition.DetailLigne);
             segment.PointDestination = new SLatLong(args.Latitude, args.Longitude);
             CGPSLineTrace trace = m_lineEnCoursEdition.DetailLigne;
             if (trace.Segments.Count() > 0)
             {
                 CGPSLineSegment lastSeg = trace.Segments.ElementAt(trace.Segments.Count() - 1);
                 segment.Width   = lastSeg.Width;
                 segment.Couleur = lastSeg.Couleur;
             }
             m_wndMap.ShowMouseMarker(args.Latitude, args.Longitude);
             trace.AddSegment(segment);
             foreach (IMapItem item in m_lineEnCoursEdition.FindMapItems(m_mapDatabase))
             {
                 item.Layer.RemoveItem(item);
                 m_wndMap.DeleteItem(item);
             }
             foreach (IMapItem item in m_lineEnCoursEdition.CreateMapItems(m_mapDatabase.GetLayer(m_carteEditee.IdUniversel, true)))
             {
                 m_wndMap.AddMapItem(item);
             }
             TreeNode node = FindNode(m_lineEnCoursEdition);
             if (node != null)
             {
                 FillNode(node, m_lineEnCoursEdition);
             }
             node = FindNode(segment);
             if (node != null)
             {
                 m_arbreCartographie.SelectedNode = node;
             }
         }
     }
 }
Example #3
0
 private static void FillNode(TreeNode nodeSegment, CGPSLineSegment segment)
 {
     nodeSegment.Text = segment.Libelle.Length == 0 ? I.T("Segment|20053") : segment.Libelle;
     if (segment.TypeLigne != null)
     {
         nodeSegment.Text += "(" + segment.TypeLigne.Libelle + ")";
     }
     nodeSegment.ImageIndex = nodeSegment.SelectedImageIndex = 3;
     nodeSegment.Tag        = segment;
     nodeSegment.BackColor  = segment.Couleur;
     nodeSegment.ForeColor  = CUtilCouleur.GetCouleurVisibleSur(segment.Couleur);
 }
 public void Init(object item)
 {
     m_bIsInInit    = true;
     m_segmentEdite = item as CGPSLineSegment;
     m_txtTypeLigne.Init(typeof(CGPSTypeLigne), "Libelle", false);
     if (m_segmentEdite == null)
     {
         Visible = false;
     }
     else
     {
         RefreshData();
     }
     m_bIsInInit = false;
 }