2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef LINEEDIT_H
|
|
|
|
#define LINEEDIT_H
|
|
|
|
|
|
|
|
#include "tcommon.h"
|
|
|
|
|
|
|
|
#include <QLineEdit>
|
|
|
|
|
|
|
|
#undef DVAPI
|
|
|
|
#undef DVVAR
|
|
|
|
#ifdef TOONZQT_EXPORTS
|
|
|
|
#define DVAPI DV_EXPORT_API
|
|
|
|
#define DVVAR DV_EXPORT_VAR
|
|
|
|
#else
|
|
|
|
#define DVAPI DV_IMPORT_API
|
|
|
|
#define DVVAR DV_IMPORT_VAR
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//=============================================================================
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
namespace DVGui {
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
//=============================================================================
|
|
|
|
/*! \brief It is a \b QLineEdit which lost focus when enter is pressed and emit
|
2016-06-15 18:43:10 +12:00
|
|
|
focusIn signal when line edit take
|
|
|
|
focus.
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
Inherits \b QLineEdit.
|
2016-03-19 06:57:51 +13:00
|
|
|
*/
|
2016-06-15 18:43:10 +12:00
|
|
|
class DVAPI LineEdit : public QLineEdit {
|
|
|
|
Q_OBJECT
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
bool m_isReturnPressed;
|
|
|
|
bool m_forbiddenSpecialChars;
|
2017-11-20 20:28:59 +13:00
|
|
|
bool m_mouseDragEditing = false;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
LineEdit(QWidget *parent = 0, bool forbiddenSpecialChars = false);
|
|
|
|
LineEdit(const QString &contents, QWidget *parent = 0,
|
|
|
|
bool forbiddenSpecialChars = false);
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
bool isReturnPressed() const { return m_isReturnPressed; }
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
~LineEdit() {}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2017-11-20 20:28:59 +13:00
|
|
|
// In the function editor, ctrl + dragging on the lineedit
|
|
|
|
// can adjust the value.
|
|
|
|
bool getMouseDragEditing() { return m_mouseDragEditing; }
|
|
|
|
void setMouseDragEditing(bool status) { m_mouseDragEditing = status; }
|
|
|
|
|
2016-03-19 06:57:51 +13:00
|
|
|
protected:
|
2016-06-19 20:06:29 +12:00
|
|
|
void focusInEvent(QFocusEvent *event) override;
|
|
|
|
void keyPressEvent(QKeyEvent *event) override;
|
2017-11-20 20:28:59 +13:00
|
|
|
void mouseMoveEvent(QMouseEvent *) override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
signals:
|
2016-06-15 18:43:10 +12:00
|
|
|
void focusIn();
|
2016-08-18 21:38:37 +12:00
|
|
|
void returnPressedNow();
|
2017-11-20 20:28:59 +13:00
|
|
|
// this signal is only used for mouse drag value editing in the function
|
|
|
|
// panel.
|
|
|
|
void mouseMoved(QMouseEvent *);
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
2016-06-15 18:43:10 +12:00
|
|
|
} // namespace DVGui
|
2016-03-19 06:57:51 +13:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
#endif // LINEEDIT_H
|