static PARAM_CFG_ARRAY& cfg_params() { static PARAM_CFG_ARRAY ca; if( !ca.size() ) { // These are KIFACE specific, they need to be loaded once when the // eeschema KIFACE comes in. #define CLR(x, y, z)\ ca.push_back( new PARAM_CFG_SETCOLOR( true, wxT( x ), &s_layerColor[y], z ) ); CLR( "ColorWireEx", LAYER_WIRE, GREEN ) CLR( "ColorBusEx", LAYER_BUS, BLUE ) CLR( "ColorConnEx", LAYER_JUNCTION, GREEN ) CLR( "ColorLLabelEx", LAYER_LOCLABEL, BLACK ) CLR( "ColorHLabelEx", LAYER_HIERLABEL, BROWN ) CLR( "ColorGLabelEx", LAYER_GLOBLABEL, RED ) CLR( "ColorPinNumEx", LAYER_PINNUM, RED ) CLR( "ColorPinNameEx", LAYER_PINNAM, CYAN ) CLR( "ColorFieldEx", LAYER_FIELDS, MAGENTA ) CLR( "ColorReferenceEx", LAYER_REFERENCEPART, CYAN ) CLR( "ColorValueEx", LAYER_VALUEPART, CYAN ) CLR( "ColorNoteEx", LAYER_NOTES, LIGHTBLUE ) CLR( "ColorBodyEx", LAYER_DEVICE, RED ) CLR( "ColorBodyBgEx", LAYER_DEVICE_BACKGROUND,LIGHTYELLOW ) CLR( "ColorNetNameEx", LAYER_NETNAM, DARKGRAY ) CLR( "ColorPinEx", LAYER_PIN, RED ) CLR( "ColorSheetEx", LAYER_SHEET, MAGENTA ) CLR( "ColorSheetFileNameEx", LAYER_SHEETFILENAME, BROWN ) CLR( "ColorSheetNameEx", LAYER_SHEETNAME, CYAN ) CLR( "ColorSheetLabelEx", LAYER_SHEETLABEL, BROWN ) CLR( "ColorNoConnectEx", LAYER_NOCONNECT, BLUE ) CLR( "ColorErcWEx", LAYER_ERC_WARN, GREEN ) CLR( "ColorErcEEx", LAYER_ERC_ERR, RED ) CLR( "ColorGridEx", LAYER_GRID, DARKGRAY ) CLR( "ColorBgCanvasEx", LAYER_BACKGROUND, WHITE ) } return ca; }
void EDA_APP::SaveCurrentSetupValues( const PARAM_CFG_ARRAY& List ) { if( m_settings == NULL ) return; unsigned count = List.size(); for( unsigned i=0; i<count; ++i ) { const PARAM_CFG_BASE& param = List[i]; if( param.m_Setup == false ) continue; if( param.m_Type == PARAM_COMMAND_ERASE ) // Erase all data { if( param.m_Ident ) m_settings->DeleteGroup( param.m_Ident ); } else { param.SaveParam( m_settings ); } } }