c434cad322
Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione 3.1 patch 650 git-svn-id: svn://10.65.10.50/trunk@14148 c028cbd2-c16b-5b4b-a496-9718f37d4682
185 lines
4.4 KiB
C++
Executable File
185 lines
4.4 KiB
C++
Executable File
#include <automask.h>
|
|
#include <confapp.h>
|
|
|
|
#include "dt0300a.h"
|
|
#include "dt0300b.h"
|
|
|
|
class TConf_dt : public TConfig_application
|
|
{
|
|
TMask* _mask;
|
|
char _current;
|
|
|
|
protected:
|
|
virtual TMask* get_mask() { return _mask; }
|
|
virtual TMask* create_mask(const TFilename& f) { if (_mask == NULL) _mask = new TMask(f); return _mask;}
|
|
virtual void destroy_mask() { delete _mask; _mask = NULL; }
|
|
virtual void load_mask();
|
|
virtual void save_mask(bool tosave);
|
|
bool save_mask_doc(TMask* mask);
|
|
bool load_mask_doc(TMask* mask);
|
|
bool save_mask_ditte(TMask* mask);
|
|
bool load_mask_ditte(TMask* mask);
|
|
public:
|
|
virtual bool user_create( );
|
|
virtual bool user_destroy( );
|
|
|
|
TConf_dt() : TConfig_application() { _mask = NULL;}
|
|
virtual ~TConf_dt( ){ }
|
|
};
|
|
|
|
bool TConf_dt::load_mask_doc(TMask* mask)
|
|
{
|
|
|
|
TConfig* config_studio = get_config();
|
|
TConfig_application::load_mask();
|
|
TToken_string workstring;
|
|
TSheet_field& sf_doc = mask->sfield(F_CONF_DOC);
|
|
sf_doc.destroy();
|
|
for (int k = 0; config_studio->exist("ConfDoc", k); k++)
|
|
{
|
|
workstring= config_studio->get("ConfDoc", NULL, k);
|
|
TToken_string& row = sf_doc.row(-1);
|
|
row.add(workstring.get(0), 0);
|
|
row.add(workstring.get(1), 1);
|
|
row.add(workstring.get(2), 2);
|
|
row.add(workstring.get(3), 3);
|
|
row.add(workstring.get(4), 4);
|
|
sf_doc.check_row(sf_doc.items()-1);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TConf_dt::load_mask_ditte(TMask* mask)
|
|
{
|
|
|
|
TConfig* config_studio = get_config();
|
|
TConfig_application::load_mask();
|
|
TToken_string workstring;
|
|
TSheet_field& sf_ditte = mask->sfield(F_CONF_DITTE);
|
|
sf_ditte.destroy();
|
|
for (int k = 0; config_studio->exist("ConfDitte", k); k++)
|
|
{
|
|
workstring= config_studio->get("ConfDitte", NULL, k);
|
|
TToken_string& row = sf_ditte.row(-1);
|
|
row.add(workstring.get(0), 0);
|
|
row.add(workstring.get(1), 1);
|
|
row.add(workstring.get(2), 2);
|
|
row.add(workstring.get(3), 3);
|
|
row.add(workstring.get(4), 4);
|
|
row.add(workstring.get(5), 5);
|
|
sf_ditte.check_row(sf_ditte.items()-1);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void TConf_dt::load_mask()
|
|
{
|
|
TMask* mask = get_mask();
|
|
if (mask==NULL)
|
|
return;
|
|
if (_current=='1')
|
|
load_mask_doc(mask);
|
|
if (_current=='2')
|
|
load_mask_ditte(mask);
|
|
}
|
|
|
|
bool TConf_dt::save_mask_doc(TMask* mask)
|
|
{
|
|
TConfig* config_studio = get_config();
|
|
for (int k = 0; config_studio->exist("ConfDoc", k); k++)
|
|
config_studio->remove("ConfDoc", k);
|
|
TToken_string workstring;
|
|
TSheet_field& sf_doc = mask->sfield(F_CONF_DOC);
|
|
int c = 0;
|
|
FOR_EACH_SHEET_ROW(sf_doc, j, line)
|
|
{
|
|
workstring.cut(0);
|
|
workstring.add(line->get(0));
|
|
workstring.add(line->get(1));
|
|
workstring.add(line->get(2));
|
|
workstring.add(line->get(3));
|
|
workstring.add(line->get(4));
|
|
config_studio->set("ConfDoc", workstring, NULL, true, c++);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TConf_dt::save_mask_ditte(TMask* mask)
|
|
{
|
|
TConfig* config_studio = get_config();
|
|
for (int k = 0; config_studio->exist("ConfDitte", k); k++)
|
|
config_studio->remove("ConfDitte", k);
|
|
TToken_string workstring;
|
|
TSheet_field& sf_ditte = mask->sfield(F_CONF_DITTE);
|
|
int c = 0;
|
|
FOR_EACH_SHEET_ROW(sf_ditte, j, line)
|
|
{
|
|
workstring.cut(0);
|
|
workstring.add(line->get(0));
|
|
if (!workstring.blank())
|
|
{
|
|
workstring.add(line->get(1));
|
|
workstring.add(line->get(2));
|
|
workstring.add(line->get(3));
|
|
workstring.add(line->get(4));
|
|
workstring.add(line->get(5));
|
|
config_studio->set("ConfDitte", workstring, NULL, true, c++);
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void TConf_dt::save_mask(bool tosave)
|
|
{
|
|
TMask* mask = get_mask();
|
|
if (mask==NULL)
|
|
return;
|
|
bool ask_save = mask->dirty() && !tosave;
|
|
if (ask_save)
|
|
tosave = yesno_box("Modifiche non registrate. Salvare?");
|
|
if (tosave)
|
|
{
|
|
TConfig_application::save_mask(tosave);
|
|
if (_current == '1')
|
|
save_mask_doc(mask);
|
|
if (_current == '2')
|
|
save_mask_ditte(mask);
|
|
}
|
|
}
|
|
|
|
bool TConf_dt::user_create( )
|
|
{
|
|
TString16 arg( argv(2) );
|
|
if( arg[ 0 ] != '-' )
|
|
fatal_box( TR( "Usage: dt0 -2 -[1|2]") );
|
|
_current = arg[1];
|
|
TConfig conf(CONFIG_STUDIO );
|
|
set_config(CONFIG_STUDIO);
|
|
switch( _current )
|
|
{
|
|
case '1':
|
|
conf.set( "EdMask", "dt0300a", "dt");
|
|
break;
|
|
case '2':
|
|
conf.set( "EdMask", "dt0300b", "dt" );
|
|
break;
|
|
default:
|
|
fatal_box( TR("Usage: dt0 -2 -[1|2]") );
|
|
return FALSE;
|
|
break;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TConf_dt::user_destroy( )
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
int dt0300(int argc, char* argv[])
|
|
{
|
|
TConf_dt app;
|
|
|
|
app.run(argc, argv, TR("Configurazione modulo"));
|
|
return 0;
|
|
} |