53 : GeneralPropertiesFormBase(parent)
54{
55 m_properties = properties;
56 auto data = m_properties->GetGeneralPropertiesData();
57
58
59 m_choiceLanguage->Clear();
60 m_choiceLanguage->Insert(_("English"), 0);
61 m_choiceLanguage->Insert(_("Portuguese"), 1);
62 m_choiceTheme->Clear();
63 m_choiceTheme->Insert(_("Light"), 0);
64 m_choiceTheme->Insert(_("Dark"), 1);
65
66
67
68 m_choicePlotLib->Clear();
69 m_choicePlotLib->Insert(_("Chart Director"), 0);
70 m_choicePlotLib->Insert(_("wxMathPlot"), 1);
71
72 switch (data.language) {
73 case wxLANGUAGE_ENGLISH: {
74 m_choiceLanguage->SetSelection(0);
75 } break;
76 case wxLANGUAGE_PORTUGUESE_BRAZILIAN: {
77 m_choiceLanguage->SetSelection(1);
78 } break;
79 default: {
80 m_choiceLanguage->SetSelection(wxNOT_FOUND);
81 } break;
82 }
83 switch (data.plotLib) {
84 case PlotLib::wxCHART_DIR: {
85 m_choicePlotLib->SetSelection(0);
86 } break;
87 case PlotLib::wxMATH_PLOT: {
88 m_choicePlotLib->SetSelection(1);
89 } break;
90 }
91 switch (data.theme) {
92 case THEME_LIGHT: {
93 m_choiceTheme->SetSelection(0);
94 } break;
95 case THEME_DARK: {
96 m_choiceTheme->SetSelection(1);
97 } break;
98 }
99
100
101 m_filePickerATPFolder->SetPath(data.atpPath.GetFullPath());
102 m_choiceElementToolbar->SetSelection(data.elementsToolbar);
103
104 wxFont currentFont(data.labelFontSize, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, data.labelFont);
105 m_fontPickerText->SetSelectedFont(currentFont);
106
107
108 m_checkBoxUseBusColours->SetValue(data.useBusVoltageColours);
109 EnableBusColoursControls(data.useBusVoltageColours);
110 m_voltageLevels = data.voltageLevels;
111 if (m_voltageLevels.empty()) {
112 m_voltageLevels = PropertiesData::GetDefaultVoltageLevels();
113 }
114
115 m_listCtrlVoltages->InsertColumn(0, wxEmptyString, wxLIST_FORMAT_LEFT, 110);
116 m_listCtrlVoltages->InsertColumn(1, wxEmptyString, wxLIST_FORMAT_LEFT, 110);
117
118 PopulateVoltageList();
119
120 if (GetSizer()) {
121 GetSizer()->Fit(this);
122 }
123 Layout();
124 SetMinSize(wxSize(480, 380));
125 Fit();
126 Centre();
127}