MythTV  master
mythuitextedit.h
Go to the documentation of this file.
1 #ifndef MYTHUI_TEXTEDIT_H_
2 #define MYTHUI_TEXTEDIT_H_
3 
4 #include <QString>
5 #include <QClipboard>
6 
7 #include "mythtimer.h"
8 #include "mythuitype.h"
9 #include "mythvirtualkeyboard.h"
10 #include "mythstorage.h"
11 
12 class MythFontProperties;
13 class MythUIStateType;
14 class MythUIImage;
15 class MythUIText;
16 
18 {
19  FilterNone = 0x0,
20  FilterAlpha = 0x01,
21  FilterNumeric = 0x02,
23  FilterSymbols = 0x04,
24  FilterPunct = 0x08
25 };
26 
33 {
34  Q_OBJECT
35 
36  public:
37  MythUITextEdit(MythUIType *parent, const QString &name);
38  ~MythUITextEdit() = default;
39 
40  void Pulse(void) override; // MythUIType
41  bool keyPressEvent(QKeyEvent *) override; // MythUIType
42  bool gestureEvent(MythGestureEvent *) override; // MythUIType
43  void Reset(void) override; // MythUIType
44 
45  void SetText(const QString &text, bool moveCursor = true);
46  void InsertText(const QString &text);
47  QString GetText(void) const { return m_Message; }
48 
49  void SetFilter(InputFilter filter) { m_Filter = filter; }
50  void SetPassword(bool isPassword) { m_isPassword = isPassword; }
51  void SetMaxLength(const int length);
52 
53  enum MoveDirection { MoveLeft, MoveRight, MoveUp, MoveDown, MovePageUp, MovePageDown, MoveEnd };
54  bool MoveCursor(MoveDirection);
55 
56  void SetKeyboardPosition(PopupPosition pos) { m_keyboardPosition = pos; }
57  PopupPosition GetKeyboardPosition(void) { return m_keyboardPosition; }
58 
59  // StorageUser
60  void SetDBValue(const QString &text) override { SetText(text); } // StorageUser
61  QString GetDBValue(void) const override { return GetText(); } // StorageUser
62 
63  signals:
64  void valueChanged();
65 
66  public slots:
67  void Select();
68  void Deselect();
69 
70  protected:
71  bool ParseElement(const QString &filename, QDomElement &element,
72  bool showWarnings) override; // MythUIType
73  void CopyFrom(MythUIType *base) override; // MythUIType
74  void CreateCopy(MythUIType *parent) override; // MythUIType
75  void Finalize(void) override; // MythUIType
76 
77  void Init(void);
78  void SetInitialStates(void);
79 
80  bool InsertCharacter(const QString &character);
81  void RemoveCharacter(int position);
82 
83  void CutTextToClipboard(void);
84  void CopyTextToClipboard(void);
85  void PasteTextFromClipboard(QClipboard::Mode mode = QClipboard::Clipboard);
86 
88 
92 
94 
95  QString m_Message;
98 
100 
102 
106 
108 };
109 
110 #endif
This widget is used for grouping other widgets for display when a particular named state is called.
unsigned int slots[4]
Definition: element.c:38
A QElapsedTimer based timer to replace use of QTime as a timer.
Definition: mythtimer.h:13
virtual bool keyPressEvent(QKeyEvent *event)
Key event handler.
Definition: mythuitype.cpp:971
All purpose text widget, displays a text string.
Definition: mythuitext.h:28
InputFilter m_Filter
Image widget, displays a single image or multiple images in sequence.
Definition: mythuiimage.h:97
virtual bool gestureEvent(MythGestureEvent *event)
Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop.
Definition: mythuitype.cpp:986
void SetFilter(InputFilter filter)
InputFilter
MythUIText * m_Text
The base class on which all widgets and screens are based.
Definition: mythuitype.h:63
PopupPosition
Preferred position to place virtual keyboard popup.
MythUIImage * m_cursorImage
virtual void CreateCopy(MythUIType *parent)
Copy the state of this widget to the one given, it must be of the same type.
MythTimer m_lastKeyPress
void SetKeyboardPosition(PopupPosition pos)
A text entry and edit widget.
virtual void Pulse(void)
Pulse is called 70 times a second to trigger a single frame of an animation.
Definition: mythuitype.cpp:442
void SetDBValue(const QString &text) override
A custom event that represents a mouse gesture.
Definition: mythgesture.h:39
const char * name
Definition: ParseText.cpp:328
virtual void Reset(void)
Reset the widget to it's original state, should not reset changes made by the theme.
Definition: mythuitype.cpp:69
MythUIStateType * m_backgroundState
QString GetDBValue(void) const override
#define MUI_PUBLIC
Definition: mythuiexp.h:9
virtual void CopyFrom(MythUIType *base)
Copy this widgets state from another.
void SetPassword(bool isPassword)
PopupPosition m_keyboardPosition
PopupPosition GetKeyboardPosition(void)
virtual bool ParseElement(const QString &filename, QDomElement &element, bool showWarnings)
Parse the xml definition of this widget setting the state of the object accordingly.
QString GetText(void) const
virtual void Finalize(void)
Perform any post-xml parsing initialisation tasks.