//--------------------------------------------------------------------------- #include #pragma hdrstop #include "ModVisFrm.h" using namespace std; //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TModVisForm *ModVisForm; //--------------------------------------------------------------------------- __fastcall TModVisForm::TModVisForm(TComponent* Owner) : TForm(Owner) { section = 0; // set this before calling Show... mgr = 0; // set this before calling Show... } //--------------------------------------------------------------------------- void __fastcall TModVisForm::FormShow(TObject *Sender) { ConfigEntMap::iterator it; ModMap::iterator mit; TListItem *item; modList->Items->Clear(); for (it = section->begin(); it != section->end(); it++) { mit = mgr->Modules.find(it->first); SWModule *module = (mit != mgr->Modules.end()) ? mit->second : 0; if (module) { item = modList->Items->Add(); item->Caption = it->first.c_str(); item->SubItems->Add(module->Description()); item->Checked = (it->second == "true"); } } } //--------------------------------------------------------------------------- void __fastcall TModVisForm::FormClose(TObject *Sender, TCloseAction &Action) { if (this->ModalResult == mrOk) { for (int i = 0; i < modList->Items->Count; i++) { string name = modList->Items->Item[i]->Caption.c_str(); (*section)[name] = (modList->Items->Item[i]->Checked) ? "true" : "false"; } } } //---------------------------------------------------------------------------