diff --git a/pcbnew/dialogs/dialog_edit_module_text.cpp b/pcbnew/dialogs/dialog_edit_module_text.cpp index c88cf5ecfc..81c451ed3d 100644 --- a/pcbnew/dialogs/dialog_edit_module_text.cpp +++ b/pcbnew/dialogs/dialog_edit_module_text.cpp @@ -155,6 +155,19 @@ void DialogEditModuleText::initDlg( ) if( !m_currentText->IsVisible() ) m_Show->SetSelection( 1 );; + + // Configure the layers list selector + m_LayerSelectionCtrl->SetLayersHotkeys( false ); + m_LayerSelectionCtrl->SetLayerSet( LSET::InternalCuMask().set( Edge_Cuts ) ); + m_LayerSelectionCtrl->SetBoardFrame( m_parent ); + m_LayerSelectionCtrl->Resync(); + + if( m_LayerSelectionCtrl->SetLayerSelection( m_currentText->GetLayer() ) < 0 ) + { + wxMessageBox( _( "This item has an illegal layer id.\n" + "Now, forced on the front silk screen layer. Please, fix it" ) ); + m_LayerSelectionCtrl->SetLayerSelection( F_SilkS ); + } } @@ -162,7 +175,7 @@ void DialogEditModuleText::OnOkClick( wxCommandEvent& event ) { wxString msg; - if ( m_module) + if( m_module ) m_parent->SaveCopyInUndoList( m_module, UR_CHANGED ); #ifndef USE_WX_OVERLAY @@ -223,6 +236,9 @@ void DialogEditModuleText::OnOkClick( wxCommandEvent& event ) m_currentText->SetDrawCoord(); + LAYER_NUM layer = m_LayerSelectionCtrl->GetLayerSelection(); + m_currentText->SetLayer( ToLAYER_ID( layer ) ); + #ifndef USE_WX_OVERLAY if( m_dc ) // Display new text { diff --git a/pcbnew/dialogs/dialog_edit_module_text_base.cpp b/pcbnew/dialogs/dialog_edit_module_text_base.cpp index f0d0724a9a..3e074cfde6 100644 --- a/pcbnew/dialogs/dialog_edit_module_text_base.cpp +++ b/pcbnew/dialogs/dialog_edit_module_text_base.cpp @@ -32,7 +32,7 @@ DialogEditModuleText_base::DialogEditModuleText_base( wxWindow* parent, wxWindow bSizer10 = new wxBoxSizer( wxHORIZONTAL ); wxFlexGridSizer* fgSizer1; - fgSizer1 = new wxFlexGridSizer( 6, 2, 0, 0 ); + fgSizer1 = new wxFlexGridSizer( 7, 2, 0, 0 ); fgSizer1->AddGrowableCol( 1 ); fgSizer1->SetFlexibleDirection( wxBOTH ); fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); @@ -85,6 +85,13 @@ DialogEditModuleText_base::DialogEditModuleText_base( wxWindow* parent, wxWindow m_TxtPosCtrlY->SetMaxLength( 0 ); fgSizer1->Add( m_TxtPosCtrlY, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + m_LayerLabel = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_LayerLabel->Wrap( -1 ); + fgSizer1->Add( m_LayerLabel, 0, wxALL, 5 ); + + m_LayerSelectionCtrl = new PCB_LAYER_BOX_SELECTOR( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); + fgSizer1->Add( m_LayerSelectionCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + bSizer10->Add( fgSizer1, 1, wxALL|wxEXPAND, 5 ); diff --git a/pcbnew/dialogs/dialog_edit_module_text_base.fbp b/pcbnew/dialogs/dialog_edit_module_text_base.fbp index f00e2340b3..da604b2357 100644 --- a/pcbnew/dialogs/dialog_edit_module_text_base.fbp +++ b/pcbnew/dialogs/dialog_edit_module_text_base.fbp @@ -289,7 +289,7 @@ fgSizer1 wxFLEX_GROWMODE_SPECIFIED none - 6 + 7 0 5 @@ -1335,6 +1335,180 @@ + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 0 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Layer: + + 0 + + + 0 + + 1 + m_LayerLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_LayerSelectionCtrl + 1 + + + protected + 1 + + Resizable + -1 + 1 + + + PCB_LAYER_BOX_SELECTOR; class_pcb_layer_box_selector.h + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pcbnew/dialogs/dialog_edit_module_text_base.h b/pcbnew/dialogs/dialog_edit_module_text_base.h index 8a78fc2faf..c8cb0606e4 100644 --- a/pcbnew/dialogs/dialog_edit_module_text_base.h +++ b/pcbnew/dialogs/dialog_edit_module_text_base.h @@ -11,8 +11,7 @@ #include #include #include -class DIALOG_SHIM; - +#include "class_pcb_layer_box_selector.h" #include "dialog_shim.h" #include #include @@ -22,6 +21,7 @@ class DIALOG_SHIM; #include #include #include +#include #include #include #include @@ -51,6 +51,8 @@ class DialogEditModuleText_base : public DIALOG_SHIM wxTextCtrl* m_TxtPosCtrlX; wxStaticText* m_PosYTitle; wxTextCtrl* m_TxtPosCtrlY; + wxStaticText* m_LayerLabel; + PCB_LAYER_BOX_SELECTOR* m_LayerSelectionCtrl; wxRadioBox* m_Style; wxRadioBox* m_Orient; wxRadioBox* m_Show; diff --git a/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp b/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp index 02f9c551b1..ec4eacb53b 100644 --- a/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp +++ b/pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp @@ -7,7 +7,7 @@ * Circles * Arcs * used as graphic elements found on non copper layers in boards - * Footprint texts are not always graphic items and are not handled here + * Footprint texts are not graphic items and are not handled here */ #include #include diff --git a/pcbnew/dialogs/dialog_plot_base.cpp b/pcbnew/dialogs/dialog_plot_base.cpp index fb2f7ed3c1..ad69f5644f 100644 --- a/pcbnew/dialogs/dialog_plot_base.cpp +++ b/pcbnew/dialogs/dialog_plot_base.cpp @@ -92,23 +92,23 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr bSizerPlotItems->Add( m_plotSheetRef, 0, wxTOP|wxRIGHT|wxLEFT, 2 ); m_plotPads_on_Silkscreen = new wxCheckBox( this, ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, _("Plot pads on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 ); - m_plotPads_on_Silkscreen->SetToolTip( _("Enable/disable print/plot pads on silkscreen layers\nWhen disable, pads are never potted on silkscreen layers\nWhen enable, pads are potted only if they appear on silkscreen layers") ); + m_plotPads_on_Silkscreen->SetToolTip( _("Enable plotting of pads on silkscreen layers\nWhen disabled, pads are never plotted on silkscreen layers\nWhen enabled, pads are plotted only if they appear on silkscreen layers") ); bSizerPlotItems->Add( m_plotPads_on_Silkscreen, 0, wxALL, 2 ); - m_plotModuleValueOpt = new wxCheckBox( this, wxID_ANY, _("Plot module value on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 ); + m_plotModuleValueOpt = new wxCheckBox( this, wxID_ANY, _("Plot module values"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerPlotItems->Add( m_plotModuleValueOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 ); - m_plotModuleRefOpt = new wxCheckBox( this, ID_PRINT_REF, _("Plot module reference on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 ); + m_plotModuleRefOpt = new wxCheckBox( this, ID_PRINT_REF, _("Plot module references"), wxDefaultPosition, wxDefaultSize, 0 ); bSizerPlotItems->Add( m_plotModuleRefOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 ); - m_plotInvisibleText = new wxCheckBox( this, wxID_ANY, _("Force plot invisible values/refrences"), wxDefaultPosition, wxDefaultSize, 0 ); - m_plotInvisibleText->SetToolTip( _("Force plot invisible values and/or references") ); + m_plotInvisibleText = new wxCheckBox( this, wxID_ANY, _("Force plot invisible values/references"), wxDefaultPosition, wxDefaultSize, 0 ); + m_plotInvisibleText->SetToolTip( _("Force plotting of invisible values and/or references") ); bSizerPlotItems->Add( m_plotInvisibleText, 0, wxALL, 2 ); m_plotNoViaOnMaskOpt = new wxCheckBox( this, wxID_ANY, _("Do not tent vias"), wxDefaultPosition, wxDefaultSize, 0 ); - m_plotNoViaOnMaskOpt->SetToolTip( _("Remove soldermask on vias.") ); + m_plotNoViaOnMaskOpt->SetToolTip( _("Remove soldermask on vias") ); bSizerPlotItems->Add( m_plotNoViaOnMaskOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 ); @@ -124,7 +124,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr bSizerPlotItems->Add( m_plotPSNegativeOpt, 0, wxALL, 2 ); m_useAuxOriginCheckBox = new wxCheckBox( this, wxID_ANY, _("Use auxiliary axis as origin"), wxDefaultPosition, wxDefaultSize, 0 ); - m_useAuxOriginCheckBox->SetToolTip( _("Use auxiliary axis as coordinates origin in Gerber files.") ); + m_useAuxOriginCheckBox->SetToolTip( _("Use auxiliary axis as coordinates origin in plot files") ); bSizerPlotItems->Add( m_useAuxOriginCheckBox, 0, wxTOP|wxRIGHT|wxLEFT, 2 ); @@ -205,7 +205,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr m_solderMaskMinWidthLabel = new wxStaticText( this, wxID_ANY, _("Solder mask min width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_solderMaskMinWidthLabel->Wrap( -1 ); - m_solderMaskMinWidthLabel->SetToolTip( _("Min dist between 2 pad areas.\nTwo pad areas nearer than this value will be merged during plotting") ); + m_solderMaskMinWidthLabel->SetToolTip( _("Minimum distance between 2 pad areas.\nTwo pad areas nearer than this value will be merged during plotting") ); fgSizerSoldMaskOpts->Add( m_solderMaskMinWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); @@ -224,8 +224,8 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr wxBoxSizer* bSizerGbrOpt; bSizerGbrOpt = new wxBoxSizer( wxVERTICAL ); - m_useGerberExtensions = new wxCheckBox( this, wxID_ANY, _("Use proper filename extensions"), wxDefaultPosition, wxDefaultSize, 0 ); - m_useGerberExtensions->SetToolTip( _("Use proper Gerber extensions - .GBL, .GTL, etc...") ); + m_useGerberExtensions = new wxCheckBox( this, wxID_ANY, _("Use Protel filename extensions"), wxDefaultPosition, wxDefaultSize, 0 ); + m_useGerberExtensions->SetToolTip( _("Use conventional Protel Gerber extensions - .GBL, .GTL, etc...") ); bSizerGbrOpt->Add( m_useGerberExtensions, 0, wxALL, 2 ); @@ -246,7 +246,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr int m_rbGerberFormatNChoices = sizeof( m_rbGerberFormatChoices ) / sizeof( wxString ); m_rbGerberFormat = new wxRadioBox( this, wxID_ANY, _("Format"), wxDefaultPosition, wxDefaultSize, m_rbGerberFormatNChoices, m_rbGerberFormatChoices, 1, wxRA_SPECIFY_COLS ); m_rbGerberFormat->SetSelection( 0 ); - m_rbGerberFormat->SetToolTip( _("Precision of coordinates in Gerber files.\nUse the highter value if possible.") ); + m_rbGerberFormat->SetToolTip( _("Resolution of coordinates in Gerber files.\nUse the higher value if possible") ); m_GerberOptionsSizer->Add( m_rbGerberFormat, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); diff --git a/pcbnew/dialogs/dialog_plot_base.fbp b/pcbnew/dialogs/dialog_plot_base.fbp index e460059ba5..1cdc95bbe6 100644 --- a/pcbnew/dialogs/dialog_plot_base.fbp +++ b/pcbnew/dialogs/dialog_plot_base.fbp @@ -872,7 +872,7 @@ 0 - Enable/disable print/plot pads on silkscreen layers When disable, pads are never potted on silkscreen layers When enable, pads are potted only if they appear on silkscreen layers + Enable plotting of pads on silkscreen layers When disabled, pads are never plotted on silkscreen layers When enabled, pads are plotted only if they appear on silkscreen layers wxFILTER_NONE wxDefaultValidator @@ -939,7 +939,7 @@ 0 0 wxID_ANY - Plot module value on silkscreen + Plot module values 0 @@ -1027,7 +1027,7 @@ 0 0 ID_PRINT_REF - Plot module reference on silkscreen + Plot module references 0 @@ -1115,7 +1115,7 @@ 0 0 wxID_ANY - Force plot invisible values/refrences + Force plotting of invisible values/references 0 @@ -1224,7 +1224,7 @@ 0 - Remove soldermask on vias. + Remove soldermask on vias wxFILTER_NONE wxDefaultValidator @@ -1576,7 +1576,7 @@ 0 - Use auxiliary axis as coordinates origin in Gerber files. + Use auxiliary axis as coordinates origin in plot files wxFILTER_NONE wxDefaultValidator @@ -2561,7 +2561,7 @@ 0 - Min dist between 2 pad areas. Two pad areas nearer than this value will be merged during plotting + Minimum distance between 2 pad areas. Two pad areas nearer than this value will be merged during plotting @@ -2732,7 +2732,7 @@ 0 0 wxID_ANY - Use proper filename extensions + Use Protel filename extensions 0 @@ -2753,7 +2753,7 @@ 0 - Use proper Gerber extensions - .GBL, .GTL, etc... + Use conventional Protel Gerber extensions - .GBL, .GTL, etc... wxFILTER_NONE wxDefaultValidator @@ -3021,7 +3021,7 @@ wxRA_SPECIFY_COLS 0 - Precision of coordinates in Gerber files. Use the highter value if possible. + Resolution of coordinates in Gerber files. Use the higher value if possible. wxFILTER_NONE wxDefaultValidator