ab083a1e95
git-svn-id: svn://10.65.10.50/branches/R_10_00@22727 c028cbd2-c16b-5b4b-a496-9718f37d4682
96 lines
2.0 KiB
C++
Executable File
96 lines
2.0 KiB
C++
Executable File
#include <automask.h>
|
|
#include <defmask.h>
|
|
#include <msksheet.h>
|
|
#include <mask.h>
|
|
#include <recarray.h>
|
|
#include <recset.h>
|
|
#include <tabapp.h>
|
|
|
|
#include <multirel.h>
|
|
#include "../mg/anamag.h"
|
|
#include "ps0430200a.h"
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TUser_mask maschera
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TUser_mask : public TAutomask
|
|
{
|
|
|
|
public:
|
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
|
TUser_mask() : TAutomask("ps0430200a") {}
|
|
~TUser_mask() {}
|
|
};
|
|
|
|
bool TUser_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|
{
|
|
switch (o.dlg())
|
|
{
|
|
case F_USER:
|
|
if (e == fe_modify)
|
|
{
|
|
const TString& new_user = o.get();
|
|
const TString16 old_user = user();
|
|
user() = new_user;
|
|
const char* defpar = "or";
|
|
TConfig userconf(CONFIG_USER, defpar);
|
|
|
|
for (int i = o.mask().fields()-1; i >= 0; i--)
|
|
{
|
|
TMask_field& f = o.mask().fld(i);
|
|
const TFieldref* fr = f.field();
|
|
|
|
if (fr != NULL)
|
|
f.set(fr->read(userconf, defpar));
|
|
}
|
|
user() = old_user;
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
class TUser_set_app : public TSkeleton_application
|
|
{
|
|
public:
|
|
virtual const char * extra_modules() const {return "ba";}
|
|
virtual void main_loop();
|
|
|
|
TUser_set_app() {}
|
|
virtual ~TUser_set_app() {}
|
|
};
|
|
|
|
void TUser_set_app::main_loop()
|
|
{
|
|
TUser_mask mask;
|
|
|
|
while (mask.run() == K_ENTER)
|
|
{
|
|
const TString& new_user = mask.get(F_USER);
|
|
const TString16 old_user = user();
|
|
user() = new_user;
|
|
const char* defpar = "or";
|
|
TConfig userconf(CONFIG_USER, defpar);
|
|
|
|
for (int i = mask.fields()-1; i >= 0; i--)
|
|
{
|
|
TMask_field& f = mask.fld(i);
|
|
const TFieldref* fr = f.field();
|
|
if (fr != NULL)
|
|
fr->write(userconf, defpar, f.get());
|
|
}
|
|
user() = old_user;
|
|
mask.reset();
|
|
}
|
|
}
|
|
|
|
int ps0430200(int argc, char* argv[])
|
|
{
|
|
TUser_set_app a;
|
|
a.run(argc, argv, TR("Configurazione campi per utente"));
|
|
return 0;
|
|
}
|