Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Aggiunta TCalendar_mask in mrplib. Aggiunta gestione parametri ditta per MRP. git-svn-id: svn://10.65.10.50/trunk@7149 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d7bf7a33cb
commit
86da863222
@ -7,9 +7,12 @@ int main(int argc, char** argv)
|
||||
int a = argc > 1 ? (argv[1][1] - '0') : 0;
|
||||
switch (a)
|
||||
{
|
||||
case 3:
|
||||
mr0400(argc,argv); break; // parametri ditta
|
||||
case 0:
|
||||
default:
|
||||
mr0100(argc, argv);
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
8
mr/mr0.h
8
mr/mr0.h
@ -1,2 +1,8 @@
|
||||
int mr0100(int argc, char* argv[]);
|
||||
#ifndef __MR0_H
|
||||
#define __MR0_H
|
||||
|
||||
int mr0100(int argc, char* argv[]);
|
||||
int mr0400(int argc, char* argv[]);
|
||||
|
||||
#endif // __PR0_H
|
||||
|
||||
|
13
mr/mr0.url
13
mr/mr0.url
@ -1 +1,14 @@
|
||||
#include <default.url>
|
||||
|
||||
/* mr0 -0 Gestione tabelle */
|
||||
|
||||
MENU TASK_MENUBAR
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
/* mr0 -3 Parametri ditta */
|
||||
MENUBAR MENU_BAR(1)
|
||||
|
||||
MENU MENU_BAR(1)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
#include <automask.h>
|
||||
#include <tabapp.h>
|
||||
|
||||
#include "mr0.h"
|
||||
@ -6,18 +5,21 @@
|
||||
|
||||
#include "mrtblnp.h"
|
||||
|
||||
#ifndef TTable_application
|
||||
#define TTable_application Tab_application
|
||||
#endif
|
||||
|
||||
TTable_application& app() { return (TTable_application&)main_app(); }
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TMRP_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TMRP_mask : public TAutomask
|
||||
class TMRP_mask : public TCalendar_mask
|
||||
{
|
||||
TMRP_calendar* _calendar;
|
||||
|
||||
protected:
|
||||
virtual TMask_field* parse_field(TScanner& scanner);
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
@ -25,14 +27,6 @@ public:
|
||||
virtual ~TMRP_mask();
|
||||
};
|
||||
|
||||
TMask_field* TMRP_mask::parse_field(TScanner& scanner)
|
||||
{
|
||||
const TString& k = scanner.key();
|
||||
if (k == "CA")
|
||||
return new TCalendar_field(this);
|
||||
return TAutomask::parse_field(scanner);
|
||||
}
|
||||
|
||||
bool TMRP_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
const TString16 tn = app().get_tabname();
|
||||
@ -87,9 +81,8 @@ bool TMRP_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
}
|
||||
|
||||
TMRP_mask::TMRP_mask(const char* name, int num)
|
||||
: _calendar(NULL)
|
||||
: TCalendar_mask(name, num), _calendar(NULL)
|
||||
{
|
||||
read_mask(name, num, 0);
|
||||
set_handlers();
|
||||
}
|
||||
|
||||
|
136
mr/mr0400.cpp
Executable file
136
mr/mr0400.cpp
Executable file
@ -0,0 +1,136 @@
|
||||
// Gestione parametri ditta MRP
|
||||
|
||||
#ifndef __CONFAPP_H
|
||||
#include <confapp.h>
|
||||
#endif
|
||||
|
||||
#include "mrplib.h"
|
||||
#include "mr0400.h"
|
||||
|
||||
#define NTURNI 8
|
||||
|
||||
class TConf_MRP_mask : public TCalendar_mask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TConf_MRP_mask(const char* name, int num = 0);
|
||||
virtual ~TConf_MRP_mask();
|
||||
};
|
||||
|
||||
bool TConf_MRP_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TConf_MRP_mask::TConf_MRP_mask(const char* name, int num)
|
||||
: TCalendar_mask(name, num)
|
||||
{
|
||||
set_handlers();
|
||||
}
|
||||
|
||||
TConf_MRP_mask::~TConf_MRP_mask()
|
||||
{
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// TConf_MRP_application
|
||||
//////////////////////////////////////////////////
|
||||
class TConf_MRP_application : public TConfig_application
|
||||
{
|
||||
TMRP_calendar* _calendar;
|
||||
TCalendar_mask *_mask;
|
||||
|
||||
protected:
|
||||
virtual TMask* get_mask() { return _mask; }
|
||||
virtual TMask* create_mask(const TFilename& f) { return new TConf_MRP_mask(f); }
|
||||
virtual void destroy_mask() { delete _mask; }
|
||||
virtual void save_mask(bool tosave);
|
||||
public:
|
||||
|
||||
virtual bool preprocess_config (TMask& mask, TConfig& config);
|
||||
virtual bool postprocess_config (TMask& mask, TConfig& config);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
|
||||
TConf_MRP_application() : TConfig_application(CONFIG_DITTA) { _mask = NULL; _calendar = NULL;}
|
||||
virtual ~TConf_MRP_application() {}
|
||||
};
|
||||
|
||||
void TConf_MRP_application::save_mask(bool tosave)
|
||||
{
|
||||
if (tosave)
|
||||
_calendar->write();
|
||||
|
||||
TConfig_application::save_mask(tosave);
|
||||
}
|
||||
|
||||
bool TConf_MRP_application::preprocess_config (TMask& mask, TConfig& config)
|
||||
{
|
||||
TToken_string ora_inizio("",':');
|
||||
|
||||
for (int i = 0; i < NTURNI; i++)
|
||||
{
|
||||
// Traduce le ore ed i minuti
|
||||
const short h = F_T1HINIZIO+(i*4);
|
||||
ora_inizio = config.get("TINIZIO","mr", i);
|
||||
mask.set(h,ora_inizio.get(0)); // Hour...
|
||||
mask.set(h+1,ora_inizio.get(1)); // Minutes...
|
||||
const long tdurata = config.get_long("TDURATA", "mr", i);
|
||||
const int hours = (int)tdurata / 60; // numero di ore
|
||||
const int minutes = (int)tdurata % 60; // numero di minuti
|
||||
mask.set(h+2, hours);
|
||||
mask.set(h+3, minutes);
|
||||
}
|
||||
//mask.set(F_GESTIMPIANTI, config.get_bool("GESTIMPIANTI", "mr"));
|
||||
//mask.set(F_NTURNI, config.get_int("NTURNI", "mr"));
|
||||
// Carica il calendario
|
||||
TCalendar_field& cf = (TCalendar_field&)mask.field(F_CALENDAR);
|
||||
cf.set_calendar(_calendar, mask.get_int(F_YEAR));
|
||||
cf.win().force_update();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TConf_MRP_application::postprocess_config (TMask& mask, TConfig& config)
|
||||
{
|
||||
TToken_string ora_inizio("",':');
|
||||
for (int i = 0; i < NTURNI; i++)
|
||||
{
|
||||
// Traduce le ore ed i minuti
|
||||
const short h = F_T1HINIZIO+(i*4);
|
||||
ora_inizio.add(mask.get(h),0); // Hour...
|
||||
ora_inizio.add(mask.get(h+1),1); // Minutes
|
||||
config.set("TINIZIO",ora_inizio,"mr", TRUE, i);
|
||||
const int durata_h = mask.get_int(h+2);
|
||||
const int durata_m = mask.get_int(h+3);
|
||||
const long minutes = durata_h * 60 + durata_m;
|
||||
config.set("TDURATA", minutes, "mr", TRUE, i);
|
||||
}
|
||||
config.set("GESTIMPIANTI", mask.get_bool(F_GESTIMPIANTI), "mr");
|
||||
config.set("NTURNI", mask.get_int(F_NTURNI), "mr");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TConf_MRP_application::user_create()
|
||||
{
|
||||
TConfig conf(CONFIG_DITTA);
|
||||
conf.set( "EdMask", "mr0400a", "mr");
|
||||
_calendar = new TMRP_calendar(); // Calendario standard
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TConf_MRP_application::user_destroy()
|
||||
{
|
||||
if (_calendar)
|
||||
delete _calendar;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int mr0400(int argc, char* argv[])
|
||||
{
|
||||
TConf_MRP_application app;
|
||||
|
||||
app.run(argc, argv, "Parametri gestione MRP");
|
||||
return 0;
|
||||
}
|
44
mr/mr0400.h
Executable file
44
mr/mr0400.h
Executable file
@ -0,0 +1,44 @@
|
||||
#ifndef __MR0400_H
|
||||
#define __MR0400_H
|
||||
|
||||
#define F_GESTIMPIANTI 101
|
||||
#define F_NTURNI 102
|
||||
#define F_T1HINIZIO 103
|
||||
#define F_T1MINIZIO 104
|
||||
#define F_T1HDURATA 105
|
||||
#define F_T1MDURATA 106
|
||||
#define F_T2HINIZIO 107
|
||||
#define F_T2MINIZIO 108
|
||||
#define F_T2HDURATA 109
|
||||
#define F_T2MDURATA 110
|
||||
#define F_T3HINIZIO 111
|
||||
#define F_T3MINIZIO 112
|
||||
#define F_T3HDURATA 113
|
||||
#define F_T3MDURATA 114
|
||||
#define F_T4HINIZIO 115
|
||||
#define F_T4MINIZIO 116
|
||||
#define F_T4HDURATA 117
|
||||
#define F_T4MDURATA 118
|
||||
#define F_T5HINIZIO 119
|
||||
#define F_T5MINIZIO 120
|
||||
#define F_T5HDURATA 121
|
||||
#define F_T5MDURATA 122
|
||||
#define F_T6HINIZIO 123
|
||||
#define F_T6MINIZIO 124
|
||||
#define F_T6HDURATA 125
|
||||
#define F_T6MDURATA 126
|
||||
#define F_T7HINIZIO 127
|
||||
#define F_T7MINIZIO 128
|
||||
#define F_T7HDURATA 129
|
||||
#define F_T7MDURATA 130
|
||||
#define F_T8HINIZIO 131
|
||||
#define F_T8MINIZIO 132
|
||||
#define F_T8HDURATA 133
|
||||
#define F_T8MDURATA 134
|
||||
|
||||
#define F_YEAR 201
|
||||
#define F_CALENDAR 202
|
||||
|
||||
#endif
|
||||
|
||||
|
319
mr/mr0400a.uml
Executable file
319
mr/mr0400a.uml
Executable file
@ -0,0 +1,319 @@
|
||||
#include "mr0400.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Parametri ditta" -1 -1 65 15
|
||||
|
||||
BOOLEAN F_GESTIMPIANTI
|
||||
BEGIN
|
||||
PROMPT 2 2 "Gestione impianti "
|
||||
FIELD GESTIMPIANTI
|
||||
END
|
||||
|
||||
LISTBOX F_NTURNI 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Numero turni "
|
||||
ITEM "1|1"
|
||||
MESSAGE CLEAR, 28@
|
||||
ITEM "2|2"
|
||||
MESSAGE CLEAR, 38@|ENABLE,12@
|
||||
ITEM "3|3"
|
||||
MESSAGE CLEAR, 48@|ENABLE,13@
|
||||
ITEM "4|4"
|
||||
MESSAGE CLEAR, 58@|ENABLE,14@
|
||||
ITEM "5|5"
|
||||
MESSAGE CLEAR, 68@|ENABLE,15@
|
||||
ITEM "6|6"
|
||||
MESSAGE CLEAR, 78@|ENABLE,16@
|
||||
ITEM "7|7"
|
||||
MESSAGE CLEAR, 8@|ENABLE,17@
|
||||
ITEM "8|8"
|
||||
MESSAGE ENABLE,18@
|
||||
FIELD NTURNI
|
||||
END
|
||||
|
||||
NUMBER F_T1HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Ora inizio primo turno "
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T1MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 5 ""
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T1HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 5 "Durata "
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T1MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 5 ""
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T2HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 6 "Ora inizio secondo turno "
|
||||
GROUP 2 12 13 14 15 16 17 18 28
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T2MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 6 ""
|
||||
GROUP 2 12 13 14 15 16 17 18 28
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T2HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 6 "Durata "
|
||||
GROUP 2 12 13 14 15 16 17 18 28
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T2MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 6 ""
|
||||
GROUP 2 12 13 14 15 16 17 18 28
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T3HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 7 "Ora inizio terzo turno "
|
||||
GROUP 3 13 14 15 16 17 18 28 38
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T3MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 7 ""
|
||||
GROUP 3 13 14 15 16 17 18 28 38
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T3HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 7 "Durata "
|
||||
GROUP 3 13 14 15 16 17 18 28 38
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T3MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 7 ""
|
||||
GROUP 3 13 14 15 16 17 18 28 38
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
|
||||
NUMBER F_T4HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Ora inizio quarto turno "
|
||||
GROUP 4 14 15 16 17 18 28 38 48
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T4MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 8 ""
|
||||
GROUP 4 14 15 16 17 18 28 38 48
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T4HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 8 "Durata "
|
||||
GROUP 4 14 15 16 17 18 28 38 48
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T4MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 8 ""
|
||||
GROUP 4 14 15 16 17 18 28 38 48
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T5HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 9 "Ora inizio quinto turno "
|
||||
GROUP 5 15 16 17 18 28 38 48 58
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T5MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 9 ""
|
||||
GROUP 5 15 16 17 18 28 38 48 58
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T5HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 9 "Durata "
|
||||
GROUP 5 15 16 17 18 28 38 48 58
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T5MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 9 ""
|
||||
GROUP 5 15 16 17 18 28 38 48 58
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T6HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 10 "Ora inizio sesto turno "
|
||||
GROUP 6 16 17 18 28 38 48 58 68
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T6MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 10 ""
|
||||
GROUP 6 16 17 18 28 38 48 58 68
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T6HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 10 "Durata "
|
||||
GROUP 6 16 17 18 28 38 48 58 68
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T6MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 10 ""
|
||||
GROUP 6 16 17 18 28 38 48 58 68
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T7HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 11 "Ora inizio settimo turno "
|
||||
GROUP 7 17 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T7MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 11 ""
|
||||
GROUP 7 17 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T7HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 11 "Durata "
|
||||
GROUP 7 17 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T7MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 11 ""
|
||||
GROUP 7 17 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
|
||||
NUMBER F_T8HINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Ora inizio ottavo turno "
|
||||
GROUP 8 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T8MINIZIO 2
|
||||
BEGIN
|
||||
PROMPT 30 12 ""
|
||||
GROUP 8 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T8HDURATA 2
|
||||
BEGIN
|
||||
PROMPT 36 12 "Durata "
|
||||
GROUP 8 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 23)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
NUMBER F_T8MDURATA 2
|
||||
BEGIN
|
||||
PROMPT 47 12 ""
|
||||
GROUP 8 18 28 38 48 58 68 78
|
||||
NUM_EXPR {(#THIS_FIELD <= 59)}
|
||||
WARNING "Ora non valida"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Calendario" -1 -1 65 15
|
||||
|
||||
NUMBER F_YEAR 4
|
||||
BEGIN
|
||||
PROMPT 1 1 "Anno "
|
||||
FLAGS "AD"
|
||||
END
|
||||
|
||||
CALENDAR F_CALENDAR -3 -1
|
||||
BEGIN
|
||||
PROMPT 0 2 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -475,4 +475,22 @@ void TCalendar_field::set_calendar(TMRP_calendar* cal, int year)
|
||||
{
|
||||
TCalendar_win& cw = (TCalendar_win&)win();
|
||||
cw.set_calendar(cal, year);
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TCalendar_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
TMask_field* TCalendar_mask::parse_field(TScanner& scanner)
|
||||
{
|
||||
const TString& k = scanner.key();
|
||||
if (k == "CA")
|
||||
return new TCalendar_field(this);
|
||||
return TAutomask::parse_field(scanner);
|
||||
}
|
||||
|
||||
TCalendar_mask::TCalendar_mask(const char* name, int num)
|
||||
{
|
||||
read_mask(name, num, 0);
|
||||
}
|
||||
|
||||
|
12
mr/mrplib.h
12
mr/mrplib.h
@ -1,8 +1,8 @@
|
||||
#ifndef __MRPLIB_H
|
||||
#define __MRPLIB_H
|
||||
|
||||
#ifndef __MASK_H
|
||||
#include <mask.h>
|
||||
#ifndef __AUTOMASK_H
|
||||
#include <automask.h>
|
||||
#endif
|
||||
|
||||
class TMRP_calendar : public TObject
|
||||
@ -54,5 +54,13 @@ public:
|
||||
virtual ~TCalendar_field() { }
|
||||
};
|
||||
|
||||
class TCalendar_mask : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual TMask_field* parse_field(TScanner& scanner);
|
||||
public:
|
||||
TCalendar_mask(const char* name, int num = 0);
|
||||
virtual ~TCalendar_mask() {};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user