1998-09-26 07:11:12 +00:00
|
|
|
#ifndef __MRPLIB_H
|
|
|
|
#define __MRPLIB_H
|
|
|
|
|
1998-09-28 07:37:18 +00:00
|
|
|
#ifndef __AUTOMASK_H
|
|
|
|
#include <automask.h>
|
1998-09-26 07:11:12 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
class TMRP_calendar : public TObject
|
|
|
|
{
|
|
|
|
static TString16 _days;
|
|
|
|
static TToken_string _holidays;
|
|
|
|
TAssoc_array _exc_imp, _exc_lin;
|
|
|
|
TString16 _codimp, _codlin;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
void init_default();
|
|
|
|
void read_cal(const TString& key, char tipo);
|
|
|
|
|
|
|
|
public:
|
|
|
|
int turni(const TDate& date, int& mini, int& maxi);
|
|
|
|
|
|
|
|
int turni_min(const TDate& date)
|
|
|
|
{ int mini, maxi; turni(date, mini, maxi); return mini; }
|
|
|
|
|
|
|
|
int turni_max(const TDate& date)
|
|
|
|
{ int mini, maxi; turni(date, mini, maxi); return maxi; }
|
|
|
|
|
|
|
|
int set_turni(const TDate& date, int mini, int maxi);
|
|
|
|
|
|
|
|
int write();
|
|
|
|
int rewrite() { return write(); }
|
|
|
|
|
|
|
|
void add_holiday(int g, int m);
|
|
|
|
void suppress_holiday(int g, int m);
|
|
|
|
bool is_holiday(int g, int m) const;
|
|
|
|
bool is_holiday(const TDate& date) const;
|
|
|
|
bool is_red(const TDate& date) const;
|
|
|
|
|
|
|
|
void set(const char* linea, const char* impianto);
|
|
|
|
|
|
|
|
TMRP_calendar(const char* linea = NULL, const char* impianto = NULL);
|
|
|
|
virtual ~TMRP_calendar() { }
|
|
|
|
};
|
|
|
|
|
|
|
|
class TCalendar_field : public TWindowed_field
|
|
|
|
{
|
|
|
|
protected: // TWindowed_field
|
|
|
|
virtual TField_window* create_window(int x, int y, int dx, int dy,
|
|
|
|
WINDOW parent);
|
|
|
|
public:
|
|
|
|
void set_calendar(TMRP_calendar* cal, int year = 0);
|
|
|
|
|
|
|
|
TCalendar_field(TMask* m) : TWindowed_field(m) { }
|
|
|
|
virtual ~TCalendar_field() { }
|
|
|
|
};
|
|
|
|
|
1998-09-28 07:37:18 +00:00
|
|
|
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() {};
|
|
|
|
};
|
1998-09-26 07:11:12 +00:00
|
|
|
|
|
|
|
#endif
|