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

// ausgleichszahlung-Dialogfeld

class ausgleichszahlung: public CDialog
{
    DECLARE_DYNAMIC (ausgleichszahlung)

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

// Dialogfelddaten
    enum
    {
        IDD = IDD_Ausgleichszahlung
    };

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

    DECLARE_MESSAGE_MAP()
public:
    CComboBox m_1massnahme;
    CComboBox m_2massnahme;
    CComboBox m_3massnahme;
    CEdit m_1Flaeche;
    CEdit m_2Flaeche;
    CEdit m_3Flaeche;
    float max1F;
    float max2F;
    float max3F;
    CListBox m_artenliste;
    massnahme** massnahmenliste;
    vector< massnahme> mliste;
    massnahme m1;
    massnahme m2;
    massnahme m3;
    float zahlung1;
    float zahlung2;
    float zahlung3;
    double minqualitaet;
    datenbank* daten;

    afx_msg
    void OnCbnSelchange1massnahme();afx_msg
    void OnCbnSelchange2massnahme();afx_msg
    void OnCbnSelchange3massnahme();afx_msg
    void OnEnKillfocus1flaeche();afx_msg
    void OnEnKillfocus2flaeche();afx_msg
    void OnEnKillfocus3flaeche();afx_msg
    void OnLbnDblclkArtenliste();
    BOOL OnInitDialog();
    void getdata();
    vector< ergebnis*> neueliste( vector< ergebnis*> eliste, massnahme m);
    vector< art*> artliste;afx_msg
    void OnBnClickedButton1();afx_msg
    void OnBnClickedOk();afx_msg
    void OnBnClickedModelieren();afx_msg
    void OnEnKillfocuszahlungm1();afx_msg
    void OnEnKillfocuszahlungm2();afx_msg
    void OnEnKillfocuszahlungm3();
    CListBox ergebnis1;
    CListBox ergebnis2;
    CListBox ergebnis3;afx_msg
    void OnEnKillfocusqarten();
    CEdit qarten;
    CEdit pixelsumme;afx_msg
    void OnBnClickedButton2();afx_msg
    void OnBnClickedSpeichern();
    vector< ergebnis*> pixelm1;
    vector< ergebnis*> pixelm2;
    vector< ergebnis*> pixelm3;
    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;
    int bundeslandID;
    bool egal;
    bool hoch;
};
