diff options
Diffstat (limited to 'include/widgets/MainWindow.hpp')
| -rw-r--r-- | include/widgets/MainWindow.hpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/include/widgets/MainWindow.hpp b/include/widgets/MainWindow.hpp index b64bf8c..4731fe4 100644 --- a/include/widgets/MainWindow.hpp +++ b/include/widgets/MainWindow.hpp @@ -9,21 +9,44 @@ #include "widgets/BrowserManager.hpp" #include "widgets/InputLine.hpp" +class EvaluationType { +public: + EvaluationType() {} + virtual ~EvaluationType() = default; +}; +class NoopEval : public EvaluationType {}; + class MainWindow : public QMainWindow { public: MainWindow(); protected: void keyPressEvent(QKeyEvent *event) override; + void onInputSubmit(QString input); void evaluateCommand(QString command); void hideInputLine(); void showInputLine(); - void showURLInput(QString url = ""); + void showURLInput(QString url, OpenType openType); void showCommandInput(QString command = ""); + void setEvaluationType(EvaluationType *); + private: BrowserManager *browserManager; InputLine *inputLine; LuaRuntime *luaRuntime; QStackedLayout *layout; + + EvaluationType *currentEvaluationType = new NoopEval(); }; + +class UrlEval : public EvaluationType { +public: + UrlEval(OpenType type) : EvaluationType(), openType(type) {} + OpenType type() { return openType; } + +private: + OpenType openType; +}; + +class CommandEval : public EvaluationType {}; |
