/***************************************************************************** * StringListConfigControl implementation *****************************************************************************/ StringListConfigControl::StringListConfigControl( vlc_object_t *p_this, module_config_t *p_item, HWND parent, HINSTANCE hInst, int * py_pos ) : ConfigControl( p_this, p_item, parent, hInst ) { label = new wxStaticText(this, -1, wxU(p_item->psz_text)); sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); combo = new wxComboBox( this, -1, wxT(""), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); UpdateCombo( p_item ); combo->SetToolTip( wxU(p_item->psz_longtext) ); sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); for( int i = 0; i < p_item->i_action; i++ ) { wxButton *button = new wxButton( this, wxID_HIGHEST+i, wxU(p_item->ppsz_action_text[i]) ); sizer->Add( button, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5); } sizer->Layout(); this->SetSizerAndFit( sizer ); }
/***************************************************************************** * IntegerListConfigControl implementation *****************************************************************************/ IntegerListConfigControl::IntegerListConfigControl( vlc_object_t *p_this, module_config_t *p_item, wxWindow *parent ) : ConfigControl( p_this, p_item, parent ) { label = new wxStaticText(this, -1, wxU(p_item->psz_text)); sizer->Add( label, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); combo = new wxComboBox( this, -1, wxT(""), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); UpdateCombo( p_item ); combo->SetToolTip( wxU(p_item->psz_longtext) ); sizer->Add( combo, 1, wxALIGN_CENTER_VERTICAL | wxALL, 5 ); sizer->Layout(); this->SetSizerAndFit( sizer ); }
void IntegerListConfigControl::OnAction( wxCommandEvent& event ) { int i_action = event.GetId() - wxID_HIGHEST; module_config_t *p_item; p_item = config_FindConfig( p_this, GetName().mb_str() ); if( !p_item ) return; if( i_action < 0 || i_action >= p_item->i_action ) return; vlc_value_t val; val.i_int = GetIntValue(); p_item->ppf_action[i_action]( p_this, GetName().mb_str(), val, val, 0 ); if( p_item->b_dirty ) { combo->Clear(); UpdateCombo( p_item ); p_item->b_dirty = false; } }
void StringListConfigControl::OnAction( wxCommandEvent& event ) { int i_action = event.GetId() - wxID_HIGHEST; module_config_t *p_item = config_FindConfig( p_this, GetName().mb_str() ); if( !p_item ) return; if( i_action < 0 || i_action >= p_item->i_action ) return; vlc_value_t val; wxString value = GetPszValue(); (const char *)val.psz_string = value.mb_str(); p_item->ppf_action[i_action]( p_this, GetName().mb_str(), val, val, 0 ); if( p_item->b_dirty ) { combo->Clear(); UpdateCombo( p_item ); p_item->b_dirty = false; } }