Enhancement in copper zones dialog, useful for large boards having a lot of nets
This commit is contained in:
commit
492c75bd90
|
@ -19,6 +19,9 @@
|
|||
|
||||
#include "dialog_copper_zones.h"
|
||||
|
||||
wxString dialog_copper_zone::m_netNameShowFilter("*"); /* the filter to show nets (default * "*").
|
||||
* static to keep this pattern for an entire pcbnew session
|
||||
*/
|
||||
|
||||
/************************************************************************************************/
|
||||
dialog_copper_zone::dialog_copper_zone( WinEDA_PcbFrame* parent, ZONE_SETTING* zone_setting ) :
|
||||
|
@ -31,11 +34,6 @@ dialog_copper_zone::dialog_copper_zone( WinEDA_PcbFrame* parent, ZONE_SETTING* z
|
|||
m_NetSorting = 1; // 0 = alphabetic sort, 1 = pad count sort, and filtering net names
|
||||
m_OnExitCode = ZONE_ABORT;
|
||||
|
||||
if( m_Config )
|
||||
{
|
||||
m_NetSorting = m_Config->Read( ZONE_NET_SORT_OPTION_KEY, 1l );
|
||||
}
|
||||
|
||||
SetReturnCode( ZONE_ABORT ); // Will be changed on buttons click
|
||||
|
||||
initDialog();
|
||||
|
@ -46,7 +44,7 @@ dialog_copper_zone::dialog_copper_zone( WinEDA_PcbFrame* parent, ZONE_SETTING* z
|
|||
|
||||
|
||||
/*****************************************************************/
|
||||
void dialog_copper_zone::initDialog( )
|
||||
void dialog_copper_zone::initDialog()
|
||||
/*****************************************************************/
|
||||
|
||||
// Initialise all dialog options and values in wxTextCtrl
|
||||
|
@ -148,57 +146,22 @@ void dialog_copper_zone::initDialog( )
|
|||
m_LayerSelectionCtrl->SetSelection( ii );
|
||||
}
|
||||
|
||||
m_NetSortingOption->SetSelection( m_NetSorting );
|
||||
|
||||
wxString NetNameFilter = wxT( "N_0*" );
|
||||
wxString netNameDoNotShowFilter = wxT( "N-*" );
|
||||
if( m_Config )
|
||||
{
|
||||
NetNameFilter =
|
||||
m_Config->Read( ZONE_NET_FILTER_STRING_KEY );
|
||||
int opt = m_Config->Read( ZONE_NET_SORT_OPTION_KEY, 1l );
|
||||
m_NetDisplayOption->SetSelection( opt );
|
||||
m_Config->Read( ZONE_NET_FILTER_STRING_KEY, netNameDoNotShowFilter );
|
||||
}
|
||||
else
|
||||
m_NetDisplayOption->SetSelection( 1 );
|
||||
|
||||
m_ShowNetNameFilter->SetValue(m_netNameShowFilter);
|
||||
initListNetsParams();
|
||||
|
||||
// Build list of nets:
|
||||
m_NetNameFilter->SetValue( NetNameFilter );
|
||||
wxArrayString ListNetName;
|
||||
m_Parent->GetBoard()->ReturnSortedNetnamesList(
|
||||
ListNetName,
|
||||
m_NetSorting == 0 ? false : true );
|
||||
|
||||
if( m_NetSorting != 0 )
|
||||
{
|
||||
wxString Filter = m_NetNameFilter->GetValue();
|
||||
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
||||
{
|
||||
if( ListNetName[ii].Matches( Filter.GetData() ) )
|
||||
{
|
||||
ListNetName.RemoveAt( ii );
|
||||
ii--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ListNetName.Insert( wxT( "<no net>" ), 0 );
|
||||
m_ListNetNameSelection->InsertItems( ListNetName, 0 );
|
||||
|
||||
// Select net:
|
||||
int net_select = m_Zone_Setting->m_NetcodeSelection;
|
||||
|
||||
if( net_select > 0 )
|
||||
{
|
||||
NETINFO_ITEM* equipot = m_Parent->GetBoard()->FindNet( net_select );
|
||||
if( equipot ) // Search net in list and select it
|
||||
{
|
||||
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
||||
{
|
||||
if( ListNetName[ii] == equipot->GetNetname() )
|
||||
{
|
||||
m_ListNetNameSelection->SetSelection( ii );
|
||||
m_ListNetNameSelection->EnsureVisible( ii );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
m_DoNotShowNetNameFilter->SetValue( netNameDoNotShowFilter );
|
||||
buildAvailableListOfNets();
|
||||
}
|
||||
|
||||
|
||||
|
@ -258,10 +221,11 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
|
|||
{
|
||||
m_Config->Write( ZONE_NET_OUTLINES_HATCH_OPTION_KEY,
|
||||
(long) m_Zone_Setting->m_Zone_HatchingStyle );
|
||||
wxString Filter = m_NetNameFilter->GetValue();
|
||||
wxString Filter = m_DoNotShowNetNameFilter->GetValue();
|
||||
m_Config->Write( ZONE_NET_FILTER_STRING_KEY, Filter );
|
||||
}
|
||||
|
||||
m_netNameShowFilter = m_ShowNetNameFilter->GetValue();
|
||||
m_Zone_Setting->m_FillMode = (m_FillModeCtrl->GetSelection() == 0) ? 0 : 1;
|
||||
|
||||
wxString txtvalue = m_ZoneClearanceCtrl->GetValue();
|
||||
|
@ -365,50 +329,16 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
|
|||
void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
|
||||
/***************************************************************************/
|
||||
{
|
||||
wxArrayString ListNetName;
|
||||
initListNetsParams();
|
||||
buildAvailableListOfNets();
|
||||
|
||||
m_NetSorting = m_NetSortingOption->GetSelection();
|
||||
m_Parent->GetBoard()->ReturnSortedNetnamesList(
|
||||
ListNetName, m_NetSorting == 0 ? false : true );
|
||||
if( m_NetSorting != 0 )
|
||||
{
|
||||
wxString Filter = m_NetNameFilter->GetValue();
|
||||
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
||||
{
|
||||
if( ListNetName[ii].Matches( Filter.GetData() ) )
|
||||
{
|
||||
ListNetName.RemoveAt( ii );
|
||||
ii--;
|
||||
}
|
||||
}
|
||||
}
|
||||
m_ListNetNameSelection->Clear();
|
||||
m_ListNetNameSelection->InsertItems( ListNetName, 0 );
|
||||
m_netNameShowFilter = m_ShowNetNameFilter->GetValue();
|
||||
if( m_Config )
|
||||
{
|
||||
m_Config->Write( ZONE_NET_SORT_OPTION_KEY, (long) m_NetSorting );
|
||||
wxString Filter = m_NetNameFilter->GetValue();
|
||||
m_Config->Write( ZONE_NET_SORT_OPTION_KEY, (long) m_NetDisplayOption->GetSelection() );
|
||||
wxString Filter = m_DoNotShowNetNameFilter->GetValue();
|
||||
m_Config->Write( ZONE_NET_FILTER_STRING_KEY, Filter );
|
||||
}
|
||||
|
||||
// Select and display current zone net name in listbox:
|
||||
int net_select = m_Zone_Setting->m_NetcodeSelection;
|
||||
if( net_select > 0 )
|
||||
{
|
||||
NETINFO_ITEM* equipot = m_Parent->GetBoard()->FindNet( net_select );
|
||||
if( equipot ) // Search net in list and select it
|
||||
{
|
||||
for( unsigned ii = 0; ii < ListNetName.GetCount(); ii++ )
|
||||
{
|
||||
if( ListNetName[ii] == equipot->GetNetname() )
|
||||
{
|
||||
m_ListNetNameSelection->SetSelection( ii );
|
||||
m_ListNetNameSelection->EnsureVisible( ii );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -416,6 +346,7 @@ void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
|
|||
void dialog_copper_zone::OnButtonOkClick( wxCommandEvent& event )
|
||||
/*****************************************************************/
|
||||
{
|
||||
m_netNameShowFilter = m_ShowNetNameFilter->GetValue();
|
||||
if( AcceptOptions( true ) )
|
||||
EndModal( ZONE_OK );
|
||||
}
|
||||
|
@ -458,3 +389,100 @@ void dialog_copper_zone::OnPadsInZoneClick( wxCommandEvent& event )
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** init m_NetSorting and m_NetFiltering values
|
||||
* according to m_NetDisplayOption selection
|
||||
*/
|
||||
void dialog_copper_zone::initListNetsParams()
|
||||
{
|
||||
switch( m_NetDisplayOption->GetSelection() )
|
||||
{
|
||||
case 0:
|
||||
m_NetSorting = true;
|
||||
m_NetFiltering = false;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
m_NetSorting = false;
|
||||
m_NetFiltering = false;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
m_NetSorting = true;
|
||||
m_NetFiltering = true;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
m_NetSorting = false;
|
||||
m_NetFiltering = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Called when clicking on Apply Filter button
|
||||
* Rebuild the list of nets with the currents filters settings.
|
||||
* If the net display options is not a filtered option, force this option
|
||||
*/
|
||||
void dialog_copper_zone::OnRunFiltersButtonClick( wxCommandEvent& event )
|
||||
{
|
||||
m_netNameShowFilter = m_ShowNetNameFilter->GetValue();
|
||||
// Ensure filtered option for nets:
|
||||
if( m_NetDisplayOption->GetSelection() == 0 )
|
||||
m_NetDisplayOption->SetSelection( 2 );
|
||||
else if( m_NetDisplayOption->GetSelection() == 1 )
|
||||
m_NetDisplayOption->SetSelection( 3 );
|
||||
initListNetsParams();
|
||||
buildAvailableListOfNets();
|
||||
}
|
||||
|
||||
|
||||
void dialog_copper_zone::buildAvailableListOfNets()
|
||||
{
|
||||
wxArrayString listNetName;
|
||||
|
||||
m_Parent->GetBoard()->ReturnSortedNetnamesList(
|
||||
listNetName, m_NetSorting == 0 ? false : true );
|
||||
|
||||
if( m_NetFiltering )
|
||||
{
|
||||
wxString doNotShowFilter = m_DoNotShowNetNameFilter->GetValue();
|
||||
wxString ShowFilter = m_ShowNetNameFilter->GetValue();
|
||||
for( unsigned ii = 0; ii < listNetName.GetCount(); ii++ )
|
||||
{
|
||||
if( listNetName[ii].Matches( doNotShowFilter ) )
|
||||
{
|
||||
listNetName.RemoveAt( ii );
|
||||
ii--;
|
||||
}
|
||||
else if( !listNetName[ii].Matches( ShowFilter ) )
|
||||
{
|
||||
listNetName.RemoveAt( ii );
|
||||
ii--;
|
||||
}
|
||||
}
|
||||
}
|
||||
m_ListNetNameSelection->Clear();
|
||||
listNetName.Insert( wxT( "<no net>" ), 0 );
|
||||
m_ListNetNameSelection->InsertItems( listNetName, 0 );
|
||||
|
||||
// Ensure current select net for the zone is visible:
|
||||
int net_select = m_Zone_Setting->m_NetcodeSelection;
|
||||
if( net_select > 0 )
|
||||
{
|
||||
NETINFO_ITEM* equipot = m_Parent->GetBoard()->FindNet( net_select );
|
||||
if( equipot ) // Search net in list and select it
|
||||
{
|
||||
for( unsigned ii = 0; ii < listNetName.GetCount(); ii++ )
|
||||
{
|
||||
if( listNetName[ii] == equipot->GetNetname() )
|
||||
{
|
||||
m_ListNetNameSelection->SetSelection( ii );
|
||||
m_ListNetNameSelection->EnsureVisible( ii );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,20 +17,26 @@ private:
|
|||
* ZONE_EXPORT_VALUES if values are exported to others zones
|
||||
*/
|
||||
|
||||
ZONE_SETTING* m_Zone_Setting;
|
||||
long m_NetSorting;
|
||||
int m_LayerId[LAYER_COUNT]; // Handle the real layer number from layer name position in m_LayerSelectionCtrl
|
||||
ZONE_SETTING* m_Zone_Setting;
|
||||
long m_NetSorting;
|
||||
long m_NetFiltering;
|
||||
int m_LayerId[LAYER_COUNT]; // Handle the real layer number from layer name position in m_LayerSelectionCtrl
|
||||
static wxString m_netNameShowFilter; /* the filter to show nets (default * "*").
|
||||
* static to keep this pattern for an entire pcbnew session
|
||||
*/
|
||||
|
||||
public:
|
||||
dialog_copper_zone( WinEDA_PcbFrame* parent, ZONE_SETTING* zone_setting );
|
||||
private:
|
||||
void initDialog( );
|
||||
void initDialog();
|
||||
void OnButtonOkClick( wxCommandEvent& event );
|
||||
void OnButtonCancelClick( wxCommandEvent& event );
|
||||
bool AcceptOptions( bool aPromptForErrors, bool aUseExportableSetupOnly = false );
|
||||
void OnNetSortingOptionSelected( wxCommandEvent& event );
|
||||
void ExportSetupToOtherCopperZones( wxCommandEvent& event );
|
||||
void OnPadsInZoneClick( wxCommandEvent& event );
|
||||
void OnRunFiltersButtonClick( wxCommandEvent& event );
|
||||
void buildAvailableListOfNets();
|
||||
void initListNetsParams();
|
||||
};
|
||||
|
||||
#endif // #ifndef DIALOG_COPPER_ZONES
|
||||
|
|
|
@ -1,227 +1,240 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_copper_zones_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
BEGIN_EVENT_TABLE( dialog_copper_zone_base, wxDialog )
|
||||
EVT_RADIOBOX( wxID_PADS_IN_ZONE_OPTIONS, dialog_copper_zone_base::_wxFB_OnPadsInZoneClick )
|
||||
EVT_BUTTON( wxID_BUTTON_EXPORT, dialog_copper_zone_base::_wxFB_ExportSetupToOtherCopperZones )
|
||||
EVT_BUTTON( wxID_OK, dialog_copper_zone_base::_wxFB_OnButtonOkClick )
|
||||
EVT_BUTTON( wxID_CANCEL, dialog_copper_zone_base::_wxFB_OnButtonCancelClick )
|
||||
EVT_RADIOBOX( ID_NET_SORTING_OPTION, dialog_copper_zone_base::_wxFB_OnNetSortingOptionSelected )
|
||||
END_EVENT_TABLE()
|
||||
|
||||
dialog_copper_zone_base::dialog_copper_zone_base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* m_MainBoxSize;
|
||||
m_MainBoxSize = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxBoxSizer* m_OptionsBoxSizer;
|
||||
m_OptionsBoxSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxStaticBoxSizer* m_ExportableSetupSizer;
|
||||
m_ExportableSetupSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Zone Setup:") ), wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* m_LeftBoxSizer;
|
||||
m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxStaticBoxSizer* m_FillOptionsBox;
|
||||
m_FillOptionsBox = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Zone Fill Options:") ), wxVERTICAL );
|
||||
|
||||
wxString m_FillModeCtrlChoices[] = { _("Use polygons"), _("Use segments") };
|
||||
int m_FillModeCtrlNChoices = sizeof( m_FillModeCtrlChoices ) / sizeof( wxString );
|
||||
m_FillModeCtrl = new wxRadioBox( this, ID_RADIOBOX_FILL_MODE_SELECTION, _("Filling Mode:"), wxDefaultPosition, wxDefaultSize, m_FillModeCtrlNChoices, m_FillModeCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_FillModeCtrl->SetSelection( 0 );
|
||||
m_FillModeCtrl->SetToolTip( _("Filled areas can use solid polygons or segments.\nDepending on the complexity and the size of the zone,\nsometimes polygons are better and sometimes segments are better.") );
|
||||
|
||||
m_FillOptionsBox->Add( m_FillModeCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxString m_ArcApproximationOptChoices[] = { _("16 segments / 360 deg"), _("32 segments / 360 deg") };
|
||||
int m_ArcApproximationOptNChoices = sizeof( m_ArcApproximationOptChoices ) / sizeof( wxString );
|
||||
m_ArcApproximationOpt = new wxRadioBox( this, wxID_ARC_APPROX, _("Arcs Approximation:"), wxDefaultPosition, wxDefaultSize, m_ArcApproximationOptNChoices, m_ArcApproximationOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_ArcApproximationOpt->SetSelection( 0 );
|
||||
m_ArcApproximationOpt->SetToolTip( _("Number of segments to approximate a circle in filling calculations.\n16 segment is faster to calculate and when redraw screen.\n32 segment give a better quality") );
|
||||
|
||||
m_FillOptionsBox->Add( m_ArcApproximationOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxString m_PadInZoneOptChoices[] = { _("Include pads"), _("Thermal relief"), _("Exclude pads") };
|
||||
int m_PadInZoneOptNChoices = sizeof( m_PadInZoneOptChoices ) / sizeof( wxString );
|
||||
m_PadInZoneOpt = new wxRadioBox( this, wxID_PADS_IN_ZONE_OPTIONS, _("Pad in Zone:"), wxDefaultPosition, wxDefaultSize, m_PadInZoneOptNChoices, m_PadInZoneOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_PadInZoneOpt->SetSelection( 1 );
|
||||
m_FillOptionsBox->Add( m_PadInZoneOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxStaticBoxSizer* m_ThermalShapesParamsSizer;
|
||||
m_ThermalShapesParamsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Thermal Reliefs:") ), wxVERTICAL );
|
||||
|
||||
m_AntipadSizeText = new wxStaticText( this, wxID_ANY, _("Antipad Size"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_AntipadSizeText->Wrap( -1 );
|
||||
m_ThermalShapesParamsSizer->Add( m_AntipadSizeText, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_AntipadSizeValue = new wxTextCtrl( this, wxID_ANTIPAD_SIZE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_AntipadSizeValue->SetToolTip( _("Define the gap around the pad") );
|
||||
|
||||
m_ThermalShapesParamsSizer->Add( m_AntipadSizeValue, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_CopperBridgeWidthText = new wxStaticText( this, wxID_ANY, _("Copper Width"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_CopperBridgeWidthText->Wrap( -1 );
|
||||
m_ThermalShapesParamsSizer->Add( m_CopperBridgeWidthText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_CopperWidthValue = new wxTextCtrl( this, wxID_COPPER_BRIDGE_VALUE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_CopperWidthValue->SetToolTip( _("Define the tickness of copper in thermal reliefs") );
|
||||
|
||||
m_ThermalShapesParamsSizer->Add( m_CopperWidthValue, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_FillOptionsBox->Add( m_ThermalShapesParamsSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
m_LeftBoxSizer->Add( m_FillOptionsBox, 1, wxEXPAND, 5 );
|
||||
|
||||
m_ExportableSetupSizer->Add( m_LeftBoxSizer, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
|
||||
m_ExportableSetupSizer->Add( 20, 20, 0, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* m_MiddleBox;
|
||||
m_MiddleBox = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxBoxSizer* m_MiddleBoxSizer;
|
||||
m_MiddleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxStaticBoxSizer* m_OutilinesBoxOpt;
|
||||
m_OutilinesBoxOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Outlines Options:") ), wxVERTICAL );
|
||||
|
||||
wxString m_OrientEdgesOptChoices[] = { _("Any"), _("H , V and 45 deg") };
|
||||
int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
|
||||
m_OrientEdgesOpt = new wxRadioBox( this, wxID_ANY, _("Zone edges orient:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_OrientEdgesOpt->SetSelection( 0 );
|
||||
m_OutilinesBoxOpt->Add( m_OrientEdgesOpt, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched outline"), _("Full hatched") };
|
||||
int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
|
||||
m_OutlineAppearanceCtrl = new wxRadioBox( this, ID_RADIOBOX_OUTLINES_OPTION, _("Outlines Appearance"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_OutlineAppearanceCtrl->SetSelection( 0 );
|
||||
m_OutlineAppearanceCtrl->SetToolTip( _("Choose how a zone outline is displayed\n- Single line\n- Short hatching\n- Full zone area hatched") );
|
||||
|
||||
m_OutilinesBoxOpt->Add( m_OutlineAppearanceCtrl, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxStaticBoxSizer* m_OthersOptionsSizer;
|
||||
m_OthersOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Others Options:") ), wxVERTICAL );
|
||||
|
||||
m_ClearanceValueTitle = new wxStaticText( this, wxID_ANY, _("Zone clearance value"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ClearanceValueTitle->Wrap( -1 );
|
||||
m_OthersOptionsSizer->Add( m_ClearanceValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ZoneClearanceCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_OthersOptionsSizer->Add( m_ZoneClearanceCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_MinThicknessValueTitle = new wxStaticText( this, wxID_ANY, _("Zone min thickness value"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_MinThicknessValueTitle->Wrap( -1 );
|
||||
m_OthersOptionsSizer->Add( m_MinThicknessValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ZoneMinThicknessCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ZoneMinThicknessCtrl->SetToolTip( _("Value of minimun thickness of filled areas") );
|
||||
|
||||
m_OthersOptionsSizer->Add( m_ZoneMinThicknessCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_OutilinesBoxOpt->Add( m_OthersOptionsSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
m_MiddleBoxSizer->Add( m_OutilinesBoxOpt, 1, wxEXPAND, 5 );
|
||||
|
||||
m_MiddleBox->Add( m_MiddleBoxSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
m_ExportableSetupSizer->Add( m_MiddleBox, 1, wxEXPAND, 5 );
|
||||
|
||||
m_OptionsBoxSizer->Add( m_ExportableSetupSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_OptionsBoxSizer->Add( 20, 20, 0, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* m_RightBoxSizer;
|
||||
m_RightBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_ExportSetupButton = new wxButton( this, wxID_BUTTON_EXPORT, _("Export Setup to other zones"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ExportSetupButton->SetToolTip( _("Export this zone setup to all other copper zones") );
|
||||
|
||||
m_RightBoxSizer->Add( m_ExportSetupButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
m_OkButton = new wxButton( this, wxID_OK, _("Ok"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_OkButton->SetDefault();
|
||||
m_RightBoxSizer->Add( m_OkButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
m_ButtonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_RightBoxSizer->Add( m_ButtonCancel, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_RightBoxSizer->Add( 20, 20, 0, wxEXPAND, 5 );
|
||||
|
||||
wxStaticBoxSizer* m_NetSortOptSizer;
|
||||
m_NetSortOptSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Nets Display Options:") ), wxVERTICAL );
|
||||
|
||||
wxString m_NetSortingOptionChoices[] = { _("Alphabetic"), _("Advanced") };
|
||||
int m_NetSortingOptionNChoices = sizeof( m_NetSortingOptionChoices ) / sizeof( wxString );
|
||||
m_NetSortingOption = new wxRadioBox( this, ID_NET_SORTING_OPTION, _("Net sorting:"), wxDefaultPosition, wxDefaultSize, m_NetSortingOptionNChoices, m_NetSortingOptionChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_NetSortingOption->SetSelection( 0 );
|
||||
m_NetSortingOption->SetToolTip( _("Nets can be sorted:\nBy alphabetic order\nBy number of pads in the net (advanced)") );
|
||||
|
||||
m_NetSortOptSizer->Add( m_NetSortingOption, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_staticText5 = new wxStaticText( this, wxID_ANY, _("Filter"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText5->Wrap( -1 );
|
||||
m_NetSortOptSizer->Add( m_staticText5, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_NetNameFilter = new wxTextCtrl( this, ID_TEXTCTRL_NETNAMES_FILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_NetNameFilter->SetToolTip( _("Pattern in advanced mode, to filter net names in list\nNet names matching this pattern are not displayed") );
|
||||
|
||||
m_NetSortOptSizer->Add( m_NetNameFilter, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_RightBoxSizer->Add( m_NetSortOptSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
m_OptionsBoxSizer->Add( m_RightBoxSizer, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
|
||||
|
||||
m_MainBoxSize->Add( m_OptionsBoxSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* m_NetAndLayersLiastBoxSizer;
|
||||
m_NetAndLayersLiastBoxSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* bSizerNets;
|
||||
bSizerNets = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticText2 = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText2->Wrap( -1 );
|
||||
bSizerNets->Add( m_staticText2, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ListNetNameSelection = new wxListBox( this, ID_NETNAME_SELECTION, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||
m_ListNetNameSelection->SetMinSize( wxSize( -1,150 ) );
|
||||
|
||||
bSizerNets->Add( m_ListNetNameSelection, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_NetAndLayersLiastBoxSizer->Add( bSizerNets, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerLayers;
|
||||
bSizerLayers = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticText3 = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText3->Wrap( -1 );
|
||||
bSizerLayers->Add( m_staticText3, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_LayerSelectionCtrl = new wxListBox( this, ID_LAYER_CHOICE, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||
bSizerLayers->Add( m_LayerSelectionCtrl, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_NetAndLayersLiastBoxSizer->Add( bSizerLayers, 1, wxEXPAND, 5 );
|
||||
|
||||
m_MainBoxSize->Add( m_NetAndLayersLiastBoxSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
this->SetSizer( m_MainBoxSize );
|
||||
this->Layout();
|
||||
}
|
||||
|
||||
dialog_copper_zone_base::~dialog_copper_zone_base()
|
||||
{
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "dialog_copper_zones_base.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
BEGIN_EVENT_TABLE( dialog_copper_zone_base, wxDialog )
|
||||
EVT_RADIOBOX( wxID_PADS_IN_ZONE_OPTIONS, dialog_copper_zone_base::_wxFB_OnPadsInZoneClick )
|
||||
EVT_BUTTON( wxID_BUTTON_EXPORT, dialog_copper_zone_base::_wxFB_ExportSetupToOtherCopperZones )
|
||||
EVT_BUTTON( wxID_OK, dialog_copper_zone_base::_wxFB_OnButtonOkClick )
|
||||
EVT_BUTTON( wxID_CANCEL, dialog_copper_zone_base::_wxFB_OnButtonCancelClick )
|
||||
EVT_RADIOBOX( ID_NET_SORTING_OPTION, dialog_copper_zone_base::_wxFB_OnNetSortingOptionSelected )
|
||||
EVT_BUTTON( wxID_ANY, dialog_copper_zone_base::_wxFB_OnRunFiltersButtonClick )
|
||||
END_EVENT_TABLE()
|
||||
|
||||
dialog_copper_zone_base::dialog_copper_zone_base( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* m_MainBoxSize;
|
||||
m_MainBoxSize = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxBoxSizer* m_OptionsBoxSizer;
|
||||
m_OptionsBoxSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxStaticBoxSizer* m_ExportableSetupSizer;
|
||||
m_ExportableSetupSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Zone Setup:") ), wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* m_LeftBoxSizer;
|
||||
m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxStaticBoxSizer* m_FillOptionsBox;
|
||||
m_FillOptionsBox = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Zone Fill Options:") ), wxVERTICAL );
|
||||
|
||||
wxString m_FillModeCtrlChoices[] = { _("Use polygons"), _("Use segments") };
|
||||
int m_FillModeCtrlNChoices = sizeof( m_FillModeCtrlChoices ) / sizeof( wxString );
|
||||
m_FillModeCtrl = new wxRadioBox( this, ID_RADIOBOX_FILL_MODE_SELECTION, _("Filling Mode:"), wxDefaultPosition, wxDefaultSize, m_FillModeCtrlNChoices, m_FillModeCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_FillModeCtrl->SetSelection( 0 );
|
||||
m_FillModeCtrl->SetToolTip( _("Filled areas can use solid polygons or segments.\nDepending on the complexity and the size of the zone,\nsometimes polygons are better and sometimes segments are better.") );
|
||||
|
||||
m_FillOptionsBox->Add( m_FillModeCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxString m_ArcApproximationOptChoices[] = { _("16 segments / 360 deg"), _("32 segments / 360 deg") };
|
||||
int m_ArcApproximationOptNChoices = sizeof( m_ArcApproximationOptChoices ) / sizeof( wxString );
|
||||
m_ArcApproximationOpt = new wxRadioBox( this, wxID_ARC_APPROX, _("Arcs Approximation:"), wxDefaultPosition, wxDefaultSize, m_ArcApproximationOptNChoices, m_ArcApproximationOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_ArcApproximationOpt->SetSelection( 0 );
|
||||
m_ArcApproximationOpt->SetToolTip( _("Number of segments to approximate a circle in filling calculations.\n16 segment is faster to calculate and when redraw screen.\n32 segment give a better quality") );
|
||||
|
||||
m_FillOptionsBox->Add( m_ArcApproximationOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxString m_PadInZoneOptChoices[] = { _("Include pads"), _("Thermal relief"), _("Exclude pads") };
|
||||
int m_PadInZoneOptNChoices = sizeof( m_PadInZoneOptChoices ) / sizeof( wxString );
|
||||
m_PadInZoneOpt = new wxRadioBox( this, wxID_PADS_IN_ZONE_OPTIONS, _("Pad in Zone:"), wxDefaultPosition, wxDefaultSize, m_PadInZoneOptNChoices, m_PadInZoneOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_PadInZoneOpt->SetSelection( 1 );
|
||||
m_FillOptionsBox->Add( m_PadInZoneOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxStaticBoxSizer* m_ThermalShapesParamsSizer;
|
||||
m_ThermalShapesParamsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Thermal Reliefs:") ), wxVERTICAL );
|
||||
|
||||
m_AntipadSizeText = new wxStaticText( this, wxID_ANY, _("Antipad Size"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_AntipadSizeText->Wrap( -1 );
|
||||
m_ThermalShapesParamsSizer->Add( m_AntipadSizeText, 0, wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_AntipadSizeValue = new wxTextCtrl( this, wxID_ANTIPAD_SIZE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_AntipadSizeValue->SetToolTip( _("Define the gap around the pad") );
|
||||
|
||||
m_ThermalShapesParamsSizer->Add( m_AntipadSizeValue, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_CopperBridgeWidthText = new wxStaticText( this, wxID_ANY, _("Copper Width"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_CopperBridgeWidthText->Wrap( -1 );
|
||||
m_ThermalShapesParamsSizer->Add( m_CopperBridgeWidthText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_CopperWidthValue = new wxTextCtrl( this, wxID_COPPER_BRIDGE_VALUE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_CopperWidthValue->SetToolTip( _("Define the tickness of copper in thermal reliefs") );
|
||||
|
||||
m_ThermalShapesParamsSizer->Add( m_CopperWidthValue, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_FillOptionsBox->Add( m_ThermalShapesParamsSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
m_LeftBoxSizer->Add( m_FillOptionsBox, 1, wxEXPAND, 5 );
|
||||
|
||||
m_ExportableSetupSizer->Add( m_LeftBoxSizer, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
|
||||
m_ExportableSetupSizer->Add( 20, 20, 0, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* m_MiddleBox;
|
||||
m_MiddleBox = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxBoxSizer* m_MiddleBoxSizer;
|
||||
m_MiddleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxStaticBoxSizer* m_OutilinesBoxOpt;
|
||||
m_OutilinesBoxOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Outlines Options:") ), wxVERTICAL );
|
||||
|
||||
wxString m_OrientEdgesOptChoices[] = { _("Any"), _("H , V and 45 deg") };
|
||||
int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
|
||||
m_OrientEdgesOpt = new wxRadioBox( this, wxID_ANY, _("Zone edges orient:"), wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_OrientEdgesOpt->SetSelection( 0 );
|
||||
m_OutilinesBoxOpt->Add( m_OrientEdgesOpt, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched outline"), _("Full hatched") };
|
||||
int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
|
||||
m_OutlineAppearanceCtrl = new wxRadioBox( this, ID_RADIOBOX_OUTLINES_OPTION, _("Outlines Appearance"), wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_OutlineAppearanceCtrl->SetSelection( 0 );
|
||||
m_OutlineAppearanceCtrl->SetToolTip( _("Choose how a zone outline is displayed\n- Single line\n- Short hatching\n- Full zone area hatched") );
|
||||
|
||||
m_OutilinesBoxOpt->Add( m_OutlineAppearanceCtrl, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxStaticBoxSizer* m_OthersOptionsSizer;
|
||||
m_OthersOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Others Options:") ), wxVERTICAL );
|
||||
|
||||
m_ClearanceValueTitle = new wxStaticText( this, wxID_ANY, _("Zone clearance value"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ClearanceValueTitle->Wrap( -1 );
|
||||
m_OthersOptionsSizer->Add( m_ClearanceValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ZoneClearanceCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_OthersOptionsSizer->Add( m_ZoneClearanceCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_MinThicknessValueTitle = new wxStaticText( this, wxID_ANY, _("Zone min thickness value"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_MinThicknessValueTitle->Wrap( -1 );
|
||||
m_OthersOptionsSizer->Add( m_MinThicknessValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ZoneMinThicknessCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ZoneMinThicknessCtrl->SetToolTip( _("Value of minimun thickness of filled areas") );
|
||||
|
||||
m_OthersOptionsSizer->Add( m_ZoneMinThicknessCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_OutilinesBoxOpt->Add( m_OthersOptionsSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
m_MiddleBoxSizer->Add( m_OutilinesBoxOpt, 1, wxEXPAND, 5 );
|
||||
|
||||
m_MiddleBox->Add( m_MiddleBoxSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
m_ExportableSetupSizer->Add( m_MiddleBox, 1, wxEXPAND, 5 );
|
||||
|
||||
m_OptionsBoxSizer->Add( m_ExportableSetupSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_OptionsBoxSizer->Add( 20, 20, 0, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* m_RightBoxSizer;
|
||||
m_RightBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_ExportSetupButton = new wxButton( this, wxID_BUTTON_EXPORT, _("Export Setup to other zones"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ExportSetupButton->SetToolTip( _("Export this zone setup to all other copper zones") );
|
||||
|
||||
m_RightBoxSizer->Add( m_ExportSetupButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
m_OkButton = new wxButton( this, wxID_OK, _("Ok"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_OkButton->SetDefault();
|
||||
m_RightBoxSizer->Add( m_OkButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
m_ButtonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_RightBoxSizer->Add( m_ButtonCancel, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_RightBoxSizer->Add( 20, 20, 0, wxEXPAND, 5 );
|
||||
|
||||
wxStaticBoxSizer* m_NetSortOptSizer;
|
||||
m_NetSortOptSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Nets Display Options:") ), wxVERTICAL );
|
||||
|
||||
wxString m_NetDisplayOptionChoices[] = { _("Show all, alphabetic"), _("Show all, advanced"), _("Filtered, alphabetic"), _("Filtered, advanced") };
|
||||
int m_NetDisplayOptionNChoices = sizeof( m_NetDisplayOptionChoices ) / sizeof( wxString );
|
||||
m_NetDisplayOption = new wxRadioBox( this, ID_NET_SORTING_OPTION, _("Net list options:"), wxDefaultPosition, wxDefaultSize, m_NetDisplayOptionNChoices, m_NetDisplayOptionChoices, 1, wxRA_SPECIFY_COLS );
|
||||
m_NetDisplayOption->SetSelection( 2 );
|
||||
m_NetDisplayOption->SetToolTip( _("Nets can be sorted:\nBy alphabetic order\nBy number of pads in the net (advanced)") );
|
||||
|
||||
m_NetSortOptSizer->Add( m_NetDisplayOption, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_staticText5 = new wxStaticText( this, wxID_ANY, _("Filter: Hidden Nets"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText5->Wrap( -1 );
|
||||
m_NetSortOptSizer->Add( m_staticText5, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_DoNotShowNetNameFilter = new wxTextCtrl( this, ID_TEXTCTRL_NETNAMES_FILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_DoNotShowNetNameFilter->SetToolTip( _("Pattern in advanced mode, to filter net names in list\nNet names matching this pattern are not displayed") );
|
||||
|
||||
m_NetSortOptSizer->Add( m_DoNotShowNetNameFilter, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_staticText51 = new wxStaticText( this, wxID_ANY, _("Filter: Allowed Nets"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText51->Wrap( -1 );
|
||||
m_NetSortOptSizer->Add( m_staticText51, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ShowNetNameFilter = new wxTextCtrl( this, ID_TEXTCTRL_NETNAMES_FILTER, _("*"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_ShowNetNameFilter->SetToolTip( _("Pattern in advanced mode, to filter net names in list\nOnly net names matching this pattern are displayed") );
|
||||
|
||||
m_NetSortOptSizer->Add( m_ShowNetNameFilter, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||
|
||||
m_buttonRunFilter = new wxButton( this, wxID_ANY, _("Apply Filters"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_NetSortOptSizer->Add( m_buttonRunFilter, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_RightBoxSizer->Add( m_NetSortOptSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
m_OptionsBoxSizer->Add( m_RightBoxSizer, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
|
||||
|
||||
m_MainBoxSize->Add( m_OptionsBoxSizer, 0, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* m_NetAndLayersLiastBoxSizer;
|
||||
m_NetAndLayersLiastBoxSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* bSizerNets;
|
||||
bSizerNets = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticText2 = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText2->Wrap( -1 );
|
||||
bSizerNets->Add( m_staticText2, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_ListNetNameSelection = new wxListBox( this, ID_NETNAME_SELECTION, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||
m_ListNetNameSelection->SetMinSize( wxSize( -1,150 ) );
|
||||
|
||||
bSizerNets->Add( m_ListNetNameSelection, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_NetAndLayersLiastBoxSizer->Add( bSizerNets, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerLayers;
|
||||
bSizerLayers = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticText3 = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText3->Wrap( -1 );
|
||||
bSizerLayers->Add( m_staticText3, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_LayerSelectionCtrl = new wxListBox( this, ID_LAYER_CHOICE, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
|
||||
bSizerLayers->Add( m_LayerSelectionCtrl, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_NetAndLayersLiastBoxSizer->Add( bSizerLayers, 1, wxEXPAND, 5 );
|
||||
|
||||
m_MainBoxSize->Add( m_NetAndLayersLiastBoxSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
this->SetSizer( m_MainBoxSize );
|
||||
this->Layout();
|
||||
}
|
||||
|
||||
dialog_copper_zone_base::~dialog_copper_zone_base()
|
||||
{
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,102 +1,107 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __dialog_copper_zones_base__
|
||||
#define __dialog_copper_zones_base__
|
||||
|
||||
#include <wx/intl.h>
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/radiobox.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/statbox.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/listbox.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class dialog_copper_zone_base
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class dialog_copper_zone_base : public wxDialog
|
||||
{
|
||||
DECLARE_EVENT_TABLE()
|
||||
private:
|
||||
|
||||
// Private event handlers
|
||||
void _wxFB_OnPadsInZoneClick( wxCommandEvent& event ){ OnPadsInZoneClick( event ); }
|
||||
void _wxFB_ExportSetupToOtherCopperZones( wxCommandEvent& event ){ ExportSetupToOtherCopperZones( event ); }
|
||||
void _wxFB_OnButtonOkClick( wxCommandEvent& event ){ OnButtonOkClick( event ); }
|
||||
void _wxFB_OnButtonCancelClick( wxCommandEvent& event ){ OnButtonCancelClick( event ); }
|
||||
void _wxFB_OnNetSortingOptionSelected( wxCommandEvent& event ){ OnNetSortingOptionSelected( event ); }
|
||||
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
ID_RADIOBOX_FILL_MODE_SELECTION = 1000,
|
||||
wxID_ARC_APPROX,
|
||||
wxID_PADS_IN_ZONE_OPTIONS,
|
||||
wxID_ANTIPAD_SIZE,
|
||||
wxID_COPPER_BRIDGE_VALUE,
|
||||
ID_RADIOBOX_OUTLINES_OPTION,
|
||||
wxID_BUTTON_EXPORT,
|
||||
ID_NET_SORTING_OPTION,
|
||||
ID_TEXTCTRL_NETNAMES_FILTER,
|
||||
ID_NETNAME_SELECTION,
|
||||
ID_LAYER_CHOICE,
|
||||
};
|
||||
|
||||
wxRadioBox* m_FillModeCtrl;
|
||||
wxRadioBox* m_ArcApproximationOpt;
|
||||
wxRadioBox* m_PadInZoneOpt;
|
||||
wxStaticText* m_AntipadSizeText;
|
||||
wxTextCtrl* m_AntipadSizeValue;
|
||||
wxStaticText* m_CopperBridgeWidthText;
|
||||
wxTextCtrl* m_CopperWidthValue;
|
||||
|
||||
wxRadioBox* m_OrientEdgesOpt;
|
||||
wxRadioBox* m_OutlineAppearanceCtrl;
|
||||
wxStaticText* m_ClearanceValueTitle;
|
||||
wxTextCtrl* m_ZoneClearanceCtrl;
|
||||
wxStaticText* m_MinThicknessValueTitle;
|
||||
wxTextCtrl* m_ZoneMinThicknessCtrl;
|
||||
|
||||
wxButton* m_ExportSetupButton;
|
||||
wxButton* m_OkButton;
|
||||
wxButton* m_ButtonCancel;
|
||||
|
||||
wxRadioBox* m_NetSortingOption;
|
||||
wxStaticText* m_staticText5;
|
||||
wxTextCtrl* m_NetNameFilter;
|
||||
wxStaticText* m_staticText2;
|
||||
wxListBox* m_ListNetNameSelection;
|
||||
wxStaticText* m_staticText3;
|
||||
wxListBox* m_LayerSelectionCtrl;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnPadsInZoneClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void ExportSetupToOtherCopperZones( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnButtonOkClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnButtonCancelClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnNetSortingOptionSelected( wxCommandEvent& event ){ event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
dialog_copper_zone_base( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Fill Zones Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 566,582 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~dialog_copper_zone_base();
|
||||
|
||||
};
|
||||
|
||||
#endif //__dialog_copper_zones_base__
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __dialog_copper_zones_base__
|
||||
#define __dialog_copper_zones_base__
|
||||
|
||||
#include <wx/intl.h>
|
||||
|
||||
#include <wx/string.h>
|
||||
#include <wx/radiobox.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/font.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/statbox.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/listbox.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class dialog_copper_zone_base
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class dialog_copper_zone_base : public wxDialog
|
||||
{
|
||||
DECLARE_EVENT_TABLE()
|
||||
private:
|
||||
|
||||
// Private event handlers
|
||||
void _wxFB_OnPadsInZoneClick( wxCommandEvent& event ){ OnPadsInZoneClick( event ); }
|
||||
void _wxFB_ExportSetupToOtherCopperZones( wxCommandEvent& event ){ ExportSetupToOtherCopperZones( event ); }
|
||||
void _wxFB_OnButtonOkClick( wxCommandEvent& event ){ OnButtonOkClick( event ); }
|
||||
void _wxFB_OnButtonCancelClick( wxCommandEvent& event ){ OnButtonCancelClick( event ); }
|
||||
void _wxFB_OnNetSortingOptionSelected( wxCommandEvent& event ){ OnNetSortingOptionSelected( event ); }
|
||||
void _wxFB_OnRunFiltersButtonClick( wxCommandEvent& event ){ OnRunFiltersButtonClick( event ); }
|
||||
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
ID_RADIOBOX_FILL_MODE_SELECTION = 1000,
|
||||
wxID_ARC_APPROX,
|
||||
wxID_PADS_IN_ZONE_OPTIONS,
|
||||
wxID_ANTIPAD_SIZE,
|
||||
wxID_COPPER_BRIDGE_VALUE,
|
||||
ID_RADIOBOX_OUTLINES_OPTION,
|
||||
wxID_BUTTON_EXPORT,
|
||||
ID_NET_SORTING_OPTION,
|
||||
ID_TEXTCTRL_NETNAMES_FILTER,
|
||||
ID_NETNAME_SELECTION,
|
||||
ID_LAYER_CHOICE,
|
||||
};
|
||||
|
||||
wxRadioBox* m_FillModeCtrl;
|
||||
wxRadioBox* m_ArcApproximationOpt;
|
||||
wxRadioBox* m_PadInZoneOpt;
|
||||
wxStaticText* m_AntipadSizeText;
|
||||
wxTextCtrl* m_AntipadSizeValue;
|
||||
wxStaticText* m_CopperBridgeWidthText;
|
||||
wxTextCtrl* m_CopperWidthValue;
|
||||
|
||||
wxRadioBox* m_OrientEdgesOpt;
|
||||
wxRadioBox* m_OutlineAppearanceCtrl;
|
||||
wxStaticText* m_ClearanceValueTitle;
|
||||
wxTextCtrl* m_ZoneClearanceCtrl;
|
||||
wxStaticText* m_MinThicknessValueTitle;
|
||||
wxTextCtrl* m_ZoneMinThicknessCtrl;
|
||||
|
||||
wxButton* m_ExportSetupButton;
|
||||
wxButton* m_OkButton;
|
||||
wxButton* m_ButtonCancel;
|
||||
|
||||
wxRadioBox* m_NetDisplayOption;
|
||||
wxStaticText* m_staticText5;
|
||||
wxTextCtrl* m_DoNotShowNetNameFilter;
|
||||
wxStaticText* m_staticText51;
|
||||
wxTextCtrl* m_ShowNetNameFilter;
|
||||
wxButton* m_buttonRunFilter;
|
||||
wxStaticText* m_staticText2;
|
||||
wxListBox* m_ListNetNameSelection;
|
||||
wxStaticText* m_staticText3;
|
||||
wxListBox* m_LayerSelectionCtrl;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnPadsInZoneClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void ExportSetupToOtherCopperZones( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnButtonOkClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnButtonCancelClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnNetSortingOptionSelected( wxCommandEvent& event ){ event.Skip(); }
|
||||
virtual void OnRunFiltersButtonClick( wxCommandEvent& event ){ event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
dialog_copper_zone_base( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Fill Zones Options"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 566,582 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
~dialog_copper_zone_base();
|
||||
|
||||
};
|
||||
|
||||
#endif //__dialog_copper_zones_base__
|
||||
|
|
Loading…
Reference in New Issue