D_CODE* GERBER_DRAW_ITEM::GetDcodeDescr() { if( (m_DCode < FIRST_DCODE) || (m_DCode > LAST_DCODE) ) return NULL; GERBER_IMAGE* gerber = g_GERBER_List[m_Layer]; if( gerber == NULL ) return NULL; D_CODE* d_code = gerber->GetDCODE( m_DCode, false ); return d_code; }
void GERBVIEW_FRAME::Liste_D_Codes() { int ii, jj; D_CODE* pt_D_code; wxString Line; wxArrayString list; double scale = g_UserUnit == INCHES ? IU_PER_MILS * 1000 : IU_PER_MM; int curr_layer = getActiveLayer(); for( int layer = 0; layer < GERBER_DRAWLAYERS_COUNT; ++layer ) { GERBER_IMAGE* gerber = g_GERBER_List.GetGbrImage( layer ); if( gerber == NULL ) continue; if( gerber->UsedDcodeNumber() == 0 ) continue; if( layer == curr_layer ) Line.Printf( wxT( "*** Active layer (%2.2d) ***" ), layer + 1 ); else Line.Printf( wxT( "*** layer %2.2d ***" ), layer + 1 ); list.Add( Line ); const char* units = g_UserUnit == INCHES ? "\"" : "mm"; for( ii = 0, jj = 1; ii < TOOLS_MAX_COUNT; ii++ ) { pt_D_code = gerber->GetDCODE( ii + FIRST_DCODE, false ); if( pt_D_code == NULL ) continue; if( !pt_D_code->m_InUse && !pt_D_code->m_Defined ) continue; Line.Printf( wxT( "tool %2.2d: D%2.2d V %.4f %s H %.4f %s %s " ), jj, pt_D_code->m_Num_Dcode, pt_D_code->m_Size.y / scale, units, pt_D_code->m_Size.x / scale, units, D_CODE::ShowApertureType( pt_D_code->m_Shape ) ); if( !pt_D_code->m_Defined ) Line += wxT( "(not used)" ); if( !pt_D_code->m_InUse ) Line += wxT( "(in use)" ); list.Add( Line ); jj++; } } #if wxCHECK_VERSION( 2, 9, 4 ) wxSingleChoiceDialog dlg( this, wxEmptyString, _( "D Codes" ), list, (void**) NULL, wxCHOICEDLG_STYLE & ~wxCANCEL ); #else wxSingleChoiceDialog dlg( this, wxEmptyString, _( "D Codes" ), list, (char**) NULL, wxCHOICEDLG_STYLE & ~wxCANCEL ); #endif dlg.ShowModal(); }
void GERBVIEW_FRAME::Liste_D_Codes() { int ii, jj; D_CODE* pt_D_code; wxString Line; wxArrayString list; double scale = IU_PER_MILS * 1000; int curr_layer = getActiveLayer(); for( int layer = 0; layer < 32; layer++ ) { GERBER_IMAGE* gerber = g_GERBER_List[layer]; if( gerber == NULL ) continue; if( gerber->ReturnUsedDcodeNumber() == 0 ) continue; if( layer == curr_layer ) Line.Printf( wxT( "*** Active layer (%2.2d) ***" ), layer + 1 ); else Line.Printf( wxT( "*** layer %2.2d ***" ), layer + 1 ); list.Add( Line ); for( ii = 0, jj = 1; ii < TOOLS_MAX_COUNT; ii++ ) { pt_D_code = gerber->GetDCODE( ii + FIRST_DCODE, false ); if( pt_D_code == NULL ) continue; if( !pt_D_code->m_InUse && !pt_D_code->m_Defined ) continue; Line.Printf( wxT( "tool %2.2d: D%2.2d V %2.4f H %2.4f %s" ), jj, pt_D_code->m_Num_Dcode, (float) pt_D_code->m_Size.y / scale, (float) pt_D_code->m_Size.x / scale, D_CODE::ShowApertureType( pt_D_code->m_Shape ) ); if( !pt_D_code->m_Defined ) Line += wxT( " ?" ); if( !pt_D_code->m_InUse ) Line += wxT( " *" ); list.Add( Line ); jj++; } } #if wxCHECK_VERSION( 2, 9, 4 ) wxSingleChoiceDialog dlg( this, wxEmptyString, _( "D Codes" ), list, (void**) NULL, wxCHOICEDLG_STYLE & ~wxCANCEL ); #else wxSingleChoiceDialog dlg( this, wxEmptyString, _( "D Codes" ), list, (char**) NULL, wxCHOICEDLG_STYLE & ~wxCANCEL ); #endif dlg.ShowModal(); }