/***************************************************************
* Name: codestatconfig.cpp
* Purpose: Code::Blocks plugin
* Author: Zlika
* Created: 11/09/2005
* Copyright: (c) Zlika
* License: GPL
**************************************************************/
#include "codestatconfig.h"
BEGIN_EVENT_TABLE (CodeStatConfigDlg, wxDialog)
EVT_COMBOBOX(XRCID("combo_Names"), CodeStatConfigDlg::ComboBoxEvent)
END_EVENT_TABLE ()
CodeStatConfigDlg::CodeStatConfigDlg(wxWindow* parent, LanguageDef lang[NB_FILETYPES])
{
wxXmlResource::Get()->LoadDialog(this, parent, _("dlgCodeStatConfig"));
wxComboBox* combo_Names = XRCCTRL(*this, "combo_Names", wxComboBox);
// Writing languages names in the combo-box and saving the language classes in a local variable
for (int i=0; i<NB_FILETYPES; i++)
{
languages[i] = lang[i];
combo_Names->Append(languages[i].name);
}
combo_Names->SetSelection(0);
PrintLanguageInfo(0);
}
CodeStatConfigDlg::~CodeStatConfigDlg()
{
}
void CodeStatConfigDlg::EndModal(int retCode)
{
if (retCode == wxID_OK)
{
// user pressed OK; save settings
//SaveSettings();
}
wxDialog::EndModal(retCode);
}
// Print the caracteristics for the language selected
void CodeStatConfigDlg::ComboBoxEvent(wxCommandEvent & event)
{
PrintLanguageInfo(event.GetSelection());
}
// Print the caracteristics for the language number "id"
void CodeStatConfigDlg::PrintLanguageInfo(int id)
{
wxStaticText* txt_Name = XRCCTRL(*this, "txt_Name", wxStaticText);
txt_Name->SetLabel(languages[id].name);
wxStaticText* txt_FileTypes = XRCCTRL(*this, "txt_FileTypes", wxStaticText);
wxString ext_string = _T("");
for (int i=0; i<languages[id].ext.GetCount(); i++)
ext_string = ext_string + _T(" ") + languages[id].ext[i];
txt_FileTypes->SetLabel(ext_string);
wxStaticText* txt_SingleComment = XRCCTRL(*this, "txt_SingleComment", wxStaticText);
txt_SingleComment->SetLabel(languages[id].single_line_comment);
wxStaticText* txt_MultiLineCommentBegin = XRCCTRL(*this, "txt_MultiLineCommentBegin", wxStaticText);
txt_MultiLineCommentBegin->SetLabel(languages[id].multiple_line_comment[0]);
wxStaticText* txt_MultiLineCommentEnd = XRCCTRL(*this, "txt_MultiLineCommentEnd", wxStaticText);
txt_MultiLineCommentEnd->SetLabel(languages[id].multiple_line_comment[1]);
}
syntax highlighted by Code2HTML, v. 0.9.1