qskinny/src/controls/QskTextFieldSkinlet.h

45 lines
1.1 KiB
C
Raw Normal View History

/******************************************************************************
2024-01-17 13:31:45 +00:00
* QSkinny - Copyright (C) The authors
2023-04-06 07:23:37 +00:00
* SPDX-License-Identifier: BSD-3-Clause
*****************************************************************************/
#ifndef QSK_TEXT_FIELD_SKINLET_H
#define QSK_TEXT_FIELD_SKINLET_H
2024-12-18 11:37:18 +00:00
#include "QskTextInputSkinlet.h"
2024-12-18 11:37:18 +00:00
class QskTextField;
class QSK_EXPORT QskTextFieldSkinlet : public QskTextInputSkinlet
{
Q_GADGET
2024-12-18 11:37:18 +00:00
using Inherited = QskTextInputSkinlet;
2018-08-03 06:15:28 +00:00
public:
2024-12-09 13:53:59 +00:00
enum NodeRole : quint8
{
2024-12-18 11:37:18 +00:00
PanelRole = QskTextInputSkinlet::RoleCount,
PlaceholderTextRole,
RoleCount
};
Q_INVOKABLE QskTextFieldSkinlet( QskSkin* = nullptr );
~QskTextFieldSkinlet() override;
2018-07-31 15:32:25 +00:00
QRectF subControlRect( const QskSkinnable*,
const QRectF& rect, QskAspect::Subcontrol ) const override;
2024-12-04 09:08:39 +00:00
QSizeF sizeHint( const QskSkinnable*,
Qt::SizeHint, const QSizeF& ) const override;
2018-08-03 06:15:28 +00:00
protected:
2018-07-31 15:32:25 +00:00
QSGNode* updateSubNode( const QskSkinnable*,
quint8 nodeRole, QSGNode* ) const override;
2024-12-18 11:37:18 +00:00
virtual QString effectivePlaceholderText( const QskTextField* ) const;
};
#endif