// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include "ApnListItem.hpp" #include #include namespace gui { class ApnInputWidget : public ApnListItem { settingsInternals::ListItemName listItemName; public: explicit ApnInputWidget( settingsInternals::ListItemName listItemName, const std::function &navBarTemporaryMode = nullptr, const std::function &navBarRestoreFromTemporaryMode = nullptr, const std::function &selectSpecialCharacter = nullptr, const std::function restoreFunction)> &restoreInputMode = nullptr, const std::function &contentChanged = nullptr, unsigned int lines = 1); private: VBox *vBox = nullptr; Label *titleLabel = nullptr; TextFixedSize *inputText = nullptr; std::function checkTextContent = nullptr; void applyItemNameSpecificSettings(); void nameHandler(); void apnHandler(); void usernameHandler(); void passwordNumberHandler(); void authtypeHandler(); void apntypeHandler(); void protocolHandler(); }; } /* namespace gui */