JQSeparatorBridge.h

00001 /*
00002  * @(#)JQSeparatorBridge.h  0.2.0 / 2007-11-09
00003  *
00004  * Copyright (c) 2007, ETF and contributors. All rights reserved.
00005  *
00006  * This software is licensed under the LGPL, version 2.1, license.
00007  * A copy of the license is included in the file LICENSE-LGPL.txt.
00008  */
00009 #ifndef JQSEPARATORBRIDGE_H
00010 #define JQSEPARATORBRIDGE_H
00011 
00012 #include "JavaQxQSwing.h"
00013 
00014 #include "JQActionComponentBridge.h"
00015 #include "QSeparatorAdapter.h"
00016 
00017 /*^**************************************************************************^*/
00018 /*- JQSeparatorBridge Class.                                                 -*/
00019 /*^**************************************************************************^*/
00020 
00024 class JAVAQX_EXPORT JQSeparatorData : public JQActionComponentData
00025 {
00026   friend class JQSeparatorBridge; // uses all members
00027 protected:
00028   JQSeparatorData();
00029 public:
00030   // TODO: implement getters
00031 protected:
00032   Qt::Orientation orientation;
00033 };
00034 
00041 class JQSeparatorBridge : public JQActionComponentBridge
00042 {
00043   Q_OBJECT
00044 protected:
00045   JQSeparatorBridge(JNIEnv *env, jobject obj);
00046 public slots: // native calls
00047   void setOrientation(JNIEnv *env, jint orientation);
00048   void setText(JNIEnv *env, jstring text);
00049 public: // native calls
00050   static void initialize(JNIEnv *env, jclass cls);
00051   static jlong newInstance(JNIEnv *env, jobject obj);
00052 public: // native callbacks
00053   void orientationChanged(jint orientation);
00054 public:
00055   virtual void setParentBridge(JQContainerBridge *parentBridge);
00056   virtual void setForeground(JNIEnv *env, jint argb);
00057   virtual void setNullForeground(JNIEnv *env);
00058 protected slots:
00059   void orientationChangedSlot(Qt::Orientation orientation);
00060 protected:
00061   inline JQSeparatorData *separatorActionData();
00062   inline QSeparatorAdapter *separator() const;
00063 protected:
00064   virtual QWidget *createQWidget();
00065   virtual QAction *createQAction();
00066   virtual QWidget *convertToQWidget(QAction *action);
00067   virtual QAction *convertToQAction(QWidget *widget);
00068   virtual JQActionComponentData *createActionData();
00069 private:
00070   static jmethodID sm_orientationChangedMID;
00071 };
00072 
00073 /*^**************************************************************************^*/
00074 /*- JQSeparatorBridge :: Protected Inline Member Functions.                 -*/
00075 /*^**************************************************************************^*/
00076 
00082 inline JQSeparatorData *JQSeparatorBridge::separatorActionData()
00083 {
00084   return static_cast<JQSeparatorData *>(actionData());
00085 }
00086 
00092 inline QSeparatorAdapter *JQSeparatorBridge::separator() const
00093 {
00094   return static_cast<QSeparatorAdapter *>(widget());
00095 }
00096 
00097 /*^**************************************************************************^*/
00098 /*- Macro Definition.                                                        -*/
00099 /*^**************************************************************************^*/
00100 
00101 #define jqSeparatorBridge (reinterpret_cast<JQSeparatorBridge *>(bridge))
00102 
00103 #endif //JQSEPARATORBRIDGE_H
00104 
00105 /*^*****************************************************************************
00106   File History:
00107 
00108  - 2007-11-09 17:31:07 JavaQx Native Generator
00109    Initial version
00110 
00111 *****************************************************************************^*/

Copyright © 2007 ETF and contributors. All Rights Reserved.