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

// optimierung-Dialogfeld

class optimierung: public CDialog
{
    DECLARE_DYNAMIC (optimierung)

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

// Dialogfelddaten
    enum
    {
        IDD = IDD_DIALOG3
    };

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

    DECLARE_MESSAGE_MAP()
public:
    //afx_msg void OnLbnDblclkListmassnahmen();
    //afx_msg void OnLbnDblclkListarten();

    datenbank* daten;
    BOOL OnInitDialog();
    void getdata();
    CListBox mv_massnahme;

    vector< art*> artlist;
    vector< massnahme> mliste;
    vector< double> minqualitaet;
    vector< double> ziehlartqual;
    massnahme** massnahmenliste;
    simulation::ergebnis ergeb;
    //CListBox m_arten;
    art* nart;
    CEdit m_art;
    CEdit m_qual;
    CEdit m_anzahl;
    CListBox m_artliste;
    CListBox m_qualliste;
    CListBox m_flaecheliste;
    CListBox m_gewmassnahmen;afx_msg
    void OnBnClickedEinlesen();afx_msg
    void OnBnClickedButtonoptimierung();
    CListBox m_zahlungliste;
    CListBox m_pixel_pro_massnahme;afx_msg
    void OnEnKillfocusTzahlung();
    CEdit m_tzahlung;afx_msg
    void OnBnClickedOk();afx_msg
    void OnBnClickedCancel();afx_msg
    void OnBnClickedVis();
    CButton m_visualisierung;
    CButton m_speichern;
    CMultiDocTemplate *m_pTemplateI;afx_msg
    void OnBnClickedSpeichern();
    double faktor;afx_msg
    void OnSize( UINT nType, int cx, int cy);afx_msg
    void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);

    int m_nCurHeight;
    int m_nScrollPos;
    CRect m_rect;

    string name, savetime;
    massnahme m;afx_msg
    void OnCbnSelchangeMassnahmenart();afx_msg
    void OnCbnSelchangeMassnahmenstart();afx_msg
    void OnCbnSelchangeMassnahmenabstand();afx_msg
    void OnCbnSelchangeComboArt();afx_msg
    void OnCbnSelchangeMassnahmengv();afx_msg
    void OnCbnSelchangeComboartnamen();afx_msg
    void OnCbnSelchangeComboartnamenlatein();afx_msg
    void OnCbnSelchangeComboartsavetime();

    /*CListBox m_liste_gmassnahme;
     CEdit m_gart;
     CEdit m_qualitaet;
     CListBox m_listegarten;
     CListBox m_liste_qualitaet;
     CListBox m_liste_ergebnis;*/

    CComboBox m_massnahmenart;
    CComboBox m_massnahmenstart;
    CComboBox m_massnahmenabstand;
    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;
    CComboBox m_massnahmetierart;
    CButton m_d_ja;
    CButton m_d_nein;
    CComboBox m_arten_name;
    CComboBox m_arten_namenlatein;
    CComboBox m_arten_savetime;afx_msg
    void OnBnClickedDuengungja();afx_msg
    void OnBnClickedDuengungnein();
    int bundeslandID;
    bool blandgew;
    CComboBox m_bundesland;afx_msg
    void OnCbnSelchangeBundesland();
    CEdit m_gesamtbudge;
    CBrush m_brush;afx_msg
    HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    CButton hohe_ges;
    CButton hoehe_hoch;
    CButton hoehe_tief;
    CButton m_alle_mahd;
    CButton m_alle_weide;
    CButton m_alle;
    bool hoch;
    bool egal;
    bool hochgew;afx_msg
    void OnLbnDblclkListgewmassnahmen();afx_msg
    void OnLbnDblclkListgewarten();afx_msg
    void OnBnClickedMahd();afx_msg
    void OnBnClickedWeide();afx_msg
    void OnBnClickedAllemassnahmen();
	afx_msg void OnCbnSelchangeMassnahmenabstand4();
	CComboBox massnahmenabstand3;
	afx_msg void OnBnClickedButtonerasemeasures();
};
