public void LoadDDF( DataDefinitionFile ddf )
 {
     _catalog = new CatalogDirectory( ddf );
     foreach( var entry in _catalog.Entries.OrderBy(e => e.Contents))
     {
         ListViewItem item = new ListViewItem();
         item.Text = entry.FileName;
         item.SubItems.Add( new ListViewItem.ListViewSubItem( item, entry.Contents ) );
         listView1.Items.Add( item );
     }
 }
 public CatalogDirectory( DataDefinitionFile ddf )
 {
     if( ddf.DescriptiveRecord.Directories.Last().Tag == DirectoryDataType.CATD )
     {
         Entries = ddf.DataRecords[ 0 ].Rows.Select( row => new CatalogDirectoryEntry( row ) ).ToList();
         var xref = Entries.First( entry => entry.Type == "XREF" );
         var directory = xref.File.DescriptiveRecord.Directories.OfType<DDRDirectoryEntry>().First( dir => dir.Type == DDRDirectoryEntryType.FieldList );
         var projCol = directory.SubFields.IndexOf( directory.SubFields.First( field => field.Name == "RSNM" ) );
         var projection = xref.File.DataRecords[ 0 ].Rows[ 0 ].Fields[projCol].AsString;
         if( projection.ToUpper() == "UTM" )
         {
             var zoneCol = directory.SubFields.IndexOf( directory.SubFields.First( field => field.Name == "ZONE" ) );
             Projection = new UTM( int.Parse(xref.File.DataRecords[ 0 ].Rows[ 0 ].Fields[ zoneCol ].AsString) );
         }
     }
 }
        public static DataDefinitionFile FromFile( string path )
        {
            var ddf = new DataDefinitionFile();
            using( FileStream stream = new FileStream( path, FileMode.Open ) )
            {
                using( var reader = new BinaryReader( stream ) )
                {
                    ddf.DescriptiveRecord = DataDescriptiveRecord.FromStream( reader );

                    ddf.DataRecords = new List<DataRecord>();
                    while( reader.PeekChar() != -1)
                    {
                        ddf.DataRecords.Add( DataRecord.FromStream( ddf.DescriptiveRecord, reader ) );
                    }
                }
                stream.Close();
            }
            return ddf;
        }
Example #4
0
        public bool LoadDDF( DataDefinitionFile ddf )
        {
            listView1.Columns.Clear();
            if (ddf.DescriptiveRecord.Directories.OfType<DDRDirectoryEntry>().Any(dir => dir.Type == DDRDirectoryEntryType.ArrayFieldList))
            {
                MessageBox.Show( "This file contains multiple value fields, which are not supported in generic mode at this time." );
                return false;
            }

            IEnumerable<DDRDirectoryEntry> directories = ddf.DescriptiveRecord.Directories.OfType<DDRDirectoryEntry>().Where( dir => dir.Type == DDRDirectoryEntryType.FieldList );
            IEnumerable<DataField> colDefs = directories.SelectMany( dir => dir.SubFields );
            foreach (var col in colDefs)
            {
                listView1.Columns.Add( new ColumnHeader { Name = col.Name, Text = col.Name } );
            }
            foreach( var row in ddf.DataRecords.SelectMany(dr => dr.Rows) )
            {
                listView1.Items.Add( new ListViewItem( row.Fields.Select( field => field.AsString ).ToArray() ) );
            }
            return true;
        }
Example #5
0
 public LineSet( DataDefinitionFile ddf )
 {
     Lines = new List<Line>();
     foreach( var record in ddf.DataRecords)
     {
         foreach (var row in record.Rows)
         {
             Lines.Add( new Line( row ) );
         }
     }
 }
Example #6
0
 public void LoadLineSet( DataDefinitionFile ddf )
 {
     _lineSet = new LineSet( ddf );
 }
Example #7
0
 private void LoadLineSetPanelTab( DataDefinitionFile ddf )
 {
     EnsureTabControl();
     TabPage tab = new TabPage( ddf.DescriptiveRecord.Filename );
     LineSetPanel panel = new LineSetPanel { Dock = DockStyle.Fill };
     panel.LoadLineSet( ddf );
     tab.Controls.Add( panel );
     mainTabControl.TabPages.Add( tab );
     mainTabControl.SelectedTab = tab;
 }
Example #8
0
 private void LoadGenericPanel( DataDefinitionFile ddf )
 {
     EnsureTabControl();
     TabPage tab = new TabPage( ddf.DescriptiveRecord.Filename );
     var panel = new GenericPanel { Dock = DockStyle.Fill };
     if (panel.LoadDDF( ddf ))
     {
         tab.Controls.Add( panel );
         mainTabControl.TabPages.Add( tab );
         mainTabControl.SelectedTab = tab;
     }
 }
Example #9
0
 private void LoadCatalogDirectoryPanel( DataDefinitionFile ddf )
 {
     EnsureTabControl();
     TabPage tab = new TabPage( ddf.DescriptiveRecord.Filename );
     CatalogDirectoryPanel panel = new CatalogDirectoryPanel { Dock = DockStyle.Fill };
     panel.OpenSDTSFile += new OpenSDTSFileHandler( panel_OpenSDTSFile );
     panel.LoadDDF( ddf );
     tab.Controls.Add( panel );
     mainTabControl.TabPages.Add( tab );
     mainTabControl.SelectedTab = tab;
 }