void DIALOG_LAYERS_SETUP::OnPresetsChoice( wxCommandEvent& event ) { unsigned presetNdx = m_PresetsChoice->GetCurrentSelection(); if( presetNdx == 0 ) // the Custom setting controls nothing. return; if( presetNdx < DIM(presets) ) { m_EnabledLayers = presets[ presetNdx ]; int coppersMask = m_EnabledLayers & ALL_CU_LAYERS; int copperCount = 0; while( coppersMask ) { if( coppersMask & 1 ) ++copperCount; coppersMask >>= 1; } m_CopperLayerCount = copperCount; showCopperChoice( m_CopperLayerCount ); showSelectedLayerCheckBoxes( m_EnabledLayers ); setCopperLayerCheckBoxes( m_CopperLayerCount ); }
void DIALOG_LAYERS_SETUP::DenyChangeCheckBox( wxCommandEvent& event ) { // user may not change copper layer checkboxes from anything other than // either presets choice or the copper layer choice controls. // I tried to simply disable the copper CheckBoxes but they look like crap, // so leave them enabled and reverse the user's attempt to toggle them. setCopperLayerCheckBoxes( m_CopperLayerCount ); }
void DIALOG_LAYERS_SETUP::OnCopperLayersChoice( wxCommandEvent& event ) { m_CopperLayerCount = m_CopperLayersChoice->GetCurrentSelection() * 2 + 2; setCopperLayerCheckBoxes( m_CopperLayerCount ); m_EnabledLayers = getUILayerMask(); showPresets( m_EnabledLayers ); }
DIALOG_LAYERS_SETUP::DIALOG_LAYERS_SETUP( PCB_EDIT_FRAME* parent ) : DIALOG_LAYERS_SETUP_BASE( parent ) /***********************************************************************************/ { m_Parent = parent; m_Pcb = m_Parent->GetBoard(); m_CopperLayerCount = m_Pcb->GetCopperLayerCount(); showCopperChoice( m_CopperLayerCount ); setCopperLayerCheckBoxes( m_CopperLayerCount ); showBoardLayerNames(); m_EnabledLayers = m_Pcb->GetEnabledLayers(); showSelectedLayerCheckBoxes( m_EnabledLayers ); showPresets( m_EnabledLayers ); showLayerTypes(); SetAutoLayout( true ); // these 3 controls are handled outside wxformbuilder so that we can add // them without a sizer. Then we position them manually based on the column // widths from m_LayerListFlexGridSizer->GetColWidths() m_NameStaticText = new wxStaticText( m_TitlePanel, wxID_ANY, _("Name"), wxDefaultPosition, wxDefaultSize, 0 ); m_EnabledStaticText = new wxStaticText( m_TitlePanel, wxID_ANY, _("Enabled"), wxDefaultPosition, wxDefaultSize, 0 ); m_TypeStaticText = new wxStaticText( m_TitlePanel, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 ); // set the height of the title panel to be the size of any wxStaticText object // plus 10 so we can have a border of 5 on both top and bottom. m_TitlePanel->SetMinSize( wxSize( -1, m_AdhesFrontName->GetSize().y+10 ) ); Layout(); Fit(); Center(); m_sdbSizer2OK->SetFocus(); m_sdbSizer2OK->SetDefault(); }
void DIALOG_LAYERS_SETUP::OnPresetsChoice( wxCommandEvent& event ) { unsigned presetNdx = m_PresetsChoice->GetCurrentSelection(); if( presetNdx == 0 ) // the Custom setting controls nothing. return; if( presetNdx < DIM(presets) ) { m_EnabledLayers = presets[ presetNdx ]; LSET copperSet = m_EnabledLayers & LSET::AllCuMask(); int copperCount = copperSet.count(); m_CopperLayerCount = copperCount; showCopperChoice( m_CopperLayerCount ); showSelectedLayerCheckBoxes( m_EnabledLayers ); setCopperLayerCheckBoxes( m_CopperLayerCount ); } }