diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2014-12-19 19:36:46 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2014-12-19 19:36:46 +0100 |
commit | 5c6ba7e2e76005b10b95022d531efed99c7f06b3 (patch) | |
tree | 0e51f55601764d961f903eecd7be6f934f53e134 /src/qmlandroid/view/qqmlandroidmenuitem_p.h | |
parent | 801b93ddd5f55d40643e08204bb522bcebe5d7e4 (diff) |
Proper Qt module - part V
Diffstat (limited to 'src/qmlandroid/view/qqmlandroidmenuitem_p.h')
-rw-r--r-- | src/qmlandroid/view/qqmlandroidmenuitem_p.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/qmlandroid/view/qqmlandroidmenuitem_p.h b/src/qmlandroid/view/qqmlandroidmenuitem_p.h new file mode 100644 index 0000000..42f658c --- /dev/null +++ b/src/qmlandroid/view/qqmlandroidmenuitem_p.h @@ -0,0 +1,90 @@ +#ifndef QQMLANDROIDMENUITEM_P_H +#define QQMLANDROIDMENUITEM_P_H + +#include "qqmlandroidcontextual_p.h" + +QT_BEGIN_NAMESPACE + +class QQmlAndroidView; + +class QQmlAndroidMenuItem : public QQmlAndroidContextual +{ + Q_OBJECT + Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) + Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged) + Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged) + Q_PROPERTY(bool checkable READ isCheckable WRITE setCheckable NOTIFY checkableChanged) + Q_PROPERTY(bool checked READ isChecked WRITE setChecked NOTIFY checkedChanged) + Q_PROPERTY(int showAs READ showAs WRITE setShowAs NOTIFY showAsChanged) + Q_PROPERTY(QQmlAndroidView *actionView READ actionView WRITE setActionView NOTIFY actionViewChanged) + Q_ENUMS(ShowAs) + +public: + explicit QQmlAndroidMenuItem(QObject *parent = 0); + + QString title() const; + void setTitle(const QString &title); + + bool isEnabled() const; + void setEnabled(bool enabled); + + bool isVisible() const; + void setVisible(bool visible); + + bool isCheckable() const; + void setCheckable(bool checkable); + + bool isChecked() const; + void setChecked(bool checked); + + enum ShowAs { + SHOW_AS_ACTION_NEVER = 0, + SHOW_AS_ACTION_IF_ROOM = 1, + SHOW_AS_ACTION_ALWAYS = 2, + SHOW_AS_ACTION_WITH_TEXT = 4, + SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8 + }; + + int showAs() const; + void setShowAs(int showAs); + + QQmlAndroidView *actionView() const; + void setActionView(QQmlAndroidView *view); + +Q_SIGNALS: + void click(); + void titleChanged(); + void enabledChanged(); + void visibleChanged(); + void checkableChanged(); + void checkedChanged(); + void showAsChanged(); + void actionViewChanged(); + +protected: + QAndroidJniObject onCreate() Q_DECL_OVERRIDE; + void onInflate(QAndroidJniObject &instance) Q_DECL_OVERRIDE; + + static void onRegisterNativeMethods(jobject item); + static bool onClick(JNIEnv *env, jobject object, jlong instance); + static bool onMenuItemActionCollapse(JNIEnv *env, jobject object, jlong instance); + static bool onMenuItemActionExpand(JNIEnv *env, jobject object, jlong instance); + + void objectChange(ObjectChange change) Q_DECL_OVERRIDE; + +private Q_SLOTS: + void updateActionView(); + +private: + QString m_title; + bool m_enabled; + bool m_visible; + bool m_checkable; + bool m_checked; + int m_showAs; + QQmlAndroidView *m_actionView; +}; + +QT_END_NAMESPACE + +#endif // QQMLANDROIDMENUITEM_P_H |