text: /**
  	* \file PnlWznmJobList.h
  	* job handler for job PnlWznmJobList (declarations)
  	* \copyright (C) 2016-2020 MPSI Technologies GmbH
  	* \author Alexander Wirthmueller (auto-generation)
  	* \date created: 28 Nov 2020
  	*/
  // IP header --- ABOVE
  
  #ifndef PNLWZNMJOBLIST_H
  #define PNLWZNMJOBLIST_H
  
  // IP include.spec --- INSERT
  
  // IP include.cust --- INSERT
  
  #include "QryWznmJobList.h"
  
  #define VecVWznmJobListDo PnlWznmJobList::VecVDo
  
  #define ContIacWznmJobList PnlWznmJobList::ContIac
  #define ContInfWznmJobList PnlWznmJobList::ContInf
  #define StatShrWznmJobList PnlWznmJobList::StatShr
  #define StgIacWznmJobList PnlWznmJobList::StgIac
  #define TagWznmJobList PnlWznmJobList::Tag
  
  #define DpchAppWznmJobListData PnlWznmJobList::DpchAppData
  #define DpchAppWznmJobListDo PnlWznmJobList::DpchAppDo
  #define DpchEngWznmJobListData PnlWznmJobList::DpchEngData
  
  /**
  	* PnlWznmJobList
  	*/
  class PnlWznmJobList : public JobWznm {
  
  public:
  	/**
  		* VecVDo (full: VecVWznmJobListDo)
  		*/
  	class VecVDo {
  
  	public:
  		static const Sbecore::uint BUTMINIMIZECLICK = 1;
  		static const Sbecore::uint BUTREGULARIZECLICK = 2;
  		static const Sbecore::uint BUTNEWCLICK = 3;
  		static const Sbecore::uint BUTDELETECLICK = 4;
  		static const Sbecore::uint BUTFILTERCLICK = 5;
  		static const Sbecore::uint BUTREFRESHCLICK = 6;
  
  		static Sbecore::uint getIx(const std::string& sref);
  		static std::string getSref(const Sbecore::uint ix);
  	};
  
  	/**
  	  * ContIac (full: ContIacWznmJobList)
  	  */
  	class ContIac : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint NUMFTOS = 1;
  
  	public:
  		ContIac(const Sbecore::uint numFTos = 1);
  
  	public:
  		Sbecore::uint numFTos;
  
  	public:
  		bool readJSON(Json::Value& sup, bool addbasetag = false);
  		bool readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  		void writeJSON(Json::Value& sup, std::string difftag = "");
  		void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  		std::set<Sbecore::uint> comm(const ContIac* comp);
  		std::set<Sbecore::uint> diff(const ContIac* comp);
  	};
  
  	/**
  	  * ContInf (full: ContInfWznmJobList)
  	  */
  	class ContInf : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint TXTFOR = 1;
  		static const Sbecore::uint TXTPRE = 2;
  		static const Sbecore::uint BUTFILTERON = 3;
  		static const Sbecore::uint NUMFCSIQST = 4;
  
  	public:
  		ContInf(const std::string& TxtFor = "", const std::string& TxtPre = "", const bool ButFilterOn = false, const Sbecore::uint numFCsiQst = 1);
  
  	public:
  		std::string TxtFor;
  		std::string TxtPre;
  		bool ButFilterOn;
  		Sbecore::uint numFCsiQst;
  
  	public:
  		void writeJSON(Json::Value& sup, std::string difftag = "");
  		void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  		std::set<Sbecore::uint> comm(const ContInf* comp);
  		std::set<Sbecore::uint> diff(const ContInf* comp);
  	};
  
  	/**
  		* StatShr (full: StatShrWznmJobList)
  		*/
  	class StatShr : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint IXWZNMVEXPSTATE = 1;
  		static const Sbecore::uint BUTDELETEACTIVE = 2;
  
  	public:
  		StatShr(const Sbecore::uint ixWznmVExpstate = VecWznmVExpstate::MIND, const bool ButDeleteActive = true);
  
  	public:
  		Sbecore::uint ixWznmVExpstate;
  		bool ButDeleteActive;
  
  	public:
  		void writeJSON(Json::Value& sup, std::string difftag = "");
  		void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  		std::set<Sbecore::uint> comm(const StatShr* comp);
  		std::set<Sbecore::uint> diff(const StatShr* comp);
  	};
  
  	/**
  		* StgIac (full: StgIacWznmJobList)
  		*/
  	class StgIac : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint TCOSRFWIDTH = 1;
  		static const Sbecore::uint TCOTYPWIDTH = 2;
  		static const Sbecore::uint TCOVERWIDTH = 3;
  		static const Sbecore::uint TCORETWIDTH = 4;
  		static const Sbecore::uint TCOREUWIDTH = 5;
  		static const Sbecore::uint TCOGBLWIDTH = 6;
  		static const Sbecore::uint TCOCLSWIDTH = 7;
  		static const Sbecore::uint TCOSHDWIDTH = 8;
  
  	public:
  		StgIac(const Sbecore::uint TcoSrfWidth = 100, const Sbecore::uint TcoTypWidth = 100, const Sbecore::uint TcoVerWidth = 100, const Sbecore::uint TcoRetWidth = 100, const Sbecore::uint TcoReuWidth = 100, const Sbecore::uint TcoGblWidth = 100, const Sbecore::uint TcoClsWidth = 100, const Sbecore::uint TcoShdWidth = 100);
  
  	public:
  		Sbecore::uint TcoSrfWidth;
  		Sbecore::uint TcoTypWidth;
  		Sbecore::uint TcoVerWidth;
  		Sbecore::uint TcoRetWidth;
  		Sbecore::uint TcoReuWidth;
  		Sbecore::uint TcoGblWidth;
  		Sbecore::uint TcoClsWidth;
  		Sbecore::uint TcoShdWidth;
  
  	public:
  		bool readJSON(Json::Value& sup, bool addbasetag = false);
  		bool readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  		void writeJSON(Json::Value& sup, std::string difftag = "");
  		void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  		std::set<Sbecore::uint> comm(const StgIac* comp);
  		std::set<Sbecore::uint> diff(const StgIac* comp);
  	};
  
  	/**
  		* Tag (full: TagWznmJobList)
  		*/
  	class Tag {
  
  	public:
  		static void writeJSON(const Sbecore::uint ixWznmVLocale, Json::Value& sup, std::string difftag = "");
  		static void writeXML(const Sbecore::uint ixWznmVLocale, xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  	};
  
  	/**
  		* DpchAppData (full: DpchAppWznmJobListData)
  		*/
  	class DpchAppData : public DpchAppWznm {
  
  	public:
  		static const Sbecore::uint JREF = 1;
  		static const Sbecore::uint CONTIAC = 2;
  		static const Sbecore::uint STGIAC = 3;
  		static const Sbecore::uint STGIACQRY = 4;
  
  	public:
  		DpchAppData();
  
  	public:
  		ContIac contiac;
  		StgIac stgiac;
  		QryWznmJobList::StgIac stgiacqry;
  
  	public:
  		std::string getSrefsMask();
  
  		void readJSON(Json::Value& sup, bool addbasetag = false);
  		void readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  	};
  
  	/**
  		* DpchAppDo (full: DpchAppWznmJobListDo)
  		*/
  	class DpchAppDo : public DpchAppWznm {
  
  	public:
  		static const Sbecore::uint JREF = 1;
  		static const Sbecore::uint IXVDO = 2;
  
  	public:
  		DpchAppDo();
  
  	public:
  		Sbecore::uint ixVDo;
  
  	public:
  		std::string getSrefsMask();
  
  		void readJSON(Json::Value& sup, bool addbasetag = false);
  		void readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  	};
  
  	/**
  		* DpchEngData (full: DpchEngWznmJobListData)
  		*/
  	class DpchEngData : public DpchEngWznm {
  
  	public:
  		static const Sbecore::uint JREF = 1;
  		static const Sbecore::uint CONTIAC = 2;
  		static const Sbecore::uint CONTINF = 3;
  		static const Sbecore::uint FEEDFCSIQST = 4;
  		static const Sbecore::uint FEEDFTOS = 5;
  		static const Sbecore::uint STATSHR = 6;
  		static const Sbecore::uint STGIAC = 7;
  		static const Sbecore::uint TAG = 8;
  		static const Sbecore::uint RST = 9;
  		static const Sbecore::uint STATAPPQRY = 10;
  		static const Sbecore::uint STATSHRQRY = 11;
  		static const Sbecore::uint STGIACQRY = 12;
  		static const Sbecore::uint ALL = 13;
  
  	public:
  		DpchEngData(const Sbecore::ubigint jref = 0, ContIac* contiac = NULL, ContInf* continf = NULL, Sbecore::Feed* feedFCsiQst = NULL, Sbecore::Feed* feedFTos = NULL, StatShr* statshr = NULL, StgIac* stgiac = NULL, ListWznmQJobList* rst = NULL, QryWznmJobList::StatShr* statshrqry = NULL, QryWznmJobList::StgIac* stgiacqry = NULL, const std::set<Sbecore::uint>& mask = {NONE});
  
  	public:
  		ContIac contiac;
  		ContInf continf;
  		Sbecore::Feed feedFCsiQst;
  		Sbecore::Feed feedFTos;
  		StatShr statshr;
  		StgIac stgiac;
  		ListWznmQJobList rst;
  		QryWznmJobList::StatShr statshrqry;
  		QryWznmJobList::StgIac stgiacqry;
  
  	public:
  		std::string getSrefsMask();
  		void merge(DpchEngWznm* dpcheng);
  
  		void writeJSON(const Sbecore::uint ixWznmVLocale, Json::Value& sup);
  		void writeXML(const Sbecore::uint ixWznmVLocale, xmlTextWriter* wr);
  	};
  
  	bool evalButDeleteActive(DbsWznm* dbswznm);
  
  public:
  	PnlWznmJobList(XchgWznm* xchg, DbsWznm* dbswznm, const Sbecore::ubigint jrefSup, const Sbecore::uint ixWznmVLocale);
  	~PnlWznmJobList();
  
  public:
  	ContIac contiac;
  	ContInf continf;
  	StatShr statshr;
  	StgIac stgiac;
  
  	Sbecore::Feed feedFCsiQst;
  	Sbecore::Feed feedFTos;
  
  	QryWznmJobList* qry;
  
  	// IP vars.cust --- INSERT
  
  public:
  	// IP cust --- INSERT
  
  public:
  	DpchEngWznm* getNewDpchEng(std::set<Sbecore::uint> items);
  
  	void refresh(DbsWznm* dbswznm, std::set<Sbecore::uint>& moditems, const bool unmute = false);
  
  	void updatePreset(DbsWznm* dbswznm, const Sbecore::uint ixWznmVPreset, const Sbecore::ubigint jrefTrig, const bool notif = false);
  	void minimize(DbsWznm* dbswznm, const bool notif = false, DpchEngWznm** dpcheng = NULL);
  	void regularize(DbsWznm* dbswznm, const bool notif = false, DpchEngWznm** dpcheng = NULL);
  
  public:
  
  public:
  	void handleRequest(DbsWznm* dbswznm, ReqWznm* req);
  
  private:
  
  	void handleDpchAppWznmInit(DbsWznm* dbswznm, DpchAppWznmInit* dpchappwznminit, DpchEngWznm** dpcheng);
  	void handleDpchAppDataContiac(DbsWznm* dbswznm, ContIac* _contiac, DpchEngWznm** dpcheng);
  	void handleDpchAppDataStgiac(DbsWznm* dbswznm, StgIac* _stgiac, DpchEngWznm** dpcheng);
  	void handleDpchAppDataStgiacqry(DbsWznm* dbswznm, QryWznmJobList::StgIac* _stgiacqry, DpchEngWznm** dpcheng);
  
  	void handleDpchAppDoButMinimizeClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  	void handleDpchAppDoButRegularizeClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  	void handleDpchAppDoButNewClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  	void handleDpchAppDoButDeleteClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  	void handleDpchAppDoButFilterClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  	void handleDpchAppDoButRefreshClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  
  public:
  	void handleCall(DbsWznm* dbswznm, Sbecore::Call* call);
  
  private:
  	bool handleCallWznmStatChg(DbsWznm* dbswznm, const Sbecore::ubigint jrefTrig);
  
  };
  
  #endif
  