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 *****************************************************************************^*/