You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

329 lines
14 KiB

  1. ///////////////////////////////////////////////////////////////////////////
  2. // C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
  3. // http://www.wxformbuilder.org/
  4. //
  5. // PLEASE DO *NOT* EDIT THIS FILE!
  6. ///////////////////////////////////////////////////////////////////////////
  7. #include "pcb_layer_box_selector.h"
  8. #include "dialog_shape_properties_base.h"
  9. ///////////////////////////////////////////////////////////////////////////
  10. DIALOG_SHAPE_PROPERTIES_BASE::DIALOG_SHAPE_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
  11. {
  12. this->SetSizeHints( wxDefaultSize, wxDefaultSize );
  13. wxBoxSizer* bMainSizer;
  14. bMainSizer = new wxBoxSizer( wxVERTICAL );
  15. m_notebookShapeDefs = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
  16. m_rectangleByCorners = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  17. wxBoxSizer* bSizer18;
  18. bSizer18 = new wxBoxSizer( wxVERTICAL );
  19. m_gbsRectangleByCorners = new wxGridBagSizer( 0, 0 );
  20. m_gbsRectangleByCorners->SetFlexibleDirection( wxBOTH );
  21. m_gbsRectangleByCorners->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  22. bSizer18->Add( m_gbsRectangleByCorners, 1, wxALL|wxEXPAND, 5 );
  23. m_rectangleByCorners->SetSizer( bSizer18 );
  24. m_rectangleByCorners->Layout();
  25. bSizer18->Fit( m_rectangleByCorners );
  26. m_notebookShapeDefs->AddPage( m_rectangleByCorners, _("By Corners"), false );
  27. m_rectangleByCornerSize = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  28. wxBoxSizer* bSizer19;
  29. bSizer19 = new wxBoxSizer( wxVERTICAL );
  30. m_gbsRectangleByCornerSize = new wxGridBagSizer( 0, 0 );
  31. m_gbsRectangleByCornerSize->SetFlexibleDirection( wxBOTH );
  32. m_gbsRectangleByCornerSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  33. bSizer19->Add( m_gbsRectangleByCornerSize, 1, wxALL|wxEXPAND, 5 );
  34. m_rectangleByCornerSize->SetSizer( bSizer19 );
  35. m_rectangleByCornerSize->Layout();
  36. bSizer19->Fit( m_rectangleByCornerSize );
  37. m_notebookShapeDefs->AddPage( m_rectangleByCornerSize, _("By Corner and Size"), false );
  38. m_rectangleByCenterSize = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  39. wxBoxSizer* bSizer20;
  40. bSizer20 = new wxBoxSizer( wxVERTICAL );
  41. m_gbsRectangleByCenterSize = new wxGridBagSizer( 0, 0 );
  42. m_gbsRectangleByCenterSize->SetFlexibleDirection( wxBOTH );
  43. m_gbsRectangleByCenterSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  44. bSizer20->Add( m_gbsRectangleByCenterSize, 1, wxALL|wxEXPAND, 5 );
  45. m_rectangleByCenterSize->SetSizer( bSizer20 );
  46. m_rectangleByCenterSize->Layout();
  47. bSizer20->Fit( m_rectangleByCenterSize );
  48. m_notebookShapeDefs->AddPage( m_rectangleByCenterSize, _("By Center and Size"), true );
  49. m_lineByEnds = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  50. wxBoxSizer* bSizer6;
  51. bSizer6 = new wxBoxSizer( wxVERTICAL );
  52. m_gbsLineByEnds = new wxGridBagSizer( 0, 0 );
  53. m_gbsLineByEnds->SetFlexibleDirection( wxBOTH );
  54. m_gbsLineByEnds->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  55. bSizer6->Add( m_gbsLineByEnds, 1, wxALL|wxEXPAND, 5 );
  56. m_lineByEnds->SetSizer( bSizer6 );
  57. m_lineByEnds->Layout();
  58. bSizer6->Fit( m_lineByEnds );
  59. m_notebookShapeDefs->AddPage( m_lineByEnds, _("By Endpoints"), false );
  60. m_lineByLengthAngle = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  61. wxBoxSizer* bSizer7;
  62. bSizer7 = new wxBoxSizer( wxVERTICAL );
  63. m_gbsLineByLengthAngle = new wxGridBagSizer( 0, 0 );
  64. m_gbsLineByLengthAngle->SetFlexibleDirection( wxBOTH );
  65. m_gbsLineByLengthAngle->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  66. bSizer7->Add( m_gbsLineByLengthAngle, 1, wxALL|wxEXPAND, 5 );
  67. m_lineByLengthAngle->SetSizer( bSizer7 );
  68. m_lineByLengthAngle->Layout();
  69. bSizer7->Fit( m_lineByLengthAngle );
  70. m_notebookShapeDefs->AddPage( m_lineByLengthAngle, _("By Length and Angle"), false );
  71. m_lineByStartMid = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  72. wxBoxSizer* bSizer71;
  73. bSizer71 = new wxBoxSizer( wxVERTICAL );
  74. m_gbsLineByStartMid = new wxGridBagSizer( 0, 0 );
  75. m_gbsLineByStartMid->SetFlexibleDirection( wxBOTH );
  76. m_gbsLineByStartMid->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  77. bSizer71->Add( m_gbsLineByStartMid, 1, wxALL|wxEXPAND, 5 );
  78. m_lineByStartMid->SetSizer( bSizer71 );
  79. m_lineByStartMid->Layout();
  80. bSizer71->Fit( m_lineByStartMid );
  81. m_notebookShapeDefs->AddPage( m_lineByStartMid, _("By Start/Midpoint"), false );
  82. m_arcByCSA = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  83. wxBoxSizer* bSizer8;
  84. bSizer8 = new wxBoxSizer( wxVERTICAL );
  85. m_gbsArcByCSA = new wxGridBagSizer( 0, 0 );
  86. m_gbsArcByCSA->SetFlexibleDirection( wxBOTH );
  87. m_gbsArcByCSA->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  88. bSizer8->Add( m_gbsArcByCSA, 1, wxALL|wxEXPAND, 5 );
  89. m_arcByCSA->SetSizer( bSizer8 );
  90. m_arcByCSA->Layout();
  91. bSizer8->Fit( m_arcByCSA );
  92. m_notebookShapeDefs->AddPage( m_arcByCSA, _("By Center/Start/Angle"), false );
  93. m_arcBySME = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  94. wxBoxSizer* bSizer9;
  95. bSizer9 = new wxBoxSizer( wxVERTICAL );
  96. m_gbsArcBySME = new wxGridBagSizer( 0, 0 );
  97. m_gbsArcBySME->SetFlexibleDirection( wxBOTH );
  98. m_gbsArcBySME->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  99. bSizer9->Add( m_gbsArcBySME, 1, wxALL|wxEXPAND, 5 );
  100. m_arcBySME->SetSizer( bSizer9 );
  101. m_arcBySME->Layout();
  102. bSizer9->Fit( m_arcBySME );
  103. m_notebookShapeDefs->AddPage( m_arcBySME, _("By Start/Mid/End"), false );
  104. m_circle = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  105. wxBoxSizer* bSizer10;
  106. bSizer10 = new wxBoxSizer( wxVERTICAL );
  107. m_gbsCircleCenterRadius = new wxGridBagSizer( 0, 0 );
  108. m_gbsCircleCenterRadius->SetFlexibleDirection( wxBOTH );
  109. m_gbsCircleCenterRadius->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  110. bSizer10->Add( m_gbsCircleCenterRadius, 1, wxALL|wxEXPAND, 5 );
  111. m_circle->SetSizer( bSizer10 );
  112. m_circle->Layout();
  113. bSizer10->Fit( m_circle );
  114. m_notebookShapeDefs->AddPage( m_circle, _("By Center/Radius"), false );
  115. m_circleCenterPoint = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  116. wxBoxSizer* bSizer11;
  117. bSizer11 = new wxBoxSizer( wxVERTICAL );
  118. m_gbsCircleCenterPoint = new wxGridBagSizer( 0, 0 );
  119. m_gbsCircleCenterPoint->SetFlexibleDirection( wxBOTH );
  120. m_gbsCircleCenterPoint->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  121. bSizer11->Add( m_gbsCircleCenterPoint, 1, wxALL|wxEXPAND, 5 );
  122. m_circleCenterPoint->SetSizer( bSizer11 );
  123. m_circleCenterPoint->Layout();
  124. bSizer11->Fit( m_circleCenterPoint );
  125. m_notebookShapeDefs->AddPage( m_circleCenterPoint, _("By Center/Point"), false );
  126. m_bezier = new wxPanel( m_notebookShapeDefs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
  127. wxBoxSizer* bSizer4;
  128. bSizer4 = new wxBoxSizer( wxVERTICAL );
  129. m_gbsBezier = new wxGridBagSizer( 0, 0 );
  130. m_gbsBezier->SetFlexibleDirection( wxBOTH );
  131. m_gbsBezier->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  132. bSizer4->Add( m_gbsBezier, 1, wxALL|wxEXPAND, 5 );
  133. m_bezier->SetSizer( bSizer4 );
  134. m_bezier->Layout();
  135. bSizer4->Fit( m_bezier );
  136. m_notebookShapeDefs->AddPage( m_bezier, _("Bezier Control Points"), false );
  137. bMainSizer->Add( m_notebookShapeDefs, 0, wxEXPAND | wxALL, 5 );
  138. m_upperSizer = new wxBoxSizer( wxVERTICAL );
  139. wxGridBagSizer* gbSizer2;
  140. gbSizer2 = new wxGridBagSizer( 2, 5 );
  141. gbSizer2->SetFlexibleDirection( wxBOTH );
  142. gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  143. gbSizer2->SetEmptyCellSize( wxSize( -1,6 ) );
  144. m_locked = new wxCheckBox( this, wxID_ANY, _("Locked"), wxDefaultPosition, wxDefaultSize, 0 );
  145. gbSizer2->Add( m_locked, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxLEFT, 5 );
  146. m_thicknessLabel = new wxStaticText( this, wxID_ANY, _("Line width:"), wxDefaultPosition, wxDefaultSize, 0 );
  147. m_thicknessLabel->Wrap( -1 );
  148. gbSizer2->Add( m_thicknessLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
  149. m_thicknessCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  150. m_thicknessCtrl->SetMinSize( wxSize( 140,-1 ) );
  151. gbSizer2->Add( m_thicknessCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
  152. m_thicknessUnits = new wxStaticText( this, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
  153. m_thicknessUnits->Wrap( -1 );
  154. gbSizer2->Add( m_thicknessUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  155. m_lineStyleLabel = new wxStaticText( this, wxID_ANY, _("Line style:"), wxDefaultPosition, wxDefaultSize, 0 );
  156. m_lineStyleLabel->Wrap( -1 );
  157. gbSizer2->Add( m_lineStyleLabel, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
  158. m_lineStyleCombo = new wxBitmapComboBox( this, wxID_ANY, _("Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
  159. m_lineStyleCombo->SetMinSize( wxSize( 210,-1 ) );
  160. gbSizer2->Add( m_lineStyleCombo, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
  161. m_fillLabel = new wxStaticText( this, wxID_ANY, _("Fill:"), wxDefaultPosition, wxDefaultSize, 0 );
  162. m_fillLabel->Wrap( -1 );
  163. gbSizer2->Add( m_fillLabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL, 5 );
  164. wxString m_fillCtrlChoices[] = { _("None"), _("Solid"), _("Hatch"), _("Reverse Hatch"), _("Cross-hatch") };
  165. int m_fillCtrlNChoices = sizeof( m_fillCtrlChoices ) / sizeof( wxString );
  166. m_fillCtrl = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fillCtrlNChoices, m_fillCtrlChoices, 0 );
  167. m_fillCtrl->SetSelection( 0 );
  168. gbSizer2->Add( m_fillCtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
  169. m_LayerLabel = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
  170. m_LayerLabel->Wrap( -1 );
  171. gbSizer2->Add( m_LayerLabel, wxGBPosition( 9, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
  172. m_LayerSelectionCtrl = new PCB_LAYER_BOX_SELECTOR( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
  173. gbSizer2->Add( m_LayerSelectionCtrl, wxGBPosition( 9, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
  174. m_netLabel = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
  175. m_netLabel->Wrap( -1 );
  176. gbSizer2->Add( m_netLabel, wxGBPosition( 7, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
  177. m_netSelector = new NET_SELECTOR( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
  178. gbSizer2->Add( m_netSelector, wxGBPosition( 7, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
  179. gbSizer2->AddGrowableCol( 1 );
  180. m_upperSizer->Add( gbSizer2, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
  181. wxBoxSizer* bSizer14;
  182. bSizer14 = new wxBoxSizer( wxHORIZONTAL );
  183. m_techLayersLabel = new wxStaticText( this, wxID_ANY, _("Technical Layers"), wxDefaultPosition, wxDefaultSize, 0 );
  184. m_techLayersLabel->Wrap( -1 );
  185. bSizer14->Add( m_techLayersLabel, 0, wxALL, 5 );
  186. m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  187. bSizer14->Add( m_staticline1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 4 );
  188. m_upperSizer->Add( bSizer14, 1, wxEXPAND, 5 );
  189. wxFlexGridSizer* fgSizer2;
  190. fgSizer2 = new wxFlexGridSizer( 0, 4, 0, 0 );
  191. fgSizer2->AddGrowableCol( 2 );
  192. fgSizer2->SetFlexibleDirection( wxBOTH );
  193. fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  194. m_hasSolderMask = new wxCheckBox( this, wxID_ANY, _("Solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
  195. fgSizer2->Add( m_hasSolderMask, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  196. m_solderMaskMarginLabel = new wxStaticText( this, wxID_ANY, _("Expansion:"), wxDefaultPosition, wxDefaultSize, 0 );
  197. m_solderMaskMarginLabel->Wrap( -1 );
  198. fgSizer2->Add( m_solderMaskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  199. m_solderMaskMarginCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  200. m_solderMaskMarginCtrl->SetToolTip( _("This is the local clearance between the shape and the solder mask opening.\nLeave blank to use the value defined in the Board Setup.") );
  201. fgSizer2->Add( m_solderMaskMarginCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
  202. m_solderMaskMarginUnit = new wxStaticText( this, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
  203. m_solderMaskMarginUnit->Wrap( -1 );
  204. fgSizer2->Add( m_solderMaskMarginUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  205. m_upperSizer->Add( fgSizer2, 1, wxEXPAND, 5 );
  206. bMainSizer->Add( m_upperSizer, 1, wxALL|wxEXPAND, 5 );
  207. m_StandardButtonsSizer = new wxStdDialogButtonSizer();
  208. m_StandardButtonsSizerOK = new wxButton( this, wxID_OK );
  209. m_StandardButtonsSizer->AddButton( m_StandardButtonsSizerOK );
  210. m_StandardButtonsSizerCancel = new wxButton( this, wxID_CANCEL );
  211. m_StandardButtonsSizer->AddButton( m_StandardButtonsSizerCancel );
  212. m_StandardButtonsSizer->Realize();
  213. bMainSizer->Add( m_StandardButtonsSizer, 0, wxALL|wxEXPAND, 5 );
  214. this->SetSizer( bMainSizer );
  215. this->Layout();
  216. bMainSizer->Fit( this );
  217. // Connect Events
  218. m_LayerSelectionCtrl->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onLayerSelection ), NULL, this );
  219. m_hasSolderMask->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onTechLayersChanged ), NULL, this );
  220. }
  221. DIALOG_SHAPE_PROPERTIES_BASE::~DIALOG_SHAPE_PROPERTIES_BASE()
  222. {
  223. // Disconnect Events
  224. m_LayerSelectionCtrl->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onLayerSelection ), NULL, this );
  225. m_hasSolderMask->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_SHAPE_PROPERTIES_BASE::onTechLayersChanged ), NULL, this );
  226. }