35 GetSizer()->SetSizeHints(
this );
97 int numCheckboxesOnDlg = 0;
98 wxCheckBoxState suggestedState = wxCHK_UNDETERMINED;
102 const wxWindowList& list = this->GetChildren();
104 for( wxWindowList::compatibility_iterator node = list.GetFirst(); node; node = node->GetNext() )
106 wxWindow* current = node->GetData();
109 if( wxCheckBox* currCB =
dynamic_cast<wxCheckBox*
>( current ) )
115 if( !( currCB->GetLabelText().IsEmpty() || currCB->Is3State() ) )
116 numCheckboxesOnDlg++;
132 numCheckboxesOnDlg--;
145 suggestedState = wxCHK_UNCHECKED;
146 else if( numChecked == numCheckboxesOnDlg )
147 suggestedState = wxCHK_CHECKED;
149 return suggestedState;
155 if(
m_All_Items->Get3StateValue() == wxCHK_CHECKED )
164 if( !wxDialog::TransferDataFromWindow() )
wxCheckBox * m_Include_PcbTexts
wxCheckBox * m_Include_Zones
wxCheckBox * m_Include_Draw_Items
wxCheckBox * m_IncludeLockedModules
wxCheckBox * m_Include_Modules
wxCheckBox * m_Include_Vias
DIALOG_FILTER_SELECTION_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Filter Selected Items"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxCheckBox * m_Include_Edges_Items
wxCheckBox * m_Include_Tracks
void checkBoxClicked(wxCommandEvent &aEvent) override
DIALOG_FILTER_SELECTION(PCB_BASE_FRAME *aParent, OPTIONS &aOptions)
Create the filter selection dialog.
void forceCheckboxStates(bool aNewState)
bool TransferDataToWindow() override
bool TransferDataFromWindow() override
void allItemsClicked(wxCommandEvent &aEvent) override
wxCheckBoxState GetSuggestedAllItemsState(void)
Reference to the options struct to fill.
void SetupStandardButtons(std::map< int, wxString > aLabels={})
Base PCB main window class for Pcbnew, Gerbview, and CvPcb footprint viewer.
Struct that will be set with the result of the user choices in the dialog.