eeschema-gal: configurable worksheet & grid colors
This commit is contained in:
parent
5f7c923b8b
commit
d8b9899516
|
@ -169,11 +169,11 @@ PGM_BASE& Pgm()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static COLOR4D s_layerColor[SCH_LAYER_ID_COUNT];
|
static COLOR4D s_layerColor[LAYER_ID_COUNT];
|
||||||
|
|
||||||
COLOR4D GetLayerColor( SCH_LAYER_ID aLayer )
|
COLOR4D GetLayerColor( SCH_LAYER_ID aLayer )
|
||||||
{
|
{
|
||||||
unsigned layer = SCH_LAYER_INDEX( aLayer );
|
unsigned layer = ( aLayer );
|
||||||
wxASSERT( layer < DIM( s_layerColor ) );
|
wxASSERT( layer < DIM( s_layerColor ) );
|
||||||
return s_layerColor[layer];
|
return s_layerColor[layer];
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ void SetLayerColor( COLOR4D aColor, SCH_LAYER_ID aLayer )
|
||||||
if( aColor == COLOR4D::WHITE && aLayer != LAYER_SCHEMATIC_BACKGROUND )
|
if( aColor == COLOR4D::WHITE && aLayer != LAYER_SCHEMATIC_BACKGROUND )
|
||||||
aColor.Darken( 0.01 );
|
aColor.Darken( 0.01 );
|
||||||
|
|
||||||
unsigned layer = SCH_LAYER_INDEX( aLayer );
|
unsigned layer = aLayer;
|
||||||
wxASSERT( layer < DIM( s_layerColor ) );
|
wxASSERT( layer < DIM( s_layerColor ) );
|
||||||
s_layerColor[layer] = aColor;
|
s_layerColor[layer] = aColor;
|
||||||
}
|
}
|
||||||
|
@ -203,7 +203,7 @@ static PARAM_CFG_ARRAY& cfg_params()
|
||||||
|
|
||||||
#define CLR(x, y, z)\
|
#define CLR(x, y, z)\
|
||||||
ca.push_back( new PARAM_CFG_SETCOLOR( true, wxT( x ),\
|
ca.push_back( new PARAM_CFG_SETCOLOR( true, wxT( x ),\
|
||||||
&s_layerColor[SCH_LAYER_INDEX( y )], z ) );
|
&s_layerColor[( y )], z ) );
|
||||||
|
|
||||||
CLR( "Color4DWireEx", LAYER_WIRE, COLOR4D( GREEN ) )
|
CLR( "Color4DWireEx", LAYER_WIRE, COLOR4D( GREEN ) )
|
||||||
CLR( "Color4DBusEx", LAYER_BUS, COLOR4D( BLUE ) )
|
CLR( "Color4DBusEx", LAYER_BUS, COLOR4D( BLUE ) )
|
||||||
|
@ -231,6 +231,8 @@ static PARAM_CFG_ARRAY& cfg_params()
|
||||||
CLR( "Color4DGridEx", LAYER_SCHEMATIC_GRID, COLOR4D( DARKGRAY ) )
|
CLR( "Color4DGridEx", LAYER_SCHEMATIC_GRID, COLOR4D( DARKGRAY ) )
|
||||||
CLR( "Color4DBgCanvasEx", LAYER_SCHEMATIC_BACKGROUND, COLOR4D( WHITE ) )
|
CLR( "Color4DBgCanvasEx", LAYER_SCHEMATIC_BACKGROUND, COLOR4D( WHITE ) )
|
||||||
CLR( "Color4DBrightenedEx", LAYER_BRIGHTENED, COLOR4D( PUREMAGENTA ) )
|
CLR( "Color4DBrightenedEx", LAYER_BRIGHTENED, COLOR4D( PUREMAGENTA ) )
|
||||||
|
CLR( "Color4DWorksheetEx", LAYER_WORKSHEET, COLOR4D( RED ) )
|
||||||
|
CLR( "Color4DGridEx", LAYER_GRID, COLOR4D( DARKGRAY ) )
|
||||||
}
|
}
|
||||||
|
|
||||||
return ca;
|
return ca;
|
||||||
|
|
|
@ -86,6 +86,11 @@ void SCH_RENDER_SETTINGS::ImportLegacyColors( const COLORS_DESIGN_SETTINGS* aSet
|
||||||
m_layerColors[ layer ] = ::GetLayerColor( static_cast<SCH_LAYER_ID>( layer ) );
|
m_layerColors[ layer ] = ::GetLayerColor( static_cast<SCH_LAYER_ID>( layer ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for( int layer = GAL_LAYER_ID_START; layer < GAL_LAYER_ID_END; layer ++)
|
||||||
|
{
|
||||||
|
m_layerColors[ layer ] = ::GetLayerColor( static_cast<SCH_LAYER_ID>( layer ) );
|
||||||
|
}
|
||||||
|
|
||||||
m_backgroundColor = ::GetLayerColor( LAYER_SCHEMATIC_BACKGROUND );
|
m_backgroundColor = ::GetLayerColor( LAYER_SCHEMATIC_BACKGROUND );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ static BUTTONINDEX buttonGroups[] = {
|
||||||
|
|
||||||
static COLORBUTTON bgColorButton = { "", LAYER_SCHEMATIC_BACKGROUND };
|
static COLORBUTTON bgColorButton = { "", LAYER_SCHEMATIC_BACKGROUND };
|
||||||
|
|
||||||
static COLOR4D currentColors[ SCH_LAYER_ID_COUNT ];
|
static COLOR4D currentColors[ LAYER_ID_COUNT ];
|
||||||
|
|
||||||
|
|
||||||
WIDGET_EESCHEMA_COLOR_CONFIG::WIDGET_EESCHEMA_COLOR_CONFIG( wxWindow* aParent, EDA_DRAW_FRAME* aDrawFrame ) :
|
WIDGET_EESCHEMA_COLOR_CONFIG::WIDGET_EESCHEMA_COLOR_CONFIG( wxWindow* aParent, EDA_DRAW_FRAME* aDrawFrame ) :
|
||||||
|
@ -155,7 +155,7 @@ void WIDGET_EESCHEMA_COLOR_CONFIG::CreateControls()
|
||||||
columnBoxSizer->Add( rowBoxSizer, 0, wxGROW | wxALL, 0 );
|
columnBoxSizer->Add( rowBoxSizer, 0, wxGROW | wxALL, 0 );
|
||||||
|
|
||||||
COLOR4D color = GetLayerColor( SCH_LAYER_ID( buttons->m_Layer ) );
|
COLOR4D color = GetLayerColor( SCH_LAYER_ID( buttons->m_Layer ) );
|
||||||
currentColors[ SCH_LAYER_INDEX( buttons->m_Layer ) ] = color;
|
currentColors[ buttons->m_Layer ] = color;
|
||||||
|
|
||||||
wxMemoryDC iconDC;
|
wxMemoryDC iconDC;
|
||||||
wxBitmap bitmap( m_butt_size_pix );
|
wxBitmap bitmap( m_butt_size_pix );
|
||||||
|
@ -220,7 +220,7 @@ void WIDGET_EESCHEMA_COLOR_CONFIG::CreateControls()
|
||||||
columnBoxSizer->Add( selBgColorBtn, 1, wxRIGHT | wxBOTTOM, 5 );
|
columnBoxSizer->Add( selBgColorBtn, 1, wxRIGHT | wxBOTTOM, 5 );
|
||||||
}
|
}
|
||||||
|
|
||||||
currentColors[ SCH_LAYER_INDEX( LAYER_SCHEMATIC_BACKGROUND ) ] = bgColor;
|
currentColors[ LAYER_SCHEMATIC_BACKGROUND ] = bgColor;
|
||||||
|
|
||||||
// Dialog now needs to be resized, but the associated command is found elsewhere.
|
// Dialog now needs to be resized, but the associated command is found elsewhere.
|
||||||
}
|
}
|
||||||
|
@ -235,7 +235,7 @@ void WIDGET_EESCHEMA_COLOR_CONFIG::SetColor( wxCommandEvent& event )
|
||||||
COLORBUTTON* colorButton = (COLORBUTTON*) button->GetClientData();
|
COLORBUTTON* colorButton = (COLORBUTTON*) button->GetClientData();
|
||||||
|
|
||||||
wxCHECK_RET( colorButton != NULL, wxT( "Client data not set for color button." ) );
|
wxCHECK_RET( colorButton != NULL, wxT( "Client data not set for color button." ) );
|
||||||
COLOR4D oldColor = currentColors[ SCH_LAYER_INDEX( colorButton->m_Layer ) ];
|
COLOR4D oldColor = currentColors[ colorButton->m_Layer ];
|
||||||
COLOR4D newColor = COLOR4D::UNSPECIFIED;
|
COLOR4D newColor = COLOR4D::UNSPECIFIED;
|
||||||
DIALOG_COLOR_PICKER dialog( this, oldColor, false );
|
DIALOG_COLOR_PICKER dialog( this, oldColor, false );
|
||||||
|
|
||||||
|
@ -247,7 +247,7 @@ void WIDGET_EESCHEMA_COLOR_CONFIG::SetColor( wxCommandEvent& event )
|
||||||
if( newColor == COLOR4D::UNSPECIFIED || oldColor == newColor )
|
if( newColor == COLOR4D::UNSPECIFIED || oldColor == newColor )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
currentColors[ SCH_LAYER_INDEX( colorButton->m_Layer ) ] = newColor;
|
currentColors[ colorButton->m_Layer ] = newColor;
|
||||||
|
|
||||||
wxMemoryDC iconDC;
|
wxMemoryDC iconDC;
|
||||||
|
|
||||||
|
@ -275,11 +275,11 @@ bool WIDGET_EESCHEMA_COLOR_CONFIG::TransferDataFromControl()
|
||||||
// Check for color conflicts with background color to give user a chance to bail
|
// Check for color conflicts with background color to give user a chance to bail
|
||||||
// out before making changes.
|
// out before making changes.
|
||||||
|
|
||||||
COLOR4D bgcolor = currentColors[ SCH_LAYER_INDEX( LAYER_SCHEMATIC_BACKGROUND ) ];
|
COLOR4D bgcolor = currentColors[ LAYER_SCHEMATIC_BACKGROUND ];
|
||||||
|
|
||||||
for( SCH_LAYER_ID clyr = LAYER_WIRE; clyr < SCH_LAYER_ID_END; ++clyr )
|
for( SCH_LAYER_ID clyr = LAYER_WIRE; clyr < SCH_LAYER_ID_END; ++clyr )
|
||||||
{
|
{
|
||||||
if( bgcolor == currentColors[ SCH_LAYER_INDEX( clyr ) ] && clyr != LAYER_SCHEMATIC_BACKGROUND )
|
if( bgcolor == currentColors[ clyr ] && clyr != LAYER_SCHEMATIC_BACKGROUND )
|
||||||
{
|
{
|
||||||
warning = true;
|
warning = true;
|
||||||
break;
|
break;
|
||||||
|
@ -300,12 +300,12 @@ bool WIDGET_EESCHEMA_COLOR_CONFIG::TransferDataFromControl()
|
||||||
|
|
||||||
// Update color of background
|
// Update color of background
|
||||||
GetDrawFrame()->SetDrawBgColor( bgcolor );
|
GetDrawFrame()->SetDrawBgColor( bgcolor );
|
||||||
currentColors[ SCH_LAYER_INDEX( LAYER_SCHEMATIC_BACKGROUND ) ] = bgcolor;
|
currentColors[ LAYER_SCHEMATIC_BACKGROUND ] = bgcolor;
|
||||||
|
|
||||||
|
|
||||||
for( SCH_LAYER_ID clyr = LAYER_WIRE; clyr < SCH_LAYER_ID_END; ++clyr )
|
for( SCH_LAYER_ID clyr = LAYER_WIRE; clyr < SCH_LAYER_ID_END; ++clyr )
|
||||||
{
|
{
|
||||||
SetLayerColor( currentColors[ SCH_LAYER_INDEX( clyr ) ], clyr );
|
SetLayerColor( currentColors[ clyr ], clyr );
|
||||||
}
|
}
|
||||||
|
|
||||||
GetDrawFrame()->SetGridColor( GetLayerColor( LAYER_SCHEMATIC_GRID ) );
|
GetDrawFrame()->SetGridColor( GetLayerColor( LAYER_SCHEMATIC_GRID ) );
|
||||||
|
|
Loading…
Reference in New Issue