2002-05-27 13:19:35 +00:00
|
|
|
#include <applicat.h>
|
|
|
|
#include <automask.h>
|
|
|
|
|
|
|
|
#include "ba1600.h"
|
|
|
|
#include "ba1900.h"
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// Main mask
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TDevotoOli_mask : public TAutomask
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
virtual bool on_field_event(TOperable_field& f, TField_event e, long jolly);
|
|
|
|
|
|
|
|
static int parac(TConfig& cfg, void* jolly);
|
|
|
|
|
|
|
|
public:
|
|
|
|
bool something_selected() const;
|
|
|
|
|
|
|
|
TDevotoOli_mask();
|
|
|
|
};
|
|
|
|
|
|
|
|
bool TDevotoOli_mask::something_selected() const
|
|
|
|
{
|
|
|
|
TSheet_field& sheet = sfield(F_MODULES);
|
2002-09-13 14:56:23 +00:00
|
|
|
FOR_EACH_SHEET_ROW(sheet, i, row)
|
2002-05-27 13:19:35 +00:00
|
|
|
if (row->get_char(0) > ' ')
|
|
|
|
break;
|
|
|
|
return i >= 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool TDevotoOli_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
|
|
|
|
{
|
|
|
|
switch (f.dlg())
|
|
|
|
{
|
|
|
|
case F_MODULES:
|
|
|
|
if (e == se_query_add || e == se_query_del)
|
|
|
|
return FALSE;
|
|
|
|
break;
|
|
|
|
case F_TUTTI:
|
|
|
|
{
|
|
|
|
TSheet_field& sheet = sfield(F_MODULES);
|
|
|
|
const char* sel = something_selected() ? "" : "X";
|
|
|
|
FOR_EACH_SHEET_ROW_BACK(sheet, i, row)
|
|
|
|
row->add(sel, 0);
|
|
|
|
sheet.force_update();
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
int TDevotoOli_mask::parac(TConfig& cfg, void* jolly)
|
|
|
|
{
|
|
|
|
const TString& para = cfg.get_paragraph();
|
|
|
|
if (para.len() == 2)
|
|
|
|
{
|
|
|
|
TSheet_field* sheet = (TSheet_field*)jolly;
|
|
|
|
TToken_string& row = sheet->row(-1);
|
|
|
|
row = "X";
|
|
|
|
row.add(para);
|
|
|
|
row.add(cfg.get("Descrizione"));
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
TDevotoOli_mask::TDevotoOli_mask() : TAutomask("ba1900")
|
|
|
|
{
|
|
|
|
TInstall_ini ini;
|
|
|
|
TSheet_field& sheet = sfield(F_MODULES);
|
|
|
|
ini.for_each_paragraph(parac, &sheet);
|
|
|
|
sheet.force_update();
|
|
|
|
}
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// Main app
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TDevotoOli_app : public TSkeleton_application
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
virtual void main_loop();
|
|
|
|
};
|
|
|
|
|
|
|
|
void TDevotoOli_app::main_loop()
|
|
|
|
{
|
|
|
|
TDevotoOli_mask dom;
|
|
|
|
dom.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
int ba1900(int argc, char* argv[])
|
|
|
|
{
|
|
|
|
TDevotoOli_app app;
|
|
|
|
app.run(argc, argv, TR("Devoto/Oli"));
|
|
|
|
return 0;
|
|
|
|
}
|