572 lines
17 KiB
C++
572 lines
17 KiB
C++
/***************/
|
|
/* set_color.h */
|
|
/***************/
|
|
|
|
#ifndef SET_COLOR_H
|
|
#define SET_COLOR_H
|
|
|
|
#include "wx/statline.h"
|
|
|
|
class wxBoxSizer;
|
|
class wxFlexGridSizer;
|
|
class wxStaticLine;
|
|
class wxStdDialogButtonSizer;
|
|
|
|
// variable used to handle grid visibility:
|
|
extern bool s_showGrid;
|
|
|
|
// Specify how many elements are contained within laytool_list[]
|
|
const int NB_BUTT = 43;
|
|
|
|
// Specify how many elements are contained within laytool_index[]
|
|
const int BUTTON_GROUPS = 3;
|
|
|
|
// Specify the numbers associated with assorted controls
|
|
enum col_sel_id {
|
|
ID_DIALOG = 1800,
|
|
ID_COLOR_RESET_SHOW_LAYER_ON,
|
|
ID_COLOR_RESET_SHOW_LAYER_OFF,
|
|
ID_COLOR_CHECKBOX_ONOFF,
|
|
ID_COLOR_SETUP
|
|
};
|
|
|
|
// Control identifiers
|
|
// #define SYMBOL_WINEDA_SETCOLORSFRAME_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
|
|
#define SYMBOL_WINEDA_SETCOLORSFRAME_STYLE wxDEFAULT_DIALOG_STYLE|MAYBE_RESIZE_BORDER
|
|
#define SYMBOL_WINEDA_SETCOLORSFRAME_TITLE _("Pcbnew Layer Colors:")
|
|
#define SYMBOL_WINEDA_SETCOLORSFRAME_IDNAME ID_DIALOG
|
|
// #define SYMBOL_WINEDA_SETCOLORSFRAME_SIZE wxSize(400, 300)
|
|
// #define SYMBOL_WINEDA_SETCOLORSFRAME_POSITION wxDefaultPosition
|
|
|
|
#ifndef wxCLOSE_BOX
|
|
#define wxCLOSE_BOX 0x1000
|
|
#endif
|
|
|
|
// Specify the width and height of every (color-displaying / bitmap) button
|
|
const int BUTT_SIZE_X = 25;
|
|
const int BUTT_SIZE_Y = 20;
|
|
|
|
/* Macro utile : */
|
|
#define ADR( numlayer ) &g_DesignSettings.m_LayerColor[(numlayer)]
|
|
|
|
|
|
/**********************************/
|
|
/* Liste des menus de Menu_Layers */
|
|
/**********************************/
|
|
|
|
enum button_types
|
|
{
|
|
type_layer,
|
|
type_via,
|
|
type_element,
|
|
type_visual
|
|
};
|
|
|
|
|
|
struct ColorButton
|
|
{
|
|
int m_Type; ///
|
|
const wxString m_Title;
|
|
int m_LayerNumber;
|
|
int* m_Color; ///< pointer to color variable to manipulate
|
|
bool* m_NoDisplay; ///< pointer to the on/off display control variable, if it is not the color variable
|
|
|
|
int m_Id;
|
|
wxBitmapButton* m_Button;
|
|
// int m_State; // (Commented out until when it is actually used.)
|
|
wxCheckBox* m_CheckBox; ///< Display ON/OFF toggle
|
|
};
|
|
|
|
struct ButtonIndex
|
|
{
|
|
wxString m_Name; // Title
|
|
int m_Index; // Index to last bitmap button in group
|
|
};
|
|
|
|
|
|
static ButtonIndex Msg_Layers_Cu =
|
|
{
|
|
_( "Copper Layers" ), // Title
|
|
15 // Index to last bitmap button in group
|
|
};
|
|
|
|
static ColorButton Layer_1_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
COPPER_LAYER_N, // Layer
|
|
ADR( COPPER_LAYER_N ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_2_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
1, // Layer
|
|
ADR( 1 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_3_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
2, // Layer
|
|
ADR( 2 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_4_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
3, // Layer
|
|
ADR( 3 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_5_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
4, // Layer
|
|
ADR( 4 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_6_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
5, // Layer
|
|
ADR( 5 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_7_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
6, // Layer
|
|
ADR( 6 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_8_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
7, // Layer
|
|
ADR( 7 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_9_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
8, // Layer
|
|
ADR( 8 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_10_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
9, // Layer
|
|
ADR( 9 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_11_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
10, // Layer
|
|
ADR( 10 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_12_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
11, // Layer
|
|
ADR( 11 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_13_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
12, // Layer
|
|
ADR( 12 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_14_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
13, // Layer
|
|
ADR( 13 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_15_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
14, // Layer
|
|
ADR( 14 ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_16_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
CMP_N, // Layer
|
|
ADR( CMP_N ) // Address of optional parameter
|
|
};
|
|
|
|
|
|
static ButtonIndex Msg_Layers_Tech =
|
|
{
|
|
_( "Tech Layers" ), // Title
|
|
28 // Index to last bitmap button in group
|
|
};
|
|
|
|
static ColorButton Layer_17_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
ADHESIVE_N_CU, // Layer
|
|
ADR( ADHESIVE_N_CU ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_18_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
ADHESIVE_N_CMP, // Layer
|
|
ADR( ADHESIVE_N_CMP ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_19_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
SOLDERPASTE_N_CU, // Layer
|
|
ADR( SOLDERPASTE_N_CU ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_20_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
SOLDERPASTE_N_CMP, // Layer
|
|
ADR( SOLDERPASTE_N_CMP ), // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_21_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
SILKSCREEN_N_CU, // Layer
|
|
ADR( SILKSCREEN_N_CU ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_22_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
SILKSCREEN_N_CMP, // Layer
|
|
ADR( SILKSCREEN_N_CMP ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_23_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
SOLDERMASK_N_CU, // Layer
|
|
ADR( SOLDERMASK_N_CU ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_24_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
SOLDERMASK_N_CMP, // Layer
|
|
ADR( SOLDERMASK_N_CMP ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_25_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
DRAW_N, // Layer
|
|
ADR( DRAW_N ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_26_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
COMMENT_N, // Layer
|
|
ADR( COMMENT_N ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_27_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
ECO1_N, // Layer
|
|
ADR( ECO1_N ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_28_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
ECO2_N, // Layer
|
|
ADR( ECO2_N ) // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Layer_29_Butt =
|
|
{
|
|
type_layer, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
EDGE_N, // Layer
|
|
ADR( EDGE_N ) // Address of optional parameter
|
|
};
|
|
|
|
|
|
static ButtonIndex Msg_Others_Items =
|
|
{
|
|
_( "Others" ), // Title
|
|
43 // Index to last bitmap button in group
|
|
};
|
|
|
|
static ColorButton VIA_THROUGH_Butt =
|
|
{
|
|
type_via, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
VIA_THROUGH, // Layer
|
|
&g_DesignSettings.m_ViaColor[VIA_THROUGH] // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton VIA_BLIND_BURIED_Butt =
|
|
{
|
|
type_via, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
VIA_BLIND_BURIED, // Layer
|
|
&g_DesignSettings.m_ViaColor[VIA_BLIND_BURIED] // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton MICRO_VIA_Butt =
|
|
{
|
|
type_via, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
wxEmptyString,
|
|
VIA_MICROVIA, // Layer
|
|
&g_DesignSettings.m_ViaColor[VIA_MICROVIA] // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Ratsnest_Butt =
|
|
{
|
|
type_visual,
|
|
_( "Ratsnest" ), // Title
|
|
-1,
|
|
&g_DesignSettings.m_RatsnestColor, // Address of optional parameter
|
|
&g_Show_Ratsnest // Address of boolean display control parameter to toggle
|
|
};
|
|
|
|
static ColorButton Pad_Cu_Butt =
|
|
{
|
|
type_element, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
_( "Pad Cu" ), // Title
|
|
PAD_CU_VISIBLE,
|
|
&g_PadCUColor // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Pad_Cmp_Butt =
|
|
{
|
|
type_element, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
_( "Pad Cmp" ), // Title
|
|
PAD_CMP_VISIBLE,
|
|
&g_PadCMPColor // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Text_Mod_Cu_Butt =
|
|
{
|
|
type_element, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
_( "Text Module Cu" ), // Title
|
|
MODULE_TEXT_CU_VISIBLE,
|
|
&g_ModuleTextCUColor // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Text_Mod_Cmp_Butt =
|
|
{
|
|
type_element, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
_( "Text Module Cmp" ), // Title
|
|
MODULE_TEXT_CMP_VISIBLE,
|
|
&g_ModuleTextCMPColor // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Text_Mod_NoVisible_Butt =
|
|
{
|
|
type_element, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
_( "Text Module invisible" ), // Title
|
|
MODULE_TEXT_NOV_VISIBLE,
|
|
&g_ModuleTextNOVColor // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Anchors_Butt =
|
|
{
|
|
type_element, // Toggle ITEM_NOT_SHOW bit of the color variable
|
|
_( "Anchors" ), // Title
|
|
ANCHOR_VISIBLE,
|
|
&g_AnchorColor // Address of optional parameter
|
|
};
|
|
|
|
static ColorButton Grid_Butt =
|
|
{
|
|
type_visual,
|
|
_( "Grid" ), // Title
|
|
-1,
|
|
&g_GridColor, // Address of optional parameter
|
|
&s_showGrid // Address of boolean display control parameter to toggle
|
|
};
|
|
|
|
static ColorButton Show_Pads_Noconnect_Butt =
|
|
{
|
|
type_visual,
|
|
_( "Show Noconnect" ), // Title
|
|
-1,
|
|
NULL, // Address of optional parameter
|
|
&DisplayOpt.DisplayPadNoConn // Address of boolean display control parameter to toggle
|
|
};
|
|
|
|
static ColorButton Show_Modules_Cmp_Butt =
|
|
{
|
|
type_visual,
|
|
_( "Show Modules Cmp" ), // Title
|
|
-1,
|
|
NULL, // Address of optional parameter
|
|
&DisplayOpt.Show_Modules_Cmp // Address of boolean display control parameter to toggle
|
|
};
|
|
|
|
static ColorButton Show_Modules_Cu_Butt =
|
|
{
|
|
type_visual,
|
|
_( "Show Modules Cu" ), // Title
|
|
-1,
|
|
NULL, // Address of optional parameter
|
|
&DisplayOpt.Show_Modules_Cu // Address of boolean display control parameter to toggle
|
|
};
|
|
|
|
|
|
static ColorButton* laytool_list[] = {
|
|
&Layer_1_Butt,
|
|
&Layer_2_Butt,
|
|
&Layer_3_Butt,
|
|
&Layer_4_Butt,
|
|
&Layer_5_Butt,
|
|
&Layer_6_Butt,
|
|
&Layer_7_Butt,
|
|
&Layer_8_Butt,
|
|
&Layer_9_Butt,
|
|
&Layer_10_Butt,
|
|
&Layer_11_Butt,
|
|
&Layer_12_Butt,
|
|
&Layer_13_Butt,
|
|
&Layer_14_Butt,
|
|
&Layer_15_Butt,
|
|
&Layer_16_Butt,
|
|
|
|
&Layer_17_Butt,
|
|
&Layer_18_Butt,
|
|
&Layer_19_Butt,
|
|
&Layer_20_Butt,
|
|
&Layer_21_Butt,
|
|
&Layer_22_Butt,
|
|
&Layer_23_Butt,
|
|
&Layer_24_Butt,
|
|
&Layer_25_Butt,
|
|
&Layer_26_Butt,
|
|
&Layer_27_Butt,
|
|
&Layer_28_Butt,
|
|
&Layer_29_Butt,
|
|
// &Layer_30_Butt,
|
|
// &Layer_31_Butt,
|
|
// &Layer_32_Butt,
|
|
|
|
&VIA_THROUGH_Butt,
|
|
&VIA_BLIND_BURIED_Butt,
|
|
&MICRO_VIA_Butt,
|
|
&Ratsnest_Butt,
|
|
&Pad_Cu_Butt,
|
|
&Pad_Cmp_Butt,
|
|
&Text_Mod_Cu_Butt,
|
|
&Text_Mod_Cmp_Butt,
|
|
&Text_Mod_NoVisible_Butt,
|
|
&Anchors_Butt,
|
|
&Grid_Butt,
|
|
|
|
&Show_Pads_Noconnect_Butt,
|
|
&Show_Modules_Cmp_Butt,
|
|
&Show_Modules_Cu_Butt,
|
|
};
|
|
|
|
|
|
static ButtonIndex* laytool_index[BUTTON_GROUPS] = {
|
|
&Msg_Layers_Cu,
|
|
&Msg_Layers_Tech,
|
|
&Msg_Others_Items
|
|
};
|
|
|
|
|
|
/**************************************************************/
|
|
/* classe derivee pour la frame de Configuration des couleurs */
|
|
/**************************************************************/
|
|
|
|
class WinEDA_SetColorsFrame: public wxDialog
|
|
{
|
|
private:
|
|
DECLARE_DYNAMIC_CLASS( WinEDA_SetColorsFrame )
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
WinEDA_PcbFrame* m_Parent;
|
|
wxBoxSizer* OuterBoxSizer;
|
|
wxBoxSizer* MainBoxSizer;
|
|
wxFlexGridSizer* FlexColumnBoxSizer;
|
|
wxStaticText* Label;
|
|
wxBoxSizer* RowBoxSizer;
|
|
wxBitmapButton* BitmapButton;
|
|
wxCheckBox* CheckBox;
|
|
wxButton* Button;
|
|
wxStaticLine* Line;
|
|
wxStdDialogButtonSizer* StdDialogButtonSizer;
|
|
|
|
// Creation
|
|
bool Create( wxWindow* parent,
|
|
wxWindowID id = SYMBOL_WINEDA_SETCOLORSFRAME_IDNAME,
|
|
const wxString& caption = SYMBOL_WINEDA_SETCOLORSFRAME_TITLE,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = SYMBOL_WINEDA_SETCOLORSFRAME_STYLE );
|
|
|
|
// Initialises member variables
|
|
void Init();
|
|
|
|
// Creates the controls and sizers
|
|
void CreateControls();
|
|
|
|
wxBitmap GetBitmapResource( const wxString& name );
|
|
wxIcon GetIconResource( const wxString& name );
|
|
static bool ShowToolTips();
|
|
|
|
void SetColor( wxCommandEvent& event );
|
|
void OnOkClick( wxCommandEvent& event );
|
|
void OnCancelClick( wxCommandEvent& event );
|
|
void OnApplyClick( wxCommandEvent& event );
|
|
void UpdateLayerSettings();
|
|
void ResetDisplayLayersCu( wxCommandEvent& event );
|
|
|
|
public:
|
|
// Constructors and destructor
|
|
WinEDA_SetColorsFrame();
|
|
WinEDA_SetColorsFrame( WinEDA_PcbFrame* parent, const wxPoint& framepos );
|
|
~WinEDA_SetColorsFrame();
|
|
};
|
|
|
|
#endif // SET_COLOR_H
|