1// Aseprite
2// Copyright (C) 2018 David Capello
3//
4// This program is distributed under the terms of
5// the End-User License Agreement for Aseprite.
6
7#ifndef APP_UI_EXPR_ENTRY_H_INCLUDED
8#define APP_UI_EXPR_ENTRY_H_INCLUDED
9#pragma once
10
11#include "ui/entry.h"
12
13namespace app {
14
15 // Support math expressions.
16 class ExprEntry : public ui::Entry {
17 public:
18 ExprEntry();
19
20 int decimals() const { return m_decimals; }
21 void setDecimals(int decimals) { m_decimals = decimals; }
22
23 protected:
24 bool onProcessMessage(ui::Message* msg) override;
25 void onChange() override;
26 int onGetTextInt() const override;
27 double onGetTextDouble() const override;
28
29 virtual void onFormatExprFocusLeave(std::string& buf);
30
31 int m_decimals;
32 };
33
34} // namespace app
35
36#endif
37