/** * LevelNameEdit.hpp * * @date 29.01.2025 * @author Jonathan Dueck (jonathan.dueck@informatik.hs-fulda.de) */ #pragma once #include <QLineEdit> namespace editor { /** * The LevelNameEdit Widget is displayed on the left of the TopBar. * It allows the user to set a custom level name. */ class LevelNameEdit : public QLineEdit { public: /** * Creates a LevelNameEdit Widget prefilling the provided level_name. * The parent of the LevelNameEdit Widget is set to the provided parent. * @param levelName The initial name of the level. * @param parent The Widget that should be set as the parent of this Widget. */ LevelNameEdit(const std::string& levelName, QWidget* parent = nullptr); protected: /** * Receives a QKeyEvent when the user presses a key to change the content of the QLineEdit. * The onLevelNameUpdated event method is subsequently emitted. * @param event The QKeyEvent for the Key Press. */ void keyPressEvent(QKeyEvent* event) override; }; } // namespace editor