campo-sirio/mr/mrplib.h

67 lines
1.6 KiB
C
Raw Normal View History

#ifndef __MRPLIB_H
#define __MRPLIB_H
#ifndef __AUTOMASK_H
#include <automask.h>
#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() { }
};
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