void GERBER_LAYER_WIDGET::ReFill() { Freeze(); ClearLayerRows(); for( int layer = 0; layer < GERBER_DRAWLAYERS_COUNT; ++layer ) { wxString msg = GetImagesList()->GetDisplayName( layer ); bool visible = true; if( auto canvas = myframe->GetGalCanvas() ) { visible = canvas->GetView()->IsLayerVisible( GERBER_DRAW_LAYER( layer ) ); } else { visible = myframe->IsLayerVisible( layer ); } AppendLayerRow( LAYER_WIDGET::ROW( msg, layer, myframe->GetLayerColor( GERBER_DRAW_LAYER( layer ) ), wxEmptyString, visible, true ) ); } Thaw(); }
void GERBER_LAYER_WIDGET::ReFill() { Freeze(); ClearLayerRows(); for( int layer = 0; layer < GERBER_DRAWLAYERS_COUNT; ++layer ) { wxString msg = g_GERBER_List.GetDisplayName( layer ); AppendLayerRow( LAYER_WIDGET::ROW( msg, layer, myframe->GetLayerColor( layer ), wxEmptyString, true ) ); } Thaw(); installRightLayerClickHandler(); }
void PCB_LAYER_WIDGET::ReFill() { BOARD* brd = myframe->GetBoard(); LSET enabled = brd->GetEnabledLayers(); ClearLayerRows(); wxString dsc; // show all coppers first, with front on top, back on bottom, then technical layers for( LSEQ cu_stack = enabled.CuStack(); cu_stack; ++cu_stack ) { LAYER_ID layer = *cu_stack; switch( layer ) { case F_Cu: dsc = _("Front copper layer"); break; case B_Cu: dsc = _("Back copper layer"); break; default: dsc = _("Inner copper layer"); break; } AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), dsc, true ) ); } // technical layers are shown in this order: // Because they are static, wxGetTranslation must be explicitely // called for tooltips. static const struct { LAYER_ID layerId; wxString tooltip; } non_cu_seq[] = { { F_Adhes, _( "Adhesive on board's front" ) }, { B_Adhes, _( "Adhesive on board's back" ) }, { F_Paste, _( "Solder paste on board's front" ) }, { B_Paste, _( "Solder paste on board's back" ) }, { F_SilkS, _( "Silkscreen on board's front" ) }, { B_SilkS, _( "Silkscreen on board's back" ) }, { F_Mask, _( "Solder mask on board's front" ) }, { B_Mask, _( "Solder mask on board's back" ) }, { Dwgs_User, _( "Explanatory drawings" ) }, { Cmts_User, _( "Explanatory comments" ) }, { Eco1_User, _( "User defined meaning" ) }, { Eco2_User, _( "User defined meaning" ) }, { Edge_Cuts, _( "Board's perimeter definition" ) }, { Margin, _( "Board's edge setback outline" ) }, { F_CrtYd, _( "Footprint courtyards on board's front" ) }, { B_CrtYd, _( "Footprint courtyards on board's back" ) }, { F_Fab, _( "Footprint assembly on board's front" ) }, { B_Fab, _( "Footprint assembly on board's back" ) } }; for( unsigned i=0; i<DIM(non_cu_seq); ++i ) { LAYER_ID layer = non_cu_seq[i].layerId; if( !enabled[layer] ) continue; AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), wxGetTranslation( non_cu_seq[i].tooltip ), true ) ); } installRightLayerClickHandler(); }
void PCB_LAYER_WIDGET::ReFill() { BOARD* brd = myframe->GetBoard(); int enabledLayers = brd->GetEnabledLayers(); ClearLayerRows(); // show all coppers first, with front on top, back on bottom, then technical layers for( LAYER_NUM layer = LAYER_N_FRONT; layer >= FIRST_LAYER; --layer ) { if( enabledLayers & GetLayerMask( layer ) ) { wxString dsc; switch( layer ) { case LAYER_N_FRONT: dsc = _("Front copper layer"); break; case LAYER_N_BACK: dsc = _("Back copper layer"); break; default: dsc = _("Inner copper layer"); break; } AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), dsc, true ) ); } } // technical layers are shown in this order: // Because they are static, wxGetTranslation must be explicitely // called for tooltips. static const struct { LAYER_NUM layerId; wxString tooltip; } techLayerSeq[] = { { ADHESIVE_N_FRONT, _( "Adhesive on board's front" ) }, { ADHESIVE_N_BACK, _( "Adhesive on board's back" ) }, { SOLDERPASTE_N_FRONT, _( "Solder paste on board's front" )}, { SOLDERPASTE_N_BACK, _( "Solder paste on board's back" ) }, { SILKSCREEN_N_FRONT, _( "Silkscreen on board's front" ) }, { SILKSCREEN_N_BACK, _( "Silkscreen on board's back" ) }, { SOLDERMASK_N_FRONT, _( "Solder mask on board's front" ) }, { SOLDERMASK_N_BACK, _( "Solder mask on board's back" ) }, { DRAW_N, _( "Explanatory drawings" ) }, { COMMENT_N, _( "Explanatory comments" ) }, { ECO1_N, _( "User defined meaning" ) }, { ECO2_N, _( "User defined meaning" ) }, { EDGE_N, _( "Board's perimeter definition" ) }, }; for( unsigned i=0; i<DIM(techLayerSeq); ++i ) { LAYER_NUM layer = techLayerSeq[i].layerId; if( !(enabledLayers & GetLayerMask( layer )) ) continue; AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), wxGetTranslation( techLayerSeq[i].tooltip ), true ) ); } installRightLayerClickHandler(); }
void PCB_LAYER_WIDGET::ReFill() { BOARD* brd = myframe->GetBoard(); int layer; int enabledLayers = brd->GetEnabledLayers(); // m_Layers->Freeze(); // no screen updates until done modifying ClearLayerRows(); // show all coppers first, with front on top, back on bottom, then technical layers layer = LAYER_N_FRONT; if( enabledLayers & (1 << layer) ) { AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), _("Front copper layer"), true ) ); } for( layer = LAYER_N_FRONT-1; layer >= 1; --layer ) { if( enabledLayers & (1 << layer) ) { AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), _("An innner copper layer"), true ) ); } } layer = LAYER_N_BACK; if( enabledLayers & (1 << layer) ) { AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), _("Back copper layer"), true ) ); } // technical layers are shown in this order: static const struct { int layerId; wxString tooltip; } techLayerSeq[] = { { ADHESIVE_N_FRONT, _( "Adhesive on board's front" ) }, { ADHESIVE_N_BACK, _( "Adhesive on board's back" ) }, { SOLDERPASTE_N_FRONT, _( "Solder paste on board's front" )}, { SOLDERPASTE_N_BACK, _( "Solder paste on board's back" ) }, { SILKSCREEN_N_FRONT, _( "Silkscreen on board's front" ) }, { SILKSCREEN_N_BACK, _( "Silkscreen on board's back" ) }, { SOLDERMASK_N_FRONT, _( "Solder mask on board's front" ) }, { SOLDERMASK_N_BACK, _( "Solder mask on board's back" ) }, { DRAW_N, _( "Explanatory drawings" ) }, { COMMENT_N, _( "Explanatory comments" ) }, { ECO1_N, _( "TDB" ) }, { ECO2_N, _( "TBD" ) }, { EDGE_N, _( "Board's perimeter definition" ) }, }; for( unsigned i=0; i<DIM(techLayerSeq); ++i ) { layer = techLayerSeq[i].layerId; if( !(enabledLayers & (1 << layer)) ) continue; AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), techLayerSeq[i].tooltip, true ) ); } installRightLayerClickHandler(); // m_Layers->Thaw(); }
void PCB_LAYER_WIDGET::ReFill() { BOARD* brd = myframe->GetBoard(); LSET enabled = brd->GetEnabledLayers(); ClearLayerRows(); wxString dsc; // show all coppers first, with front on top, back on bottom, then technical layers for( LSEQ cu_stack = enabled.CuStack(); cu_stack; ++cu_stack ) { PCB_LAYER_ID layer = *cu_stack; switch( layer ) { case F_Cu: dsc = _( "Front copper layer" ); break; case B_Cu: dsc = _( "Back copper layer" ); break; default: dsc = _( "Inner copper layer" ); break; } AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, myframe->Settings().Colors().GetLayerColor( layer ), dsc, true ) ); if( m_fp_editor_mode && LSET::ForbiddenFootprintLayers().test( layer ) ) { getLayerComp( GetLayerRowCount()-1, COLUMN_COLOR_LYRNAME )->Enable( false ); getLayerComp( GetLayerRowCount()-1, COLUMN_COLORBM )->SetToolTip( wxEmptyString ); } } UpdateLayouts(); // technical layers are shown in this order: // Because they are static, wxGetTranslation must be explicitly // called for tooltips. static const struct { PCB_LAYER_ID layerId; wxString tooltip; } non_cu_seq[] = { { F_Adhes, _( "Adhesive on board's front" ) }, { B_Adhes, _( "Adhesive on board's back" ) }, { F_Paste, _( "Solder paste on board's front" ) }, { B_Paste, _( "Solder paste on board's back" ) }, { F_SilkS, _( "Silkscreen on board's front" ) }, { B_SilkS, _( "Silkscreen on board's back" ) }, { F_Mask, _( "Solder mask on board's front" ) }, { B_Mask, _( "Solder mask on board's back" ) }, { Dwgs_User, _( "Explanatory drawings" ) }, { Cmts_User, _( "Explanatory comments" ) }, { Eco1_User, _( "User defined meaning" ) }, { Eco2_User, _( "User defined meaning" ) }, { Edge_Cuts, _( "Board's perimeter definition" ) }, { Margin, _( "Board's edge setback outline" ) }, { F_CrtYd, _( "Footprint courtyards on board's front" ) }, { B_CrtYd, _( "Footprint courtyards on board's back" ) }, { F_Fab, _( "Footprint assembly on board's front" ) }, { B_Fab, _( "Footprint assembly on board's back" ) } }; for( unsigned i=0; i<arrayDim( non_cu_seq ); ++i ) { PCB_LAYER_ID layer = non_cu_seq[i].layerId; if( !enabled[layer] ) continue; AppendLayerRow( LAYER_WIDGET::ROW( brd->GetLayerName( layer ), layer, myframe->Settings().Colors().GetLayerColor( layer ), wxGetTranslation( non_cu_seq[i].tooltip ), true ) ); if( m_fp_editor_mode && LSET::ForbiddenFootprintLayers().test( layer ) ) { getLayerComp( GetLayerRowCount()-1, COLUMN_COLOR_LYRNAME )->Enable( false ); getLayerComp( GetLayerRowCount()-1, COLUMN_COLORBM )->SetToolTip( wxEmptyString ); } } }