Patch level : 1.32

Files correlati     : ba1.exe
Ricompilazione Demo : [ ]
Commento            :
Aggiunte prime pagine del Devoto-Oli


git-svn-id: svn://10.65.10.50/trunk@10258 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2002-05-27 13:19:35 +00:00
parent 24035af0d5
commit d591648e21
3 changed files with 179 additions and 0 deletions

106
ba/ba1900.cpp Executable file
View File

@ -0,0 +1,106 @@
#include <applicat.h>
#include <automask.h>
#include "ba1600.h"
#include "ba1900.h"
const char* Translate(const char* str)
{ return str; }
#define TR(str) Translate("\03\02\01\00"##str)
///////////////////////////////////////////////////////////
// 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);
FOR_EACH_SHEET_ROW_BACK(sheet, i, row)
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;
}

6
ba/ba1900.h Executable file
View File

@ -0,0 +1,6 @@
#define F_MODULES 201
#define F_TUTTI 301
#define S_SELECTED 101
#define S_MODULO 102
#define S_DESCR 103

67
ba/ba1900.uml Executable file
View File

@ -0,0 +1,67 @@
#include "ba1900.h"
TOOLBAR "" 0 -3 80 3
BUTTON F_TUTTI 10 2
BEGIN
PROMPT -13 -11 "~Tutti"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -23 -11 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -33 -11 ""
END
ENDPAGE
PAGE "Dizionario" -1 -1 80 25
SPREADSHEET F_MODULES 70
BEGIN
PROMPT 1 1 "Moduli"
ITEM "@1"
ITEM "Modulo"
ITEM "Descrizione@50"
END
ENDPAGE
ENDMASK
PAGE "Modulo" -1 -1 60 6
STRING S_MODULO 2
BEGIN
PROMPT 1 1 "Modulo "
FLAGS "D"
END
STRING S_DESCR 45
BEGIN
PROMPT 11 1 ""
FLAGS "D"
END
BOOLEAN S_SELECTED
BEGIN
PROMPT 1 2 "Selezionato"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK