Progressive disclosure pad properties.
This commit is contained in:
parent
aadc926740
commit
9ff09aa784
|
@ -37,7 +37,6 @@
|
|||
#include <macros.h>
|
||||
#include <pcb_base_frame.h>
|
||||
#include <pcb_painter.h>
|
||||
#include <pcbnew.h>
|
||||
#include <pcbnew_settings.h>
|
||||
#include <settings/color_settings.h>
|
||||
#include <view/view_controls.h>
|
||||
|
@ -184,6 +183,7 @@ DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES( PCB_BASE_FRAME* aParent, D_PAD* aP
|
|||
m_staticTextInfoPaste->SetFont( infoFont );
|
||||
m_staticTextInfoNegVal->SetFont( infoFont );
|
||||
m_staticTextInfoPosValue->SetFont( infoFont );
|
||||
m_staticTextPrimitiveListWarning->SetFont( infoFont );
|
||||
|
||||
// Usually, TransferDataToWindow is called by OnInitDialog
|
||||
// calling it here fixes all widget sizes so FinishDialogSettings can safely fix minsizes
|
||||
|
@ -200,6 +200,9 @@ DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES( PCB_BASE_FRAME* aParent, D_PAD* aP
|
|||
|
||||
// Now all widgets have the size fixed, call FinishDialogSettings
|
||||
FinishDialogSettings();
|
||||
|
||||
wxUpdateUIEvent dummy;
|
||||
OnUpdateUI( dummy );
|
||||
}
|
||||
|
||||
|
||||
|
@ -486,6 +489,7 @@ void DIALOG_PAD_PROPERTIES::initValues()
|
|||
m_sizeX.SetValue( m_dummyPad->GetSize().x );
|
||||
m_sizeY.SetValue( m_dummyPad->GetSize().y );
|
||||
|
||||
m_offsetShapeOpt->SetValue( m_dummyPad->GetOffset() != wxPoint() );
|
||||
m_offsetX.SetValue( m_dummyPad->GetOffset().x );
|
||||
m_offsetY.SetValue( m_dummyPad->GetOffset().y );
|
||||
|
||||
|
@ -500,6 +504,7 @@ void DIALOG_PAD_PROPERTIES::initValues()
|
|||
m_trapAxisCtrl->SetSelection( 1 );
|
||||
}
|
||||
|
||||
m_padToDieOpt->SetValue( m_dummyPad->GetPadToDieLength() != 0 );
|
||||
m_padToDie.SetValue( m_dummyPad->GetPadToDieLength() );
|
||||
|
||||
m_clearance.SetValue( m_dummyPad->GetLocalClearance() );
|
||||
|
@ -630,14 +635,6 @@ void DIALOG_PAD_PROPERTIES::initValues()
|
|||
m_choiceFabProperty->Enable( false );
|
||||
}
|
||||
|
||||
|
||||
// Disable Pad name,and pad to die length for mechanical and aperture pads
|
||||
m_PadNumText->Enable( !mechanical && !aperture );
|
||||
m_PadNumCtrl->Enable( !mechanical && !aperture );
|
||||
m_PadNameText->Enable( !mechanical && !aperture && m_canEditNetName && m_currentPad );
|
||||
m_PadNetSelector->Enable( !mechanical && !aperture && m_canEditNetName && m_currentPad );
|
||||
m_padToDie.Enable( !mechanical && !aperture );
|
||||
|
||||
if( m_dummyPad->GetDrillShape() != PAD_DRILL_SHAPE_OBLONG )
|
||||
m_holeShapeCtrl->SetSelection( 0 );
|
||||
else
|
||||
|
@ -769,88 +766,60 @@ void DIALOG_PAD_PROPERTIES::onChangePadMode( wxCommandEvent& event )
|
|||
|
||||
void DIALOG_PAD_PROPERTIES::OnPadShapeSelection( wxCommandEvent& event )
|
||||
{
|
||||
bool is_custom = false;
|
||||
|
||||
switch( m_PadShape->GetSelection() )
|
||||
{
|
||||
case CHOICE_SHAPE_CIRCLE:
|
||||
m_trapDelta.Enable( false );
|
||||
m_trapAxisLabel->Enable( false );
|
||||
m_trapAxisCtrl->Enable( false );
|
||||
m_sizeY.Enable( false );
|
||||
m_offsetX.Enable( false );
|
||||
m_offsetY.Enable( false );
|
||||
break;
|
||||
|
||||
case CHOICE_SHAPE_OVAL:
|
||||
m_trapDelta.Enable( false );
|
||||
m_trapAxisLabel->Enable( false );
|
||||
m_trapAxisCtrl->Enable( false );
|
||||
m_sizeY.Enable( true );
|
||||
m_offsetX.Enable( true );
|
||||
m_offsetY.Enable( true );
|
||||
break;
|
||||
|
||||
case CHOICE_SHAPE_RECT:
|
||||
m_trapDelta.Enable( false );
|
||||
m_trapAxisLabel->Enable( false );
|
||||
m_trapAxisCtrl->Enable( false );
|
||||
m_sizeY.Enable( true );
|
||||
m_offsetX.Enable( true );
|
||||
m_offsetY.Enable( true );
|
||||
m_shapePropsBook->SetSelection( 0 );
|
||||
break;
|
||||
|
||||
case CHOICE_SHAPE_TRAPEZOID:
|
||||
m_trapDelta.Enable( true );
|
||||
m_trapAxisLabel->Enable( true );
|
||||
m_trapAxisCtrl->Enable( true );
|
||||
m_sizeY.Enable( true );
|
||||
m_offsetX.Enable( true );
|
||||
m_offsetY.Enable( true );
|
||||
m_shapePropsBook->SetSelection( 1 );
|
||||
break;
|
||||
|
||||
case CHOICE_SHAPE_ROUNDRECT:
|
||||
case CHOICE_SHAPE_CHAMFERED_RECT:
|
||||
m_trapDelta.Enable( false );
|
||||
m_trapAxisLabel->Enable( false );
|
||||
m_trapAxisCtrl->Enable( false );
|
||||
m_sizeY.Enable( true );
|
||||
m_offsetX.Enable( true );
|
||||
m_offsetY.Enable( true );
|
||||
m_shapePropsBook->SetSelection( 2 );
|
||||
|
||||
// Ensure m_tcCornerSizeRatio contains the right value:
|
||||
m_tcCornerSizeRatio->ChangeValue( wxString::Format( "%.1f",
|
||||
m_dummyPad->GetRoundRectRadiusRatio()*100 ) );
|
||||
m_dummyPad->GetRoundRectRadiusRatio()*100 ) );
|
||||
break;
|
||||
|
||||
case CHOICE_SHAPE_CHAMFERED_RECT:
|
||||
m_shapePropsBook->SetSelection( 3 );
|
||||
|
||||
// A reasonable default is all corners chamferred.
|
||||
if( !m_cbTopLeft->GetValue() && !m_cbTopRight->GetValue()
|
||||
&& !m_cbBottomLeft->GetValue() && !m_cbBottomRight->GetValue() )
|
||||
{
|
||||
m_cbTopLeft->SetValue( true );
|
||||
m_cbTopRight->SetValue( true );
|
||||
m_cbBottomLeft->SetValue( true );
|
||||
m_cbBottomRight->SetValue( true );
|
||||
}
|
||||
break;
|
||||
|
||||
case CHOICE_SHAPE_CUSTOM_CIRC_ANCHOR: // PAD_SHAPE_CUSTOM, circular anchor
|
||||
case CHOICE_SHAPE_CUSTOM_RECT_ANCHOR: // PAD_SHAPE_CUSTOM, rect anchor
|
||||
is_custom = true;
|
||||
m_trapDelta.Enable( false );
|
||||
m_trapAxisLabel->Enable( false );
|
||||
m_trapAxisCtrl->Enable( false );
|
||||
m_sizeY.Enable( m_PadShape->GetSelection() == CHOICE_SHAPE_CUSTOM_RECT_ANCHOR );
|
||||
m_offsetX.Enable( false );
|
||||
m_offsetY.Enable( false );
|
||||
m_shapePropsBook->SetSelection( 0 );
|
||||
break;
|
||||
}
|
||||
|
||||
m_sizeY.Enable( m_PadShape->GetSelection() != CHOICE_SHAPE_CIRCLE
|
||||
&& m_PadShape->GetSelection() != CHOICE_SHAPE_CUSTOM_CIRC_ANCHOR );
|
||||
|
||||
m_offsetShapeOpt->Enable( m_PadShape->GetSelection() != CHOICE_SHAPE_CIRCLE
|
||||
&& m_PadShape->GetSelection() != CHOICE_SHAPE_CUSTOM_CIRC_ANCHOR
|
||||
&& m_PadShape->GetSelection() != CHOICE_SHAPE_CUSTOM_RECT_ANCHOR );
|
||||
|
||||
if( !m_offsetShapeOpt->IsEnabled() )
|
||||
m_offsetShapeOpt->SetValue( false );
|
||||
|
||||
bool is_custom = m_PadShape->GetSelection() == CHOICE_SHAPE_CUSTOM_CIRC_ANCHOR
|
||||
|| m_PadShape->GetSelection() == CHOICE_SHAPE_CUSTOM_RECT_ANCHOR;
|
||||
|
||||
enablePrimitivePage( is_custom );
|
||||
|
||||
// A few widgets are enabled only for rounded rect and chamfered pads:
|
||||
bool chamfered_rect_enable = m_PadShape->GetSelection() == CHOICE_SHAPE_CHAMFERED_RECT;
|
||||
bool round_rect_enable = m_PadShape->GetSelection() == CHOICE_SHAPE_ROUNDRECT ||
|
||||
chamfered_rect_enable;
|
||||
m_staticTextCornerSizeRatio->Enable( round_rect_enable );
|
||||
m_tcCornerSizeRatio->Enable( round_rect_enable );
|
||||
m_staticTextCornerSizeRatioUnit->Enable( round_rect_enable );
|
||||
m_cornerRadius.Enable( round_rect_enable );
|
||||
|
||||
m_cbTopLeft->Enable( chamfered_rect_enable );
|
||||
m_cbTopRight->Enable( chamfered_rect_enable );
|
||||
m_cbBottomLeft->Enable( chamfered_rect_enable );
|
||||
m_cbBottomRight->Enable( chamfered_rect_enable );
|
||||
m_tcChamferRatio->Enable( chamfered_rect_enable );
|
||||
|
||||
m_staticTextcps->Enable( is_custom );
|
||||
m_ZoneCustomPadShape->Enable( is_custom );
|
||||
|
||||
|
@ -882,22 +851,16 @@ void DIALOG_PAD_PROPERTIES::PadTypeSelected( wxCommandEvent& event )
|
|||
if( (unsigned)ii >= arrayDim( code_type ) ) // catches < 0 also
|
||||
ii = 0;
|
||||
|
||||
bool hasHole, hasConnection;
|
||||
bool hasProperty = true;
|
||||
bool hasHole, hasConnection, hasProperty;
|
||||
|
||||
switch( ii )
|
||||
{
|
||||
default:
|
||||
case 0: /* PTH */ hasHole = true; hasConnection = true; break;
|
||||
case 1: /* SMD */ hasHole = false; hasConnection = true; break;
|
||||
case 2: /* CONN */ hasHole = false; hasConnection = true; break;
|
||||
case 3: /* NPTH */
|
||||
hasHole = true;
|
||||
hasConnection = false;
|
||||
hasProperty = false;
|
||||
break;
|
||||
|
||||
case 4: /* Aperture */ hasHole = false; hasConnection = false; break;
|
||||
case 0: /* PTH */ hasHole = true; hasConnection = true; hasProperty = true; break;
|
||||
case 1: /* SMD */ hasHole = false; hasConnection = true; hasProperty = true; break;
|
||||
case 2: /* CONN */ hasHole = false; hasConnection = true; hasProperty = true; break;
|
||||
case 3: /* NPTH */ hasHole = true; hasConnection = false; hasProperty = false; break;
|
||||
case 4: /* Aperture */ hasHole = false; hasConnection = false; hasProperty = true; break;
|
||||
}
|
||||
|
||||
LSET layer_mask = std_pad_layers[ii];
|
||||
|
@ -918,7 +881,7 @@ void DIALOG_PAD_PROPERTIES::PadTypeSelected( wxCommandEvent& event )
|
|||
{
|
||||
m_PadNumCtrl->SetValue( wxEmptyString );
|
||||
m_PadNetSelector->SetSelectedNetcode( 0 );
|
||||
m_padToDie.SetValue( 0 );
|
||||
m_padToDieOpt->SetValue( false );
|
||||
}
|
||||
else if( m_PadNumCtrl->GetValue().IsEmpty() && m_currentPad )
|
||||
{
|
||||
|
@ -966,10 +929,24 @@ void DIALOG_PAD_PROPERTIES::OnUpdateUI( wxUpdateUIEvent& event )
|
|||
m_PadNumCtrl->Enable( hasConnection );
|
||||
m_PadNameText->Enable( hasConnection );
|
||||
m_PadNetSelector->Enable( hasConnection && m_canEditNetName && m_currentPad );
|
||||
m_padToDie.Enable( hasConnection );
|
||||
m_padToDieOpt->Enable( hasConnection );
|
||||
|
||||
if( !m_padToDieOpt->IsEnabled() )
|
||||
m_padToDieOpt->SetValue( false );
|
||||
|
||||
// Show/hide extra properties
|
||||
m_shapePropsBook->Show( m_shapePropsBook->GetSelection() > 0 );
|
||||
|
||||
// Show/hide offset controls
|
||||
m_offsetCtrls->Show( m_offsetShapeOpt->GetValue() );
|
||||
m_offsetShapeOptLabel->Show( m_offsetShapeOpt->GetValue() );
|
||||
m_padToDie.Show( m_padToDieOpt->GetValue() );
|
||||
|
||||
// Enable/disable Copper Layers control
|
||||
m_rbCopperLayersSel->Enable( ii != 4 );
|
||||
|
||||
// Adjust for any shown/hidden elements
|
||||
Layout();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1497,18 +1474,10 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( D_PAD* aPad )
|
|||
switch( m_ZoneConnectionChoice->GetSelection() )
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
aPad->SetZoneConnection( ZONE_CONNECTION::INHERITED );
|
||||
break;
|
||||
case 1:
|
||||
aPad->SetZoneConnection( ZONE_CONNECTION::FULL );
|
||||
break;
|
||||
case 2:
|
||||
aPad->SetZoneConnection( ZONE_CONNECTION::THERMAL );
|
||||
break;
|
||||
case 3:
|
||||
aPad->SetZoneConnection( ZONE_CONNECTION::NONE );
|
||||
break;
|
||||
case 0: aPad->SetZoneConnection( ZONE_CONNECTION::INHERITED ); break;
|
||||
case 1: aPad->SetZoneConnection( ZONE_CONNECTION::FULL ); break;
|
||||
case 2: aPad->SetZoneConnection( ZONE_CONNECTION::THERMAL ); break;
|
||||
case 3: aPad->SetZoneConnection( ZONE_CONNECTION::NONE ); break;
|
||||
}
|
||||
|
||||
aPad->SetPosition( wxPoint( m_posX.GetValue(), m_posY.GetValue() ) );
|
||||
|
@ -1530,19 +1499,14 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( D_PAD* aPad )
|
|||
else
|
||||
aPad->SetSize( wxSize( m_sizeX.GetValue(), m_sizeY.GetValue() ) );
|
||||
|
||||
// Read pad length die
|
||||
aPad->SetPadToDieLength( m_padToDie.GetValue() );
|
||||
|
||||
// For a trapezoid, test delta value (be sure delta is not too large for pad size)
|
||||
// remember DeltaSize.x is the Y size variation
|
||||
bool error = false;
|
||||
wxSize delta( 0, 0 );
|
||||
|
||||
if( aPad->GetShape() == PAD_SHAPE_TRAPEZOID )
|
||||
{
|
||||
wxSize delta;
|
||||
|
||||
// For a trapezoid, only one of delta.x or delta.y is not 0, depending on
|
||||
// the direction.
|
||||
// For a trapezoid, only one of delta.x or delta.y is not 0, depending on axis.
|
||||
if( m_trapAxisCtrl->GetSelection() == 0 )
|
||||
delta.x = m_trapDelta.GetValue();
|
||||
else
|
||||
|
@ -1571,59 +1535,46 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( D_PAD* aPad )
|
|||
delta.y = aPad->GetSize().x - 2;
|
||||
error = true;
|
||||
}
|
||||
|
||||
aPad->SetDelta( delta );
|
||||
}
|
||||
|
||||
aPad->SetOffset( wxPoint( m_offsetX.GetValue(), m_offsetY.GetValue() ) );
|
||||
aPad->SetDelta( delta );
|
||||
|
||||
if( m_offsetShapeOpt->GetValue() )
|
||||
aPad->SetOffset( wxPoint( m_offsetX.GetValue(), m_offsetY.GetValue() ) );
|
||||
else
|
||||
aPad->SetOffset( wxPoint() );
|
||||
|
||||
// Read pad length die
|
||||
if( m_padToDieOpt->GetValue() )
|
||||
aPad->SetPadToDieLength( m_padToDie.GetValue() );
|
||||
else
|
||||
aPad->SetPadToDieLength( 0 );
|
||||
|
||||
aPad->SetOrientation( m_OrientValue * 10.0 );
|
||||
aPad->SetName( m_PadNumCtrl->GetValue() );
|
||||
aPad->SetNetCode( m_PadNetSelector->GetSelectedNetcode() );
|
||||
|
||||
int chamfers = 0;
|
||||
|
||||
if( m_cbTopLeft->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_TOP_LEFT;
|
||||
if( aPad->GetShape() == PAD_SHAPE_CHAMFERED_RECT )
|
||||
{
|
||||
if( m_cbTopLeft->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_TOP_LEFT;
|
||||
|
||||
if( m_cbTopRight->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_TOP_RIGHT;
|
||||
if( m_cbTopRight->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_TOP_RIGHT;
|
||||
|
||||
if( m_cbBottomLeft->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_BOTTOM_LEFT;
|
||||
if( m_cbBottomLeft->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_BOTTOM_LEFT;
|
||||
|
||||
if( m_cbBottomRight->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_BOTTOM_RIGHT;
|
||||
if( m_cbBottomRight->GetValue() )
|
||||
chamfers |= RECT_CHAMFER_BOTTOM_RIGHT;
|
||||
}
|
||||
|
||||
aPad->SetChamferPositions( chamfers );
|
||||
|
||||
// Clear some values, according to the pad type and shape
|
||||
switch( aPad->GetShape() )
|
||||
if( aPad->GetShape() == PAD_SHAPE_CUSTOM )
|
||||
{
|
||||
case PAD_SHAPE_CIRCLE:
|
||||
aPad->SetOffset( wxPoint( 0, 0 ) );
|
||||
aPad->SetDelta( wxSize( 0, 0 ) );
|
||||
break;
|
||||
|
||||
case PAD_SHAPE_RECT:
|
||||
aPad->SetDelta( wxSize( 0, 0 ) );
|
||||
break;
|
||||
|
||||
case PAD_SHAPE_OVAL:
|
||||
aPad->SetDelta( wxSize( 0, 0 ) );
|
||||
break;
|
||||
|
||||
case PAD_SHAPE_TRAPEZOID:
|
||||
break;
|
||||
|
||||
case PAD_SHAPE_ROUNDRECT:
|
||||
case PAD_SHAPE_CHAMFERED_RECT:
|
||||
aPad->SetDelta( wxSize( 0, 0 ) );
|
||||
break;
|
||||
|
||||
case PAD_SHAPE_CUSTOM:
|
||||
aPad->SetOffset( wxPoint( 0, 0 ) );
|
||||
aPad->SetDelta( wxSize( 0, 0 ) );
|
||||
|
||||
// The pad custom has a "anchor pad" (a basic shape: round or rect pad)
|
||||
// that is the minimal area of this pad, and is usefull to ensure a hole
|
||||
// diameter is acceptable, and is used in Gerber files as flashed area
|
||||
|
@ -1635,10 +1586,6 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( D_PAD* aPad )
|
|||
aPad->SetCustomShapeInZoneOpt( m_ZoneCustomPadShape->GetSelection() == 0 ?
|
||||
CUST_PAD_SHAPE_IN_ZONE_OUTLINE :
|
||||
CUST_PAD_SHAPE_IN_ZONE_CONVEXHULL );
|
||||
break;
|
||||
|
||||
default:
|
||||
;
|
||||
}
|
||||
|
||||
switch( aPad->GetAttribute() )
|
||||
|
@ -1669,19 +1616,12 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( D_PAD* aPad )
|
|||
break;
|
||||
}
|
||||
|
||||
if( aPad->GetShape() == PAD_SHAPE_ROUNDRECT || aPad->GetShape() == PAD_SHAPE_CHAMFERED_RECT )
|
||||
{
|
||||
wxString value = m_tcCornerSizeRatio->GetValue();
|
||||
double ratioPercent;
|
||||
double ratioPercent = 0.0;
|
||||
|
||||
if( value.ToDouble( &ratioPercent ) )
|
||||
aPad->SetRoundRectRadiusRatio( ratioPercent / 100.0 );
|
||||
if( aPad->GetShape() == PAD_SHAPE_ROUNDRECT )
|
||||
m_tcCornerSizeRatio->GetValue().ToDouble( &ratioPercent );
|
||||
|
||||
value = m_tcChamferRatio->GetValue();
|
||||
|
||||
if( value.ToDouble( &ratioPercent ) )
|
||||
aPad->SetChamferRectRatio( ratioPercent / 100.0 );
|
||||
}
|
||||
aPad->SetRoundRectRadiusRatio( ratioPercent / 100.0 );
|
||||
|
||||
aPad->SetProperty( getSelectedProperty() );
|
||||
|
||||
|
@ -1734,6 +1674,27 @@ bool DIALOG_PAD_PROPERTIES::transferDataToPad( D_PAD* aPad )
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_PAD_PROPERTIES::OnOffsetCheckbox( wxCommandEvent& event )
|
||||
{
|
||||
if( m_offsetShapeOpt->GetValue() && m_currentPad )
|
||||
{
|
||||
m_offsetX.SetValue( m_currentPad->GetOffset().x );
|
||||
m_offsetY.SetValue( m_currentPad->GetOffset().y );
|
||||
}
|
||||
|
||||
OnValuesChanged( event );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_PAD_PROPERTIES::OnPadToDieCheckbox( wxCommandEvent& event )
|
||||
{
|
||||
if( m_padToDieOpt->GetValue() && m_currentPad )
|
||||
m_padToDie.SetValue( m_currentPad->GetPadToDieLength() );
|
||||
|
||||
OnValuesChanged( event );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_PAD_PROPERTIES::OnValuesChanged( wxCommandEvent& event )
|
||||
{
|
||||
if( m_canUpdate )
|
||||
|
|
|
@ -120,6 +120,8 @@ private:
|
|||
void OnPadShapeSelection( wxCommandEvent& event ) override;
|
||||
void OnDrillShapeSelected( wxCommandEvent& event ) override;
|
||||
void onChangePadMode( wxCommandEvent& event ) override;
|
||||
void OnOffsetCheckbox( wxCommandEvent& event ) override;
|
||||
void OnPadToDieCheckbox( wxCommandEvent& event ) override;
|
||||
|
||||
void PadOrientEvent( wxCommandEvent& event ) override;
|
||||
void PadTypeSelected( wxCommandEvent& event ) override;
|
||||
|
|
|
@ -30,292 +30,402 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
wxBoxSizer* m_LeftBoxSizer;
|
||||
m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxFlexGridSizer* fgSizerShapeType;
|
||||
fgSizerShapeType = new wxFlexGridSizer( 0, 3, 2, 0 );
|
||||
fgSizerShapeType->AddGrowableCol( 1 );
|
||||
fgSizerShapeType->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerShapeType->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
wxGridBagSizer* gbSizerCommon;
|
||||
gbSizerCommon = new wxGridBagSizer( 0, 0 );
|
||||
gbSizerCommon->SetFlexibleDirection( wxBOTH );
|
||||
gbSizerCommon->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_PadNumText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad number:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_PadNumText->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_PadNumText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 3 );
|
||||
|
||||
m_PadNumCtrl = new wxTextCtrl( m_panelGeneral, wxID_PADNUMCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_PadNumCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
|
||||
fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_PadNameText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Net name:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_PadNameText->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_PadNameText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 3 );
|
||||
|
||||
m_PadNetSelector = new NET_SELECTOR( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_PadNetSelector, 0, wxTOP|wxLEFT|wxEXPAND, 3 );
|
||||
|
||||
|
||||
fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_staticText44 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad type:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText44->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_staticText44, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 3 );
|
||||
m_padTypeLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad type:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_padTypeLabel->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_padTypeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
|
||||
wxString m_PadTypeChoices[] = { _("Through-hole"), _("SMD"), _("Edge Connector"), _("NPTH, Mechanical"), _("SMD Aperture") };
|
||||
int m_PadTypeNChoices = sizeof( m_PadTypeChoices ) / sizeof( wxString );
|
||||
m_PadType = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_PadTypeNChoices, m_PadTypeChoices, 0 );
|
||||
m_PadType->SetSelection( 0 );
|
||||
fgSizerShapeType->Add( m_PadType, 0, wxEXPAND|wxALL, 3 );
|
||||
gbSizerCommon->Add( m_PadType, wxGBPosition( 0, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_PadNumText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad number:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_PadNumText->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_PadNumText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_PadNumCtrl = new wxTextCtrl( m_panelGeneral, wxID_PADNUMCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gbSizerCommon->Add( m_PadNumCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_PadNameText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Net name:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_PadNameText->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_PadNameText, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_PadNetSelector = new NET_SELECTOR( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gbSizerCommon->Add( m_PadNetSelector, wxGBPosition( 2, 1 ), wxGBSpan( 1, 5 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxEXPAND, 5 );
|
||||
|
||||
m_posXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Position X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posXLabel->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_posXLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_posXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gbSizerCommon->Add( m_posXCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 5 );
|
||||
|
||||
m_posXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posXUnits->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_posXUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
m_posYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posYLabel->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_posYLabel, wxGBPosition( 3, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
m_posYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gbSizerCommon->Add( m_posYCtrl, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 5 );
|
||||
|
||||
m_posYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posYUnits->Wrap( -1 );
|
||||
gbSizerCommon->Add( m_posYUnits, wxGBPosition( 3, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
|
||||
fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
gbSizerCommon->AddGrowableCol( 1 );
|
||||
gbSizerCommon->AddGrowableCol( 4 );
|
||||
|
||||
m_staticText45 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Shape:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText45->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_staticText45, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 3 );
|
||||
m_LeftBoxSizer->Add( gbSizerCommon, 0, wxEXPAND|wxBOTTOM, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_staticline5 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
m_LeftBoxSizer->Add( m_staticline5, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerShape;
|
||||
bSizerShape = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_shapeLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad shape:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_shapeLabel->Wrap( -1 );
|
||||
bSizerShape->Add( m_shapeLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxString m_PadShapeChoices[] = { _("Circular"), _("Oval"), _("Rectangular"), _("Trapezoidal"), _("Rounded Rectangle"), _("Chamfered Rectangle"), _("Custom (Circ. Anchor)"), _("Custom (Rect. Anchor)") };
|
||||
int m_PadShapeNChoices = sizeof( m_PadShapeChoices ) / sizeof( wxString );
|
||||
m_PadShape = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_PadShapeNChoices, m_PadShapeChoices, 0 );
|
||||
m_PadShape->SetSelection( 0 );
|
||||
fgSizerShapeType->Add( m_PadShape, 0, wxEXPAND|wxALL, 3 );
|
||||
bSizerShape->Add( m_PadShape, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
|
||||
fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
m_LeftBoxSizer->Add( bSizerShape, 0, wxEXPAND|wxTOP, 5 );
|
||||
|
||||
m_posXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Position X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posXLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_posXLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 3 );
|
||||
wxBoxSizer* bSizerShapeProps;
|
||||
bSizerShapeProps = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_posXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_posXCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_posXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posXUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_posXUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
m_LeftBoxSizer->Add( bSizerShapeProps, 0, wxEXPAND|wxLEFT, 25 );
|
||||
|
||||
m_posYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Position Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posYLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_posYLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 3 );
|
||||
m_shapePropsBook = new wxSimplebook( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_pageSimple = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
||||
m_shapePropsBook->AddPage( m_pageSimple, _("a page"), false );
|
||||
m_pageTrap = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
||||
fgSizerTrapProps = new wxFlexGridSizer( 0, 3, 0, 0 );
|
||||
fgSizerTrapProps->AddGrowableCol( 1 );
|
||||
fgSizerTrapProps->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerTrapProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_posYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_posYCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
m_trapDeltaLabel = new wxStaticText( m_pageTrap, wxID_ANY, _("Trapezoid delta:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapDeltaLabel->Wrap( -1 );
|
||||
fgSizerTrapProps->Add( m_trapDeltaLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP, 5 );
|
||||
|
||||
m_posYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_posYUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_posYUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
m_trapDeltaCtrl = new wxTextCtrl( m_pageTrap, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerTrapProps->Add( m_trapDeltaCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
m_sizeXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Size X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapDeltaUnits = new wxStaticText( m_pageTrap, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapDeltaUnits->Wrap( -1 );
|
||||
fgSizerTrapProps->Add( m_trapDeltaUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
m_trapAxisLabel = new wxStaticText( m_pageTrap, wxID_ANY, _("Trapezoid axis:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapAxisLabel->Wrap( -1 );
|
||||
fgSizerTrapProps->Add( m_trapAxisLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP, 5 );
|
||||
|
||||
wxString m_trapAxisCtrlChoices[] = { _("Horizontal"), _("Vertical") };
|
||||
int m_trapAxisCtrlNChoices = sizeof( m_trapAxisCtrlChoices ) / sizeof( wxString );
|
||||
m_trapAxisCtrl = new wxChoice( m_pageTrap, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_trapAxisCtrlNChoices, m_trapAxisCtrlChoices, 0 );
|
||||
m_trapAxisCtrl->SetSelection( 0 );
|
||||
fgSizerTrapProps->Add( m_trapAxisCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
|
||||
m_pageTrap->SetSizer( fgSizerTrapProps );
|
||||
m_pageTrap->Layout();
|
||||
fgSizerTrapProps->Fit( m_pageTrap );
|
||||
m_shapePropsBook->AddPage( m_pageTrap, _("a page"), false );
|
||||
m_pageRounding = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
||||
fgSizerRoundingProps = new wxFlexGridSizer( 0, 3, 0, 0 );
|
||||
fgSizerRoundingProps->AddGrowableCol( 1 );
|
||||
fgSizerRoundingProps->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerRoundingProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_staticTextCornerSizeRatio = new wxStaticText( m_pageRounding, wxID_ANY, _("Corner size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextCornerSizeRatio->Wrap( -1 );
|
||||
m_staticTextCornerSizeRatio->SetToolTip( _("Corner radius in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
|
||||
|
||||
fgSizerRoundingProps->Add( m_staticTextCornerSizeRatio, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
m_tcCornerSizeRatio = new TEXT_CTRL_EVAL( m_pageRounding, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerRoundingProps->Add( m_tcCornerSizeRatio, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
m_staticTextCornerSizeRatioUnit = new wxStaticText( m_pageRounding, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextCornerSizeRatioUnit->Wrap( -1 );
|
||||
fgSizerRoundingProps->Add( m_staticTextCornerSizeRatioUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
m_cornerRadiusLabel = new wxStaticText( m_pageRounding, wxID_ANY, _("Corner radius:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cornerRadiusLabel->Wrap( -1 );
|
||||
m_cornerRadiusLabel->SetToolTip( _("Corner radius.\nCan be no more than half pad width.\nThe width is the smaller value between size X and size Y.\nNote: IPC norm gives a max value = 0.25mm.") );
|
||||
|
||||
fgSizerRoundingProps->Add( m_cornerRadiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
m_tcCornerRadius = new wxTextCtrl( m_pageRounding, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerRoundingProps->Add( m_tcCornerRadius, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
m_cornerRadiusUnits = new wxStaticText( m_pageRounding, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cornerRadiusUnits->Wrap( -1 );
|
||||
fgSizerRoundingProps->Add( m_cornerRadiusUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
|
||||
m_pageRounding->SetSizer( fgSizerRoundingProps );
|
||||
m_pageRounding->Layout();
|
||||
fgSizerRoundingProps->Fit( m_pageRounding );
|
||||
m_shapePropsBook->AddPage( m_pageRounding, _("a page"), false );
|
||||
m_pageChamfer = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
||||
wxFlexGridSizer* fgSizerChamferProps;
|
||||
fgSizerChamferProps = new wxFlexGridSizer( 0, 3, 0, 0 );
|
||||
fgSizerChamferProps->AddGrowableCol( 1 );
|
||||
fgSizerChamferProps->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerChamferProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_staticTextChamferRatio = new wxStaticText( m_pageChamfer, wxID_ANY, _("Chamfer size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextChamferRatio->Wrap( -1 );
|
||||
m_staticTextChamferRatio->SetToolTip( _("Chamfer size in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
|
||||
|
||||
fgSizerChamferProps->Add( m_staticTextChamferRatio, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_tcChamferRatio = new TEXT_CTRL_EVAL( m_pageChamfer, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerChamferProps->Add( m_tcChamferRatio, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_staticTextChamferRatioUnit = new wxStaticText( m_pageChamfer, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextChamferRatioUnit->Wrap( -1 );
|
||||
fgSizerChamferProps->Add( m_staticTextChamferRatioUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_staticTextChamferCorner = new wxStaticText( m_pageChamfer, wxID_ANY, _("Chamfer corners:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextChamferCorner->Wrap( -1 );
|
||||
m_staticTextChamferCorner->SetToolTip( _("Chamfered corners. The position is relative to a pad orientation 0 degree.") );
|
||||
|
||||
fgSizerChamferProps->Add( m_staticTextChamferCorner, 0, wxTOP, 5 );
|
||||
|
||||
wxGridSizer* gCornersSizer;
|
||||
gCornersSizer = new wxGridSizer( 0, 2, 3, 6 );
|
||||
|
||||
m_cbTopLeft = new wxCheckBox( m_pageChamfer, wxID_ANY, _("Top left"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cbTopLeft->SetValue(true);
|
||||
gCornersSizer->Add( m_cbTopLeft, 0, 0, 5 );
|
||||
|
||||
m_cbTopRight = new wxCheckBox( m_pageChamfer, wxID_ANY, _("Top right"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gCornersSizer->Add( m_cbTopRight, 0, 0, 5 );
|
||||
|
||||
m_cbBottomLeft = new wxCheckBox( m_pageChamfer, wxID_ANY, _("Bottom left"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gCornersSizer->Add( m_cbBottomLeft, 0, 0, 5 );
|
||||
|
||||
m_cbBottomRight = new wxCheckBox( m_pageChamfer, wxID_ANY, _("Bottom right"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gCornersSizer->Add( m_cbBottomRight, 0, 0, 5 );
|
||||
|
||||
|
||||
fgSizerChamferProps->Add( gCornersSizer, 1, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
m_pageChamfer->SetSizer( fgSizerChamferProps );
|
||||
m_pageChamfer->Layout();
|
||||
fgSizerChamferProps->Fit( m_pageChamfer );
|
||||
m_shapePropsBook->AddPage( m_pageChamfer, _("a page"), false );
|
||||
|
||||
m_LeftBoxSizer->Add( m_shapePropsBook, 0, wxEXPAND|wxLEFT, 20 );
|
||||
|
||||
wxGridBagSizer* gbSizerPadOrientation;
|
||||
gbSizerPadOrientation = new wxGridBagSizer( 0, 0 );
|
||||
gbSizerPadOrientation->SetFlexibleDirection( wxBOTH );
|
||||
gbSizerPadOrientation->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_sizeXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad size X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeXLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_sizeXLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 3 );
|
||||
gbSizerPadOrientation->Add( m_sizeXLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_sizeXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_sizeXCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
m_sizeXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 );
|
||||
gbSizerPadOrientation->Add( m_sizeXCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
|
||||
|
||||
m_sizeXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeXUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_sizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
gbSizerPadOrientation->Add( m_sizeXUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_sizeYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Size Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeYLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_sizeYLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 3 );
|
||||
gbSizerPadOrientation->Add( m_sizeYLabel, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_sizeYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_sizeYCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
gbSizerPadOrientation->Add( m_sizeYCtrl, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
|
||||
|
||||
m_sizeYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_sizeYUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_sizeYUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
gbSizerPadOrientation->Add( m_sizeYUnits, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_PadOrientText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Orientation:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_PadOrientText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Angle:"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
|
||||
m_PadOrientText->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_PadOrientText, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 3 );
|
||||
gbSizerPadOrientation->Add( m_PadOrientText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_orientation = new wxComboBox( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||
m_orientation = new wxComboBox( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 100,-1 ), 0, NULL, 0 );
|
||||
m_orientation->Append( _("0") );
|
||||
m_orientation->Append( _("90") );
|
||||
m_orientation->Append( _("-90") );
|
||||
m_orientation->Append( _("180") );
|
||||
fgSizerShapeType->Add( m_orientation, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
gbSizerPadOrientation->Add( m_orientation, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
|
||||
|
||||
m_staticText491 = new wxStaticText( m_panelGeneral, wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText491->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_staticText491, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
|
||||
m_offsetXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Shape offset X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetXLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_offsetXLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 3 );
|
||||
|
||||
m_offsetXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_offsetXCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_offsetXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetXUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_offsetXUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 );
|
||||
|
||||
m_offsetYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Shape offset Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetYLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_offsetYLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 3 );
|
||||
|
||||
m_offsetYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_offsetYCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_offsetYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetYUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_offsetYUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
|
||||
m_trapDeltaLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Trapezoid delta:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapDeltaLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_trapDeltaLabel, 0, wxTOP|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
|
||||
m_trapDeltaCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_trapDeltaCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
|
||||
m_trapDeltaUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapDeltaUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_trapDeltaUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
|
||||
m_trapAxisLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Trapezoid axis:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_trapAxisLabel->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_trapAxisLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 3 );
|
||||
|
||||
wxString m_trapAxisCtrlChoices[] = { _("Horizontal"), _("Vertical") };
|
||||
int m_trapAxisCtrlNChoices = sizeof( m_trapAxisCtrlChoices ) / sizeof( wxString );
|
||||
m_trapAxisCtrl = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_trapAxisCtrlNChoices, m_trapAxisCtrlChoices, 0 );
|
||||
m_trapAxisCtrl->SetSelection( 0 );
|
||||
fgSizerShapeType->Add( m_trapAxisCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
m_orientationUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_orientationUnits->Wrap( -1 );
|
||||
gbSizerPadOrientation->Add( m_orientationUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
|
||||
|
||||
|
||||
fgSizerShapeType->Add( 0, 0, 1, wxEXPAND|wxTOP, 15 );
|
||||
|
||||
m_staticTextCornerSizeRatio = new wxStaticText( m_panelGeneral, wxID_ANY, _("Corner size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextCornerSizeRatio->Wrap( -1 );
|
||||
m_staticTextCornerSizeRatio->SetToolTip( _("Corner radius in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
|
||||
|
||||
fgSizerShapeType->Add( m_staticTextCornerSizeRatio, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_tcCornerSizeRatio = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_tcCornerSizeRatio, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_staticTextCornerSizeRatioUnit = new wxStaticText( m_panelGeneral, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextCornerSizeRatioUnit->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_staticTextCornerSizeRatioUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
|
||||
m_cornerRadiusLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Corner radius:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cornerRadiusLabel->Wrap( -1 );
|
||||
m_cornerRadiusLabel->SetToolTip( _("Corner radius.\nCan be no more than half pad width.\nThe width is the smaller value between size X and size Y.\nNote: IPC norm gives a max value = 0.25mm.") );
|
||||
|
||||
fgSizerShapeType->Add( m_cornerRadiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_tcCornerRadius = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_tcCornerRadius, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
|
||||
m_cornerRadiusUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cornerRadiusUnits->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_cornerRadiusUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
|
||||
m_staticTextChamferRatio = new wxStaticText( m_panelGeneral, wxID_ANY, _("Chamfer size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextChamferRatio->Wrap( -1 );
|
||||
m_staticTextChamferRatio->SetToolTip( _("Chamfer size in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
|
||||
|
||||
fgSizerShapeType->Add( m_staticTextChamferRatio, 0, wxALIGN_CENTER_VERTICAL|wxALL, 3 );
|
||||
|
||||
m_tcChamferRatio = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerShapeType->Add( m_tcChamferRatio, 0, wxEXPAND|wxALL|wxALIGN_CENTER_VERTICAL, 3 );
|
||||
|
||||
m_staticTextChamferRatioUnit = new wxStaticText( m_panelGeneral, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextChamferRatioUnit->Wrap( -1 );
|
||||
fgSizerShapeType->Add( m_staticTextChamferRatioUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_staticTextChamferCorner = new wxStaticText( m_panelGeneral, wxID_ANY, _("Chamfers:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextChamferCorner->Wrap( -1 );
|
||||
m_staticTextChamferCorner->SetToolTip( _("Chamfered corners. The position is relative to a pad orientation 0 degree.") );
|
||||
|
||||
fgSizerShapeType->Add( m_staticTextChamferCorner, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
wxGridSizer* gSizer1;
|
||||
gSizer1 = new wxGridSizer( 0, 2, 3, 6 );
|
||||
|
||||
m_cbTopLeft = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Top left"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cbTopLeft->SetValue(true);
|
||||
gSizer1->Add( m_cbTopLeft, 0, 0, 5 );
|
||||
|
||||
m_cbTopRight = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Top right"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gSizer1->Add( m_cbTopRight, 0, 0, 5 );
|
||||
|
||||
m_cbBottomLeft = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Bottom left"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gSizer1->Add( m_cbBottomLeft, 0, 0, 5 );
|
||||
|
||||
m_cbBottomRight = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Bottom right"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
gSizer1->Add( m_cbBottomRight, 0, 0, 5 );
|
||||
m_LeftBoxSizer->Add( gbSizerPadOrientation, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
fgSizerShapeType->Add( gSizer1, 1, wxEXPAND|wxTOP|wxLEFT, 3 );
|
||||
m_LeftBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_staticline6 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
m_LeftBoxSizer->Add( m_staticline6, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( fgSizerShapeType, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
m_LeftBoxSizer->Add( 0, 5, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bGeneralSizer->Add( m_LeftBoxSizer, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_middleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxFlexGridSizer* fgSizerGeometry;
|
||||
fgSizerGeometry = new wxFlexGridSizer( 14, 3, 0, 0 );
|
||||
fgSizerGeometry->AddGrowableCol( 1 );
|
||||
fgSizerGeometry->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerGeometry->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
wxGridBagSizer* gbSizerHole;
|
||||
gbSizerHole = new wxGridBagSizer( 0, 0 );
|
||||
gbSizerHole->SetFlexibleDirection( wxBOTH );
|
||||
gbSizerHole->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_holeShapeLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole shape:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeShapeLabel->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_holeShapeLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
gbSizerHole->Add( m_holeShapeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
|
||||
|
||||
wxString m_holeShapeCtrlChoices[] = { _("Circular"), _("Oval") };
|
||||
int m_holeShapeCtrlNChoices = sizeof( m_holeShapeCtrlChoices ) / sizeof( wxString );
|
||||
m_holeShapeCtrl = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_holeShapeCtrlNChoices, m_holeShapeCtrlChoices, 0 );
|
||||
m_holeShapeCtrl->SetSelection( 0 );
|
||||
fgSizerGeometry->Add( m_holeShapeCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxTOP, 5 );
|
||||
|
||||
m_staticText51 = new wxStaticText( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText51->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_staticText51, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
|
||||
gbSizerHole->Add( m_holeShapeCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_holeXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole size X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeXLabel->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_holeXLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
|
||||
gbSizerHole->Add( m_holeXLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_holeXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerGeometry->Add( m_holeXCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
|
||||
gbSizerHole->Add( m_holeXCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_holeXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeXUnits->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_holeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
gbSizerHole->Add( m_holeXUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_holeYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole size Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeYLabel->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_holeYLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
gbSizerHole->Add( m_holeYLabel, wxGBPosition( 1, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_holeYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerGeometry->Add( m_holeYCtrl, 0, wxEXPAND|wxTOP|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
gbSizerHole->Add( m_holeYCtrl, wxGBPosition( 1, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_holeYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_holeYUnits->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_holeYUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
gbSizerHole->Add( m_holeYUnits, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_padToDieLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad to die:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
||||
m_LeftBoxSizer->Add( gbSizerHole, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_staticline7 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
m_LeftBoxSizer->Add( m_staticline7, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer35;
|
||||
bSizer35 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_offsetShapeOpt = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Offset shape from hole"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer35->Add( m_offsetShapeOpt, 0, wxLEFT, 5 );
|
||||
|
||||
m_offsetShapeOptLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _(":"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetShapeOptLabel->Wrap( -1 );
|
||||
bSizer35->Add( m_offsetShapeOptLabel, 0, wxRIGHT, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( bSizer35, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( 0, 3, 0, wxEXPAND, 5 );
|
||||
|
||||
m_offsetCtrls = new wxFlexGridSizer( 0, 6, 0, 0 );
|
||||
m_offsetCtrls->AddGrowableCol( 1 );
|
||||
m_offsetCtrls->AddGrowableCol( 4 );
|
||||
m_offsetCtrls->SetFlexibleDirection( wxBOTH );
|
||||
m_offsetCtrls->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
m_offsetXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("X:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetXLabel->Wrap( -1 );
|
||||
m_offsetCtrls->Add( m_offsetXLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_offsetXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetCtrls->Add( m_offsetXCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
|
||||
|
||||
m_offsetXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetXUnits->Wrap( -1 );
|
||||
m_offsetCtrls->Add( m_offsetXUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_offsetYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetYLabel->Wrap( -1 );
|
||||
m_offsetCtrls->Add( m_offsetYLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
|
||||
|
||||
m_offsetYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetCtrls->Add( m_offsetYCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
|
||||
|
||||
m_offsetYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_offsetYUnits->Wrap( -1 );
|
||||
m_offsetCtrls->Add( m_offsetYUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
|
||||
m_LeftBoxSizer->Add( m_offsetCtrls, 0, wxEXPAND|wxLEFT, 25 );
|
||||
|
||||
wxFlexGridSizer* fgSizerPadToDie;
|
||||
fgSizerPadToDie = new wxFlexGridSizer( 14, 3, 0, 0 );
|
||||
fgSizerPadToDie->AddGrowableCol( 1 );
|
||||
fgSizerPadToDie->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerPadToDie->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
wxBoxSizer* bSizer34;
|
||||
bSizer34 = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_padToDieOpt = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Specify pad to die length"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer34->Add( m_padToDieOpt, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
m_padToDieLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _(":"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_padToDieLabel->Wrap( -1 );
|
||||
m_padToDieLabel->SetToolTip( _("Wire length from pad to die on chip ( used to calculate actual track length)") );
|
||||
bSizer34->Add( m_padToDieLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
fgSizerGeometry->Add( m_padToDieLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
fgSizerPadToDie->Add( bSizer34, 0, wxEXPAND|wxRIGHT, 5 );
|
||||
|
||||
m_padToDieCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
fgSizerGeometry->Add( m_padToDieCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
fgSizerPadToDie->Add( m_padToDieCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
|
||||
|
||||
m_padToDieUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_padToDieUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_padToDieUnits->Wrap( -1 );
|
||||
fgSizerGeometry->Add( m_padToDieUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 );
|
||||
fgSizerPadToDie->Add( m_padToDieUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
|
||||
|
||||
|
||||
m_middleBoxSizer->Add( fgSizerGeometry, 0, wxEXPAND, 5 );
|
||||
m_LeftBoxSizer->Add( fgSizerPadToDie, 0, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bGeneralSizer->Add( m_LeftBoxSizer, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
m_middleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxStaticBoxSizer* m_LayersSizer;
|
||||
m_LayersSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGeneral, wxID_ANY, wxEmptyString ), wxVERTICAL );
|
||||
|
@ -398,6 +508,9 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
|
||||
m_middleBoxSizer->Add( m_staticTextFabProperty, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
m_middleBoxSizer->Add( 0, 2, 0, wxEXPAND, 5 );
|
||||
|
||||
wxString m_choiceFabPropertyChoices[] = { _("None"), _("BGA pad"), _("Fiducial, local to footprint"), _("Fiducial, global to board"), _("Test Point Pad"), _("Heatsink pad"), _("Castellated pad (through hole only)") };
|
||||
int m_choiceFabPropertyNChoices = sizeof( m_choiceFabPropertyChoices ) / sizeof( wxString );
|
||||
m_choiceFabProperty = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceFabPropertyNChoices, m_choiceFabPropertyChoices, 0 );
|
||||
|
@ -623,20 +736,26 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
m_panelCustomShapePrimitives = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
|
||||
m_bSizerPanelPrimitives = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticTextPrimitivesList = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Primitives list"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxBoxSizer* bSizerAboveList;
|
||||
bSizerAboveList = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_staticTextPrimitivesList = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Primitives list:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextPrimitivesList->Wrap( -1 );
|
||||
m_staticTextPrimitivesList->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
|
||||
m_staticTextPrimitivesList->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
|
||||
|
||||
m_bSizerPanelPrimitives->Add( m_staticTextPrimitivesList, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||
bSizerAboveList->Add( m_staticTextPrimitivesList, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
m_staticTextPrimitiveListWarning = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Coordinates are relative to anchor pad, orientation 0"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextPrimitiveListWarning = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Note: coordinates are relative to anchor pad, orientation 0."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextPrimitiveListWarning->Wrap( -1 );
|
||||
m_staticTextPrimitiveListWarning->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
|
||||
m_staticTextPrimitiveListWarning->SetFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
|
||||
|
||||
m_bSizerPanelPrimitives->Add( m_staticTextPrimitiveListWarning, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||
bSizerAboveList->Add( m_staticTextPrimitiveListWarning, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 7 );
|
||||
|
||||
|
||||
m_bSizerPanelPrimitives->Add( bSizerAboveList, 0, wxEXPAND|wxBOTTOM, 3 );
|
||||
|
||||
m_listCtrlPrimitives = new wxListView( m_panelCustomShapePrimitives, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_NO_HEADER|wxLC_REPORT );
|
||||
m_bSizerPanelPrimitives->Add( m_listCtrlPrimitives, 1, wxALL|wxEXPAND, 5 );
|
||||
m_bSizerPanelPrimitives->Add( m_listCtrlPrimitives, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxBoxSizer* bSizerButtons;
|
||||
bSizerButtons = new wxBoxSizer( wxVERTICAL );
|
||||
|
@ -644,15 +763,12 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
wxBoxSizer* bSizerButtonsUpper;
|
||||
bSizerButtonsUpper = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_buttonDel = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Delete Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerButtonsUpper->Add( m_buttonDel, 0, wxALL, 5 );
|
||||
m_buttonAddShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Add Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerButtonsUpper->Add( m_buttonAddShape, 0, wxALL, 5 );
|
||||
|
||||
m_buttonEditShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Edit Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerButtonsUpper->Add( m_buttonEditShape, 0, wxALL, 5 );
|
||||
|
||||
m_buttonAddShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Add Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerButtonsUpper->Add( m_buttonAddShape, 0, wxALL, 5 );
|
||||
|
||||
m_buttonDup = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Duplicate Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerButtonsUpper->Add( m_buttonDup, 0, wxALL, 5 );
|
||||
|
||||
|
@ -660,10 +776,16 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
bSizerButtonsUpper->Add( m_buttonGeometry, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizerButtons->Add( bSizerButtonsUpper, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||
bSizerButtonsUpper->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_buttonDel = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Delete Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizerButtonsUpper->Add( m_buttonDel, 0, wxALL, 5 );
|
||||
|
||||
|
||||
m_bSizerPanelPrimitives->Add( bSizerButtons, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||
bSizerButtons->Add( bSizerButtonsUpper, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_bSizerPanelPrimitives->Add( bSizerButtons, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_panelCustomShapePrimitives->SetSizer( m_bSizerPanelPrimitives );
|
||||
|
@ -726,21 +848,16 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
|
||||
this->SetSizer( m_MainSizer );
|
||||
this->Layout();
|
||||
m_MainSizer->Fit( this );
|
||||
|
||||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ) );
|
||||
m_panelGeneral->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnUpdateUI ), NULL, this );
|
||||
m_PadNumCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_PadType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ), NULL, this );
|
||||
m_PadNumCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_PadShape->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ), NULL, this );
|
||||
m_sizeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_sizeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_orientation->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_orientation->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_offsetXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_offsetYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_trapDeltaCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_trapAxisCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
m_tcCornerSizeRatio->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
|
||||
|
@ -750,9 +867,17 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
m_cbTopRight->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_cbBottomLeft->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_cbBottomRight->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_sizeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_sizeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_orientation->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_orientation->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_holeShapeCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this );
|
||||
m_holeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_holeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_offsetShapeOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnOffsetCheckbox ), NULL, this );
|
||||
m_offsetXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_offsetYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_padToDieOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadToDieCheckbox ), NULL, this );
|
||||
m_rbCopperLayersSel->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
m_PadLayerAdhCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
m_PadLayerAdhCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
|
@ -770,11 +895,11 @@ DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWind
|
|||
m_listCtrlPrimitives->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ), NULL, this );
|
||||
m_listCtrlPrimitives->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
|
||||
m_listCtrlPrimitives->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
|
||||
m_buttonDel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
|
||||
m_buttonEditShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
|
||||
m_buttonAddShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ), NULL, this );
|
||||
m_buttonEditShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
|
||||
m_buttonDup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ), NULL, this );
|
||||
m_buttonGeometry->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ), NULL, this );
|
||||
m_buttonDel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
|
||||
m_cbShowPadOutline->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ), NULL, this );
|
||||
m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnCancel ), NULL, this );
|
||||
}
|
||||
|
@ -784,15 +909,9 @@ DIALOG_PAD_PROPERTIES_BASE::~DIALOG_PAD_PROPERTIES_BASE()
|
|||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ) );
|
||||
m_panelGeneral->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnUpdateUI ), NULL, this );
|
||||
m_PadNumCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_PadType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ), NULL, this );
|
||||
m_PadNumCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_PadShape->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ), NULL, this );
|
||||
m_sizeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_sizeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_orientation->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_orientation->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_offsetXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_offsetYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_trapDeltaCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_trapAxisCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
m_tcCornerSizeRatio->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
|
||||
|
@ -802,9 +921,17 @@ DIALOG_PAD_PROPERTIES_BASE::~DIALOG_PAD_PROPERTIES_BASE()
|
|||
m_cbTopRight->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_cbBottomLeft->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_cbBottomRight->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_sizeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_sizeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_orientation->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_orientation->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
|
||||
m_holeShapeCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this );
|
||||
m_holeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_holeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_offsetShapeOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnOffsetCheckbox ), NULL, this );
|
||||
m_offsetXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_offsetYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
|
||||
m_padToDieOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadToDieCheckbox ), NULL, this );
|
||||
m_rbCopperLayersSel->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
m_PadLayerAdhCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
m_PadLayerAdhCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
|
||||
|
@ -822,11 +949,11 @@ DIALOG_PAD_PROPERTIES_BASE::~DIALOG_PAD_PROPERTIES_BASE()
|
|||
m_listCtrlPrimitives->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ), NULL, this );
|
||||
m_listCtrlPrimitives->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
|
||||
m_listCtrlPrimitives->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
|
||||
m_buttonDel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
|
||||
m_buttonEditShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
|
||||
m_buttonAddShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ), NULL, this );
|
||||
m_buttonEditShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
|
||||
m_buttonDup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ), NULL, this );
|
||||
m_buttonGeometry->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ), NULL, this );
|
||||
m_buttonDel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
|
||||
m_cbShowPadOutline->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ), NULL, this );
|
||||
m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnCancel ), NULL, this );
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -20,25 +20,26 @@ class WX_GRID;
|
|||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <widgets/net_selector.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/combobox.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/gbsizer.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/simplebook.h>
|
||||
#include <wx/combobox.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/image.h>
|
||||
#include <wx/icon.h>
|
||||
#include <wx/statbmp.h>
|
||||
#include <wx/statbox.h>
|
||||
#include <wx/panel.h>
|
||||
#include <wx/simplebook.h>
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/notebook.h>
|
||||
#include <pcb_base_frame.h>
|
||||
#include <pcb_draw_panel_gal.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/dialog.h>
|
||||
#include <wx/spinctrl.h>
|
||||
#include <wx/grid.h>
|
||||
|
@ -62,46 +63,39 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM
|
|||
|
||||
wxNotebook* m_notebook;
|
||||
wxPanel* m_panelGeneral;
|
||||
wxStaticText* m_padTypeLabel;
|
||||
wxChoice* m_PadType;
|
||||
wxStaticText* m_PadNumText;
|
||||
wxTextCtrl* m_PadNumCtrl;
|
||||
wxStaticText* m_PadNameText;
|
||||
NET_SELECTOR* m_PadNetSelector;
|
||||
wxStaticText* m_staticText44;
|
||||
wxChoice* m_PadType;
|
||||
wxStaticText* m_staticText45;
|
||||
wxChoice* m_PadShape;
|
||||
wxStaticText* m_posXLabel;
|
||||
wxTextCtrl* m_posXCtrl;
|
||||
wxStaticText* m_posXUnits;
|
||||
wxStaticText* m_posYLabel;
|
||||
wxTextCtrl* m_posYCtrl;
|
||||
wxStaticText* m_posYUnits;
|
||||
wxStaticText* m_sizeXLabel;
|
||||
wxTextCtrl* m_sizeXCtrl;
|
||||
wxStaticText* m_sizeXUnits;
|
||||
wxStaticText* m_sizeYLabel;
|
||||
wxTextCtrl* m_sizeYCtrl;
|
||||
wxStaticText* m_sizeYUnits;
|
||||
wxStaticText* m_PadOrientText;
|
||||
wxComboBox* m_orientation;
|
||||
wxStaticText* m_staticText491;
|
||||
wxStaticText* m_offsetXLabel;
|
||||
wxTextCtrl* m_offsetXCtrl;
|
||||
wxStaticText* m_offsetXUnits;
|
||||
wxStaticText* m_offsetYLabel;
|
||||
wxTextCtrl* m_offsetYCtrl;
|
||||
wxStaticText* m_offsetYUnits;
|
||||
wxStaticLine* m_staticline5;
|
||||
wxStaticText* m_shapeLabel;
|
||||
wxChoice* m_PadShape;
|
||||
wxSimplebook* m_shapePropsBook;
|
||||
wxPanel* m_pageSimple;
|
||||
wxPanel* m_pageTrap;
|
||||
wxFlexGridSizer* fgSizerTrapProps;
|
||||
wxStaticText* m_trapDeltaLabel;
|
||||
wxTextCtrl* m_trapDeltaCtrl;
|
||||
wxStaticText* m_trapDeltaUnits;
|
||||
wxStaticText* m_trapAxisLabel;
|
||||
wxChoice* m_trapAxisCtrl;
|
||||
wxPanel* m_pageRounding;
|
||||
wxFlexGridSizer* fgSizerRoundingProps;
|
||||
wxStaticText* m_staticTextCornerSizeRatio;
|
||||
TEXT_CTRL_EVAL* m_tcCornerSizeRatio;
|
||||
wxStaticText* m_staticTextCornerSizeRatioUnit;
|
||||
wxStaticText* m_cornerRadiusLabel;
|
||||
wxTextCtrl* m_tcCornerRadius;
|
||||
wxStaticText* m_cornerRadiusUnits;
|
||||
wxPanel* m_pageChamfer;
|
||||
wxStaticText* m_staticTextChamferRatio;
|
||||
TEXT_CTRL_EVAL* m_tcChamferRatio;
|
||||
wxStaticText* m_staticTextChamferRatioUnit;
|
||||
|
@ -110,19 +104,39 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM
|
|||
wxCheckBox* m_cbTopRight;
|
||||
wxCheckBox* m_cbBottomLeft;
|
||||
wxCheckBox* m_cbBottomRight;
|
||||
wxBoxSizer* m_middleBoxSizer;
|
||||
wxStaticText* m_sizeXLabel;
|
||||
wxTextCtrl* m_sizeXCtrl;
|
||||
wxStaticText* m_sizeXUnits;
|
||||
wxStaticText* m_sizeYLabel;
|
||||
wxTextCtrl* m_sizeYCtrl;
|
||||
wxStaticText* m_sizeYUnits;
|
||||
wxStaticText* m_PadOrientText;
|
||||
wxComboBox* m_orientation;
|
||||
wxStaticText* m_orientationUnits;
|
||||
wxStaticLine* m_staticline6;
|
||||
wxStaticText* m_holeShapeLabel;
|
||||
wxChoice* m_holeShapeCtrl;
|
||||
wxStaticText* m_staticText51;
|
||||
wxStaticText* m_holeXLabel;
|
||||
wxTextCtrl* m_holeXCtrl;
|
||||
wxStaticText* m_holeXUnits;
|
||||
wxStaticText* m_holeYLabel;
|
||||
wxTextCtrl* m_holeYCtrl;
|
||||
wxStaticText* m_holeYUnits;
|
||||
wxStaticLine* m_staticline7;
|
||||
wxCheckBox* m_offsetShapeOpt;
|
||||
wxStaticText* m_offsetShapeOptLabel;
|
||||
wxFlexGridSizer* m_offsetCtrls;
|
||||
wxStaticText* m_offsetXLabel;
|
||||
wxTextCtrl* m_offsetXCtrl;
|
||||
wxStaticText* m_offsetXUnits;
|
||||
wxStaticText* m_offsetYLabel;
|
||||
wxTextCtrl* m_offsetYCtrl;
|
||||
wxStaticText* m_offsetYUnits;
|
||||
wxCheckBox* m_padToDieOpt;
|
||||
wxStaticText* m_padToDieLabel;
|
||||
wxTextCtrl* m_padToDieCtrl;
|
||||
wxStaticText* m_padToDieUnits;
|
||||
wxBoxSizer* m_middleBoxSizer;
|
||||
wxBoxSizer* m_FlippedWarningSizer;
|
||||
wxStaticBitmap* m_FlippedWarningIcon;
|
||||
wxStaticText* m_staticText86;
|
||||
|
@ -178,11 +192,11 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM
|
|||
wxStaticText* m_staticTextPrimitivesList;
|
||||
wxStaticText* m_staticTextPrimitiveListWarning;
|
||||
wxListView* m_listCtrlPrimitives;
|
||||
wxButton* m_buttonDel;
|
||||
wxButton* m_buttonEditShape;
|
||||
wxButton* m_buttonAddShape;
|
||||
wxButton* m_buttonEditShape;
|
||||
wxButton* m_buttonDup;
|
||||
wxButton* m_buttonGeometry;
|
||||
wxButton* m_buttonDel;
|
||||
wxStaticText* m_parentInfoLine1;
|
||||
wxStaticText* m_parentInfoLine2;
|
||||
PCB_DRAW_PANEL_GAL* m_panelShowPadGal;
|
||||
|
@ -196,29 +210,31 @@ class DIALOG_PAD_PROPERTIES_BASE : public DIALOG_SHIM
|
|||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
|
||||
virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnValuesChanged( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void PadTypeSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnValuesChanged( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnPadShapeSelection( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void PadOrientEvent( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSetLayers( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onCornerSizePercentChange( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onCornerRadiusChange( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void PadOrientEvent( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnDrillShapeSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnOffsetCheckbox( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnPadToDieCheckbox( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnUpdateUINonCopperWarning( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void onPrimitiveDClick( wxMouseEvent& event ) { event.Skip(); }
|
||||
virtual void OnPrimitiveSelection( wxListEvent& event ) { event.Skip(); }
|
||||
virtual void onDeletePrimitive( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onEditPrimitive( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onAddPrimitive( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onEditPrimitive( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onDuplicatePrimitive( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onGeometryTransform( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onDeletePrimitive( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onChangePadMode( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
||||
DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_DIALOG_EDIT_PAD, const wxString& title = _("Pad Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 764,581 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
DIALOG_PAD_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_DIALOG_EDIT_PAD, const wxString& title = _("Pad Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~DIALOG_PAD_PROPERTIES_BASE();
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue