#include "FileZilla.h"
#include "Options.h"
#include "settingsdialog.h"
#include "optionspage.h"
wxString validationFailed = _("Failed to validate settings");
bool COptionsPage::CreatePage(COptions* pOptions, CSettingsDialog* pOwner, wxWindow* parent, wxSize& maxSize)
{
m_pOwner = pOwner;
m_pOptions = pOptions;
if (!wxXmlResource::Get()->LoadPanel(this, parent, GetResourceName()))
return false;
wxSize size = GetSize();
if (size.GetWidth() > maxSize.GetWidth())
maxSize.SetWidth(size.GetWidth());
if (size.GetHeight() > maxSize.GetHeight())
maxSize.SetHeight(size.GetHeight());
return true;
}
void COptionsPage::SetCheck(int id, bool checked, bool& failure)
{
wxCheckBox* pCheckBox = wxDynamicCast(FindWindow(id), wxCheckBox);
if (!pCheckBox)
{
failure = true;
return;
}
pCheckBox->SetValue(checked);
}
bool COptionsPage::GetCheck(int id)
{
wxCheckBox* pCheckBox = wxDynamicCast(FindWindow(id), wxCheckBox);
wxASSERT(pCheckBox);
return pCheckBox->GetValue();
}
void COptionsPage::SetTextFromOption(int ctrlId, int optionId, bool& failure)
{
wxTextCtrl* pTextCtrl = wxDynamicCast(FindWindow(ctrlId), wxTextCtrl);
if (!pTextCtrl)
{
failure = true;
return;
}
const wxString& text = m_pOptions->GetOption(optionId);
pTextCtrl->SetValue(text);
}
wxString COptionsPage::GetText(int id)
{
wxTextCtrl* pTextCtrl = wxDynamicCast(FindWindow(id), wxTextCtrl);
wxASSERT(pTextCtrl);
return pTextCtrl->GetValue();
}
bool COptionsPage::SetText(int id, const wxString& text, bool& failure)
{
wxTextCtrl* pTextCtrl = wxDynamicCast(FindWindow(id), wxTextCtrl);
if (!pTextCtrl)
{
failure = true;
return false;
}
pTextCtrl->SetValue(text);
return true;
}
void COptionsPage::SetRCheck(int id, bool checked, bool& failure)
{
wxRadioButton* pRadioButton = wxDynamicCast(FindWindow(id), wxRadioButton);
if (!pRadioButton)
{
failure = true;
return;
}
pRadioButton->SetValue(checked);
}
bool COptionsPage::GetRCheck(int id)
{
wxRadioButton* pRadioButton = wxDynamicCast(FindWindow(id), wxRadioButton);
wxASSERT(pRadioButton);
return pRadioButton->GetValue();
}
void COptionsPage::SetStaticText(int id, const wxString& text, bool& failure)
{
wxStaticText* pStaticText = wxDynamicCast(FindWindow(id), wxStaticText);
if (!pStaticText)
{
failure = true;
return;
}
pStaticText->SetLabel(text);
}
wxString COptionsPage::GetStaticText(int id)
{
wxStaticText* pStaticText = wxDynamicCast(FindWindow(id), wxStaticText);
wxASSERT(pStaticText);
return pStaticText->GetLabel();
}
void COptionsPage::ReloadSettings()
{
m_pOwner->LoadSettings();
}
void COptionsPage::SetOptionFromText(int ctrlId, int optionId)
{
const wxString& value = GetText(ctrlId);
m_pOptions->SetOption(optionId, value);
}
void COptionsPage::SetChoice(int id, int selection, bool& failure)
{
if (selection < -1)
{
failure = true;
return;
}
wxChoice* pChoice = wxDynamicCast(FindWindow(id), wxChoice);
if (!pChoice)
{
failure = true;
return;
}
if (selection >= (int)pChoice->GetCount())
{
failure = true;
return;
}
pChoice->SetSelection(selection);
}
int COptionsPage::GetChoice(int id)
{
wxChoice* pChoice = wxDynamicCast(FindWindow(id), wxChoice);
wxASSERT(pChoice);
if (!pChoice)
return 0;
return pChoice->GetSelection();
}
syntax highlighted by Code2HTML, v. 0.9.1