#pragma once

#include <Schrift.h>
#include <UIMLView.h>

class ItemStackElement : public Framework::UIMLElement
{
public:
    ItemStackElement();
    //! prüft, ob dieses UIML Element für ein bestimmtes xml Element zuständig
    //! ist
    bool isApplicableFor(Framework::XML::Element& element) override;
    //! erstellt eine neue Zeichnung zu einem gegebenen xml Element
    Framework::Zeichnung* parseElement(Framework::XML::Element& element,
        Framework::UIMLContainer& generalFactory) override;
    bool updateElement(Framework::XML::Element& element,
        Framework::Zeichnung& z,
        Framework::UIMLContainer& generalFactory) override;
};

class ItemStackView : public Framework::ZeichnungHintergrund
{
private:
    Framework::Text count;
    Framework::TextRenderer tr;

public:
    ItemStackView(Framework::Schrift* schrift);
    void setCount(Framework::Text count);
    void setToolTip(Framework::XML::Element* zToolTipUIML);
    void render(Framework::Bild& rObj) override;
};