示例#1
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;
             }
         }
     }
 }
示例#2
0
 public void Init(object item)
 {
     m_bIsInInit   = true;
     m_ligneEditee = item as CGPSLine;
     m_txtTypeLigne.Init(typeof(CGPSTypeLigne), "Libelle", false);
     if (m_ligneEditee == null)
     {
         Visible = false;
     }
     else
     {
         RefreshData();
     }
     m_bIsInInit = false;
 }
示例#3
0
        //------------------------------------------------------------------------
        private void FillNode(TreeNode node, CGPSLine line)
        {
            m_bIsFillingTree = true;
            node.Nodes.Clear();
            node.Text               = line.Libelle;
            node.ImageIndex         = 2;
            node.SelectedImageIndex = 2;
            node.Tag = line;
            CGPSLineTrace trace  = line.DetailLigne;
            int           nIndex = 1;

            foreach (CGPSLineSegment segment in trace.Segments)
            {
                TreeNode nodeSegment = new TreeNode();
                FillNode(nodeSegment, segment);
                node.Nodes.Add(nodeSegment);
            }
            m_bIsFillingTree = false;
        }
示例#4
0
 //------------------------------------------------------------------------
 private void EndLineEnCours()
 {
     if (m_lineEnCoursEdition != null)
     {
         foreach (IMapItem item in m_lineEnCoursEdition.FindMapItems(m_mapDatabase))
         {
             item.Layer.RemoveItem(item);
             m_wndMap.DeleteItem(item);
         }
         m_lineEnCoursEdition.DetailLigne = m_lineEnCoursEdition.DetailLigne;
         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)
         {
             FillNodeFromObjet(node, m_lineEnCoursEdition);
         }
         m_lineEnCoursEdition = null;
         m_wndMap.HideMouseMarker();
     }
 }