#pragma once
#include "afxwin.h"
#include "massnahme.h"
#include "art.h"
#include "ergebnis.h"
#include "datenbank.h"
#include <vector>

// zahlungssimulierung-Dialogfeld

class zahlungssimulierung: public CDialog
{
    DECLARE_DYNAMIC (zahlungssimulierung)

public:
    zahlungssimulierung( CWnd* pParent = NULL); // Standardkonstruktor
    virtual ~zahlungssimulierung();

// Dialogfelddaten
    enum
    {
        IDD = IDD_Zahlung
    };

protected:
    virtual void DoDataExchange( CDataExchange* pDX); // DDX/DDV-Unterstützung

    DECLARE_MESSAGE_MAP()
public:
    //CListBox m_massnahme;
    CListBox m_liste_gmassnahme;
    CEdit m_gmassnahme;
    CEdit m_zahlung;
    CEdit m_anzahl;
    CListBox m_listezahlung;
    CListBox m_liste_anzahl;afx_msg
    void OnBnClickedEinlesen2();afx_msg
    void OnBnClickedButtonoptimierung();
    //CListBox m_liste_arten;
    CEdit m_gart;
    CEdit m_qualitaet;afx_msg
    void OnBnClickedEinlesen();
    CListBox m_listegarten;
    CListBox m_liste_qualitaet;
    CListBox m_liste_ergebnis;afx_msg
    void OnBnClickedVis();afx_msg
    void OnLbnDblclkListmassnahmen();afx_msg
    void OnLbnDblclkListarten();
    datenbank* daten;
    BOOL OnInitDialog();
    void getdata();
    vector< ergebnis*> neueliste( vector< ergebnis*> eliste, massnahme m);

    struct pixelqual
    {
        int pixel_i;
        int pixel_j;
        double aqual;
    };
    vector< pixelqual> pq;
    //struct artenanzahl{CString artname;int zaehler;};
    struct artenanzahl
    {
        CString artname;
        vector< pixelqual> pq;
        int zaehler;
    };
    CMultiDocTemplate *m_pTemplateI;
    CButton m_speichern;afx_msg
    void OnBnClickedSpeichern();
    CButton m_visualisieren;
    massnahme** massnahmenliste;
    vector< massnahme> mliste;
    vector< double> minqualitaet;
    vector< art*> artliste;
    vector< int> pixel_pro_massnahme;
    vector< modell::masspixelergeb> ergebnisliste;
    string name, savetime;
    massnahme m;afx_msg
    void OnBnClickedOk();afx_msg
    void OnLbnDblclkListgewmassnahmen();afx_msg
    void OnLbnDblclkListgewarten();afx_msg
    void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);afx_msg
    void OnSize( UINT nType, int cx, int cy);

    int m_nCurHeight;
    int m_nScrollPos;
    CRect m_rect;afx_msg
    void OnCbnSelchangeMassnahmenart();
    CComboBox m_massnahmenart;afx_msg
    void OnCbnSelchangeMassnahmenstart();
    CComboBox m_massnahmenstart;afx_msg
    void OnCbnSelchangeMassnahmenabstand();
    CComboBox m_massnahmenabstand;afx_msg
    void OnCbnSelchangeMassnahmengv();
    CComboBox m_massnahmeGV;

    CString namemassnahme;
    CString namenartlatein;
    CString nameart;
    bool artg;
    int mv1massnahme;
    int abstand2massnahme;
	int abstand3massnahme;
    bool duengung_gewaehlt;
    bool duengung;
    bool streifenmahd;
    int massnahmeID;
    double zahlung;
    double grossvieheinheit;
    bool gvgewaehlt;
    bool tierartgewaehlt;
    int tierart;afx_msg
    void OnCbnSelchangeComboArt();
    CComboBox m_massnahmetierart;

    afx_msg
    void OnBnClickedDuengungja();afx_msg
    void OnBnClickedDuengungnein();
    CButton m_d_ja;
    CButton m_d_nein;afx_msg
    void OnCbnSelchangeComboartnamen();afx_msg
    void OnCbnSelchangeComboartnamenlatein();afx_msg
    void OnCbnSelchangeComboartsavetime();
    CComboBox m_arten_name;
    CComboBox m_arten_namenlatein;
    CComboBox m_arten_savetime;
    int bundeslandID;
    bool blandgew;
    CComboBox m_bundesland;afx_msg
    void OnCbnSelchangeBundesland();afx_msg
    HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    CBrush m_brush;
    CButton hohe_ges;
    CButton hoehe_hoch;
    CButton hoehe_tief;
    CEdit transaktionskosten;
    bool hoch;
    bool egal;
    bool hochgew;
    int tzahlung;
    //afx_msg void OnBnClickedButton1();
	afx_msg void OnCbnSelchangeMassnahmenabstand4();
	CComboBox massnahmenabstand3;
};
