mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
Add corner radius to Shape Properties dialog.
This commit is contained in:
parent
c6fcf7e0b8
commit
194b7f9dc5
@ -716,8 +716,9 @@ private:
|
|||||||
bool TransferDataToWindow() override;
|
bool TransferDataToWindow() override;
|
||||||
bool TransferDataFromWindow() override;
|
bool TransferDataFromWindow() override;
|
||||||
|
|
||||||
|
void onRoundedRectChanged( wxCommandEvent& event ) override;
|
||||||
|
void onCornerRadius( wxCommandEvent& event ) override;
|
||||||
void onLayerSelection( wxCommandEvent& event ) override;
|
void onLayerSelection( wxCommandEvent& event ) override;
|
||||||
|
|
||||||
void onTechLayersChanged( wxCommandEvent& event ) override;
|
void onTechLayersChanged( wxCommandEvent& event ) override;
|
||||||
|
|
||||||
bool Validate() override;
|
bool Validate() override;
|
||||||
@ -748,6 +749,7 @@ private:
|
|||||||
PCB_BASE_EDIT_FRAME* m_parent;
|
PCB_BASE_EDIT_FRAME* m_parent;
|
||||||
PCB_SHAPE* m_item;
|
PCB_SHAPE* m_item;
|
||||||
|
|
||||||
|
UNIT_BINDER m_cornerRadius;
|
||||||
UNIT_BINDER m_thickness;
|
UNIT_BINDER m_thickness;
|
||||||
UNIT_BINDER m_solderMaskMargin;
|
UNIT_BINDER m_solderMaskMargin;
|
||||||
|
|
||||||
@ -842,6 +844,7 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
|
|||||||
DIALOG_SHAPE_PROPERTIES_BASE( aParent ),
|
DIALOG_SHAPE_PROPERTIES_BASE( aParent ),
|
||||||
m_parent( aParent ),
|
m_parent( aParent ),
|
||||||
m_item( aShape ),
|
m_item( aShape ),
|
||||||
|
m_cornerRadius( aParent, m_cornerRadiusLabel, m_cornerRadiusCtrl, m_cornerRadiusUnits ),
|
||||||
m_thickness( aParent, m_thicknessLabel, m_thicknessCtrl, m_thicknessUnits ),
|
m_thickness( aParent, m_thicknessLabel, m_thicknessCtrl, m_thicknessUnits ),
|
||||||
m_solderMaskMargin( aParent, m_solderMaskMarginLabel, m_solderMaskMarginCtrl, m_solderMaskMarginUnit ),
|
m_solderMaskMargin( aParent, m_solderMaskMarginLabel, m_solderMaskMarginCtrl, m_solderMaskMarginUnit ),
|
||||||
m_workingCopy( *m_item )
|
m_workingCopy( *m_item )
|
||||||
@ -909,6 +912,9 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
|
|||||||
showPage( *m_gbsLineByEnds, true );
|
showPage( *m_gbsLineByEnds, true );
|
||||||
showPage( *m_gbsLineByLengthAngle );
|
showPage( *m_gbsLineByLengthAngle );
|
||||||
showPage( *m_gbsLineByStartMid );
|
showPage( *m_gbsLineByStartMid );
|
||||||
|
|
||||||
|
m_cbRoundRect->Show( false );
|
||||||
|
m_cornerRadius.Show( false );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SHAPE_T::ARC:
|
case SHAPE_T::ARC:
|
||||||
@ -924,6 +930,9 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
|
|||||||
|
|
||||||
showPage( *m_gbsArcByCSA, true );
|
showPage( *m_gbsArcByCSA, true );
|
||||||
showPage( *m_gbsArcBySME );
|
showPage( *m_gbsArcBySME );
|
||||||
|
|
||||||
|
m_cbRoundRect->Show( false );
|
||||||
|
m_cornerRadius.Show( false );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SHAPE_T::CIRCLE:
|
case SHAPE_T::CIRCLE:
|
||||||
@ -937,6 +946,9 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
|
|||||||
|
|
||||||
showPage( *m_gbsCircleCenterRadius, true );
|
showPage( *m_gbsCircleCenterRadius, true );
|
||||||
showPage( *m_gbsCircleCenterPoint );
|
showPage( *m_gbsCircleCenterPoint );
|
||||||
|
|
||||||
|
m_cbRoundRect->Show( false );
|
||||||
|
m_cornerRadius.Show( false );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SHAPE_T::BEZIER:
|
case SHAPE_T::BEZIER:
|
||||||
@ -953,6 +965,9 @@ DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES( PCB_BASE_EDIT_FRAME* aParent,
|
|||||||
case SHAPE_T::POLY:
|
case SHAPE_T::POLY:
|
||||||
m_notebookShapeDefs->Hide();
|
m_notebookShapeDefs->Hide();
|
||||||
// Nothing to do here...yet
|
// Nothing to do here...yet
|
||||||
|
|
||||||
|
m_cbRoundRect->Show( false );
|
||||||
|
m_cornerRadius.Show( false );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SHAPE_T::UNDEFINED:
|
case SHAPE_T::UNDEFINED:
|
||||||
@ -1061,6 +1076,19 @@ void PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog( PCB_SHAPE* aShape )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DIALOG_SHAPE_PROPERTIES::onRoundedRectChanged(wxCommandEvent &event)
|
||||||
|
{
|
||||||
|
if( !m_cbRoundRect->GetValue() )
|
||||||
|
m_cornerRadius.ChangeValue( wxEmptyString );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DIALOG_SHAPE_PROPERTIES::onCornerRadius(wxCommandEvent &event)
|
||||||
|
{
|
||||||
|
m_cbRoundRect->SetValue( true );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void DIALOG_SHAPE_PROPERTIES::onLayerSelection( wxCommandEvent& event )
|
void DIALOG_SHAPE_PROPERTIES::onLayerSelection( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
if( m_LayerSelectionCtrl->GetLayerSelection() >= 0 )
|
if( m_LayerSelectionCtrl->GetLayerSelection() >= 0 )
|
||||||
@ -1081,13 +1109,19 @@ bool DIALOG_SHAPE_PROPERTIES::TransferDataToWindow()
|
|||||||
if( !m_item )
|
if( !m_item )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Not al shapes have a syncer (e.g. polygons)
|
// Not all shapes have a syncer (e.g. polygons)
|
||||||
if( m_geomSync )
|
if( m_geomSync )
|
||||||
m_geomSync->SetShape( *m_item );
|
m_geomSync->SetShape( *m_item );
|
||||||
|
|
||||||
m_fillCtrl->SetSelection( m_item->GetFillModeProp() );
|
m_fillCtrl->SetSelection( m_item->GetFillModeProp() );
|
||||||
m_locked->SetValue( m_item->IsLocked() );
|
m_locked->SetValue( m_item->IsLocked() );
|
||||||
|
|
||||||
|
if( m_item->GetShape() == SHAPE_T::RECTANGLE )
|
||||||
|
{
|
||||||
|
m_cbRoundRect->SetValue( m_item->GetCornerRadius() > 0 );
|
||||||
|
m_cornerRadius.ChangeValue( m_item->GetCornerRadius() );
|
||||||
|
}
|
||||||
|
|
||||||
m_thickness.SetValue( m_item->GetStroke().GetWidth() );
|
m_thickness.SetValue( m_item->GetStroke().GetWidth() );
|
||||||
|
|
||||||
int style = static_cast<int>( m_item->GetStroke().GetLineStyle() );
|
int style = static_cast<int>( m_item->GetStroke().GetLineStyle() );
|
||||||
@ -1137,6 +1171,9 @@ bool DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow()
|
|||||||
|
|
||||||
bool wasLocked = m_item->IsLocked();
|
bool wasLocked = m_item->IsLocked();
|
||||||
|
|
||||||
|
if( m_item->GetShape() == SHAPE_T::RECTANGLE )
|
||||||
|
m_item->SetCornerRadius( m_cbRoundRect->GetValue() ? m_cornerRadius.GetIntValue() : 0 );
|
||||||
|
|
||||||
m_item->SetFillModeProp( (UI_FILL_MODE) m_fillCtrl->GetSelection() );
|
m_item->SetFillModeProp( (UI_FILL_MODE) m_fillCtrl->GetSelection() );
|
||||||
m_item->SetLocked( m_locked->GetValue() );
|
m_item->SetLocked( m_locked->GetValue() );
|
||||||
|
|
||||||
@ -1205,14 +1242,20 @@ bool DIALOG_SHAPE_PROPERTIES::Validate()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SHAPE_T::RECTANGLE:
|
case SHAPE_T::RECTANGLE:
|
||||||
|
{
|
||||||
if( m_fillCtrl->GetSelection() != UI_FILL_MODE::SOLID && m_thickness.GetValue() <= 0 )
|
if( m_fillCtrl->GetSelection() != UI_FILL_MODE::SOLID && m_thickness.GetValue() <= 0 )
|
||||||
errors.Add( _( "Line width must be greater than zero for an unfilled rectangle." ) );
|
errors.Add( _( "Line width must be greater than zero for an unfilled rectangle." ) );
|
||||||
|
|
||||||
if( m_item->GetCornerRadius() * 2 > std::min( m_item->GetRectangleWidth(),
|
int shortSide = std::min( m_item->GetRectangleWidth(), m_item->GetRectangleHeight() );
|
||||||
m_item->GetRectangleHeight() ) )
|
|
||||||
|
if( m_cornerRadius.GetIntValue() * 2 > shortSide )
|
||||||
|
{
|
||||||
errors.Add( _( "Corner radius must be less than or equal to half the smaller side." ) );
|
errors.Add( _( "Corner radius must be less than or equal to half the smaller side." ) );
|
||||||
|
m_cornerRadius.SetValue( KiROUND( shortSide / 2.0 ) );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case SHAPE_T::POLY:
|
case SHAPE_T::POLY:
|
||||||
if( m_fillCtrl->GetSelection() != UI_FILL_MODE::SOLID && m_thickness.GetValue() <= 0 )
|
if( m_fillCtrl->GetSelection() != UI_FILL_MODE::SOLID && m_thickness.GetValue() <= 0 )
|
||||||
|
@ -198,6 +198,32 @@ DIALOG_SHAPE_PROPERTIES_BASE::DIALOG_SHAPE_PROPERTIES_BASE( wxWindow* parent, wx
|
|||||||
|
|
||||||
bMainSizer->Add( m_notebookShapeDefs, 0, wxEXPAND | wxALL, 5 );
|
bMainSizer->Add( m_notebookShapeDefs, 0, wxEXPAND | wxALL, 5 );
|
||||||
|
|
||||||
|
m_locked = new wxCheckBox( this, wxID_ANY, _("Locked"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
bMainSizer->Add( m_locked, 0, wxALL, 10 );
|
||||||
|
|
||||||
|
wxBoxSizer* bSizerRoundRect;
|
||||||
|
bSizerRoundRect = new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
|
||||||
|
m_cbRoundRect = new wxCheckBox( this, wxID_ANY, _("Rounded rectangle"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
bSizerRoundRect->Add( m_cbRoundRect, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
bSizerRoundRect->Add( 15, 0, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_cornerRadiusLabel = new wxStaticText( this, wxID_ANY, _("Corner radius:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_cornerRadiusLabel->Wrap( -1 );
|
||||||
|
bSizerRoundRect->Add( m_cornerRadiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_cornerRadiusCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
bSizerRoundRect->Add( m_cornerRadiusCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
|
|
||||||
|
m_cornerRadiusUnits = new wxStaticText( this, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_cornerRadiusUnits->Wrap( -1 );
|
||||||
|
bSizerRoundRect->Add( m_cornerRadiusUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
bMainSizer->Add( bSizerRoundRect, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
m_upperSizer = new wxBoxSizer( wxVERTICAL );
|
m_upperSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
wxGridBagSizer* gbSizer2;
|
wxGridBagSizer* gbSizer2;
|
||||||
@ -206,54 +232,51 @@ DIALOG_SHAPE_PROPERTIES_BASE::DIALOG_SHAPE_PROPERTIES_BASE( wxWindow* parent, wx
|
|||||||
gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||||
gbSizer2->SetEmptyCellSize( wxSize( -1,6 ) );
|
gbSizer2->SetEmptyCellSize( wxSize( -1,6 ) );
|
||||||
|
|
||||||
m_locked = new wxCheckBox( this, wxID_ANY, _("Locked"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
gbSizer2->Add( m_locked, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 5 );
|
|
||||||
|
|
||||||
m_thicknessLabel = new wxStaticText( this, wxID_ANY, _("Line width:"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_thicknessLabel = new wxStaticText( this, wxID_ANY, _("Line width:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_thicknessLabel->Wrap( -1 );
|
m_thicknessLabel->Wrap( -1 );
|
||||||
gbSizer2->Add( m_thicknessLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
gbSizer2->Add( m_thicknessLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||||
|
|
||||||
m_thicknessCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
m_thicknessCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_thicknessCtrl->SetMinSize( wxSize( 140,-1 ) );
|
m_thicknessCtrl->SetMinSize( wxSize( 140,-1 ) );
|
||||||
|
|
||||||
gbSizer2->Add( m_thicknessCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
gbSizer2->Add( m_thicknessCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
|
|
||||||
m_thicknessUnits = new wxStaticText( this, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_thicknessUnits = new wxStaticText( this, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_thicknessUnits->Wrap( -1 );
|
m_thicknessUnits->Wrap( -1 );
|
||||||
gbSizer2->Add( m_thicknessUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
|
gbSizer2->Add( m_thicknessUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
|
||||||
|
|
||||||
m_lineStyleLabel = new wxStaticText( this, wxID_ANY, _("Line style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_lineStyleLabel = new wxStaticText( this, wxID_ANY, _("Line style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_lineStyleLabel->Wrap( -1 );
|
m_lineStyleLabel->Wrap( -1 );
|
||||||
gbSizer2->Add( m_lineStyleLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
gbSizer2->Add( m_lineStyleLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||||
|
|
||||||
m_lineStyleCombo = new wxBitmapComboBox( this, wxID_ANY, _("Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
|
m_lineStyleCombo = new wxBitmapComboBox( this, wxID_ANY, _("Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
|
||||||
m_lineStyleCombo->SetMinSize( wxSize( 210,-1 ) );
|
m_lineStyleCombo->SetMinSize( wxSize( 210,-1 ) );
|
||||||
|
|
||||||
gbSizer2->Add( m_lineStyleCombo, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
gbSizer2->Add( m_lineStyleCombo, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
||||||
|
|
||||||
m_fillLabel = new wxStaticText( this, wxID_ANY, _("Fill:"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_fillLabel = new wxStaticText( this, wxID_ANY, _("Fill:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_fillLabel->Wrap( -1 );
|
m_fillLabel->Wrap( -1 );
|
||||||
gbSizer2->Add( m_fillLabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
gbSizer2->Add( m_fillLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||||
|
|
||||||
wxString m_fillCtrlChoices[] = { _("None"), _("Solid"), _("Hatch"), _("Reverse Hatch"), _("Cross-hatch") };
|
wxString m_fillCtrlChoices[] = { _("None"), _("Solid"), _("Hatch"), _("Reverse Hatch"), _("Cross-hatch") };
|
||||||
int m_fillCtrlNChoices = sizeof( m_fillCtrlChoices ) / sizeof( wxString );
|
int m_fillCtrlNChoices = sizeof( m_fillCtrlChoices ) / sizeof( wxString );
|
||||||
m_fillCtrl = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fillCtrlNChoices, m_fillCtrlChoices, 0 );
|
m_fillCtrl = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fillCtrlNChoices, m_fillCtrlChoices, 0 );
|
||||||
m_fillCtrl->SetSelection( 0 );
|
m_fillCtrl->SetSelection( 0 );
|
||||||
gbSizer2->Add( m_fillCtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
gbSizer2->Add( m_fillCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
||||||
|
|
||||||
m_LayerLabel = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
m_LayerLabel->Wrap( -1 );
|
|
||||||
gbSizer2->Add( m_LayerLabel, wxGBPosition( 9, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
|
||||||
|
|
||||||
m_LayerSelectionCtrl = new PCB_LAYER_BOX_SELECTOR( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
|
||||||
gbSizer2->Add( m_LayerSelectionCtrl, wxGBPosition( 9, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
|
||||||
|
|
||||||
m_netLabel = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_netLabel = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_netLabel->Wrap( -1 );
|
m_netLabel->Wrap( -1 );
|
||||||
gbSizer2->Add( m_netLabel, wxGBPosition( 7, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
gbSizer2->Add( m_netLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||||
|
|
||||||
m_netSelector = new NET_SELECTOR( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
m_netSelector = new NET_SELECTOR( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
gbSizer2->Add( m_netSelector, wxGBPosition( 7, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
gbSizer2->Add( m_netSelector, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
||||||
|
|
||||||
|
m_LayerLabel = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_LayerLabel->Wrap( -1 );
|
||||||
|
gbSizer2->Add( m_LayerLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_LayerSelectionCtrl = new PCB_LAYER_BOX_SELECTOR( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||||
|
gbSizer2->Add( m_LayerSelectionCtrl, wxGBPosition( 6, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
|
||||||
|
|
||||||
|
|
||||||
gbSizer2->AddGrowableCol( 1 );
|
gbSizer2->AddGrowableCol( 1 );
|
||||||
@ -320,6 +343,8 @@ DIALOG_SHAPE_PROPERTIES_BASE::DIALOG_SHAPE_PROPERTIES_BASE( wxWindow* parent, wx
|
|||||||
bMainSizer->Fit( this );
|
bMainSizer->Fit( this );
|
||||||
|
|
||||||
// Connect Events
|
// Connect Events
|
||||||
|
m_cbRoundRect->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onRoundedRectChanged ), NULL, this );
|
||||||
|
m_cornerRadiusCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onCornerRadius ), NULL, this );
|
||||||
m_LayerSelectionCtrl->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onLayerSelection ), NULL, this );
|
m_LayerSelectionCtrl->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onLayerSelection ), NULL, this );
|
||||||
m_hasSolderMask->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onTechLayersChanged ), NULL, this );
|
m_hasSolderMask->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onTechLayersChanged ), NULL, this );
|
||||||
}
|
}
|
||||||
@ -327,6 +352,8 @@ DIALOG_SHAPE_PROPERTIES_BASE::DIALOG_SHAPE_PROPERTIES_BASE( wxWindow* parent, wx
|
|||||||
DIALOG_SHAPE_PROPERTIES_BASE::~DIALOG_SHAPE_PROPERTIES_BASE()
|
DIALOG_SHAPE_PROPERTIES_BASE::~DIALOG_SHAPE_PROPERTIES_BASE()
|
||||||
{
|
{
|
||||||
// Disconnect Events
|
// Disconnect Events
|
||||||
|
m_cbRoundRect->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onRoundedRectChanged ), NULL, this );
|
||||||
|
m_cornerRadiusCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onCornerRadius ), NULL, this );
|
||||||
m_LayerSelectionCtrl->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onLayerSelection ), NULL, this );
|
m_LayerSelectionCtrl->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onLayerSelection ), NULL, this );
|
||||||
m_hasSolderMask->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onTechLayersChanged ), NULL, this );
|
m_hasSolderMask->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onTechLayersChanged ), NULL, this );
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -68,8 +68,12 @@ class DIALOG_SHAPE_PROPERTIES_BASE : public DIALOG_SHIM
|
|||||||
wxGridBagSizer* m_gbsCircleCenterPoint;
|
wxGridBagSizer* m_gbsCircleCenterPoint;
|
||||||
wxPanel* m_bezier;
|
wxPanel* m_bezier;
|
||||||
wxGridBagSizer* m_gbsBezier;
|
wxGridBagSizer* m_gbsBezier;
|
||||||
wxBoxSizer* m_upperSizer;
|
|
||||||
wxCheckBox* m_locked;
|
wxCheckBox* m_locked;
|
||||||
|
wxCheckBox* m_cbRoundRect;
|
||||||
|
wxStaticText* m_cornerRadiusLabel;
|
||||||
|
wxTextCtrl* m_cornerRadiusCtrl;
|
||||||
|
wxStaticText* m_cornerRadiusUnits;
|
||||||
|
wxBoxSizer* m_upperSizer;
|
||||||
wxStaticText* m_thicknessLabel;
|
wxStaticText* m_thicknessLabel;
|
||||||
wxTextCtrl* m_thicknessCtrl;
|
wxTextCtrl* m_thicknessCtrl;
|
||||||
wxStaticText* m_thicknessUnits;
|
wxStaticText* m_thicknessUnits;
|
||||||
@ -77,10 +81,10 @@ class DIALOG_SHAPE_PROPERTIES_BASE : public DIALOG_SHIM
|
|||||||
wxBitmapComboBox* m_lineStyleCombo;
|
wxBitmapComboBox* m_lineStyleCombo;
|
||||||
wxStaticText* m_fillLabel;
|
wxStaticText* m_fillLabel;
|
||||||
wxChoice* m_fillCtrl;
|
wxChoice* m_fillCtrl;
|
||||||
wxStaticText* m_LayerLabel;
|
|
||||||
PCB_LAYER_BOX_SELECTOR* m_LayerSelectionCtrl;
|
|
||||||
wxStaticText* m_netLabel;
|
wxStaticText* m_netLabel;
|
||||||
NET_SELECTOR* m_netSelector;
|
NET_SELECTOR* m_netSelector;
|
||||||
|
wxStaticText* m_LayerLabel;
|
||||||
|
PCB_LAYER_BOX_SELECTOR* m_LayerSelectionCtrl;
|
||||||
wxStaticText* m_techLayersLabel;
|
wxStaticText* m_techLayersLabel;
|
||||||
wxStaticLine* m_staticline1;
|
wxStaticLine* m_staticline1;
|
||||||
wxCheckBox* m_hasSolderMask;
|
wxCheckBox* m_hasSolderMask;
|
||||||
@ -92,6 +96,8 @@ class DIALOG_SHAPE_PROPERTIES_BASE : public DIALOG_SHIM
|
|||||||
wxButton* m_StandardButtonsSizerCancel;
|
wxButton* m_StandardButtonsSizerCancel;
|
||||||
|
|
||||||
// Virtual event handlers, override them in your derived class
|
// Virtual event handlers, override them in your derived class
|
||||||
|
virtual void onRoundedRectChanged( wxCommandEvent& event ) { event.Skip(); }
|
||||||
|
virtual void onCornerRadius( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void onLayerSelection( wxCommandEvent& event ) { event.Skip(); }
|
virtual void onLayerSelection( wxCommandEvent& event ) { event.Skip(); }
|
||||||
virtual void onTechLayersChanged( wxCommandEvent& event ) { event.Skip(); }
|
virtual void onTechLayersChanged( wxCommandEvent& event ) { event.Skip(); }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user