#ifndef __screen_manual
#define __screen_manual

#include "include/screenids.h"
#include "./baseheightentry.h"
#include "../screen.h"
#include "../Control.h"


/*
 * Manual screen
 *   Allows manual entry of the preferred height.
 */
class ManualScreen : public BaseHeightEntryScreen
{
  public:
    ManualScreen(ScreenManager* screenManager, Adafruit_GFX* display) : BaseHeightEntryScreen(screenManager, display) { }

    ScreenId screenId() { return ScreenId::Manual; };

  protected:
    void initHeights();
    uint16_t getHeight() { return this->height; }
    void setHeight(uint16_t value);
    bool nextPage();

    bool isValidHeight() { return true; }
    const char* getTitle() { return "Manual"; }

  private:
    uint16_t height;
};

#endif
