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
+ 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