label.h

Go to the documentation of this file.
00001 
00012 #ifndef _LABEL_H_
00013 #define _LABEL_H_
00014 
00015 #include "../jnilib.h"
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 
00022 #define CLS_LABEL "java/awt/Label"
00023 
00024 struct Label_;
00025 
00026 struct LabelCPP_;
00027 
00028 #ifdef __cplusplus
00029    typedef LabelCPP_ Label; 
00030    #define createLabel createLabelCPP 
00031    #define deleteLabel deleteLabelCPP 
00032 #else
00033    typedef struct Label_ Label; 
00034    #define createLabel createLabelC 
00035    #define deleteLabel deleteLabelC 
00036 #endif
00037 
00041 typedef struct LabelData {
00042    jclass clslabel; 
00043    jobject label; 
00044    jmethodID msetText; 
00045    jmethodID mgetText; 
00046 } LabelData;
00047 
00051 typedef struct Label_ {
00052    LabelData label;
00053    jobject (*getObject)(Label* label);
00054    void (*setText)(Label* label, const char* text);
00055    char* (*getText)(Label* label);
00056    void (*setSize)(Label* label, jint width, jint height);
00057    jint (*getHeight)(Label* label);
00058    jint (*getWidth)(Label* label);
00059    void (*setLocation)(Label* label, jint x, jint y);
00060    jint (*getX)(Label* label);
00061    jint (*getY)(Label* label);
00062 } Label_;
00063 
00067 typedef struct LabelCPP_ {
00068    LabelData label;
00069    struct Label_ *functions;
00070 
00071 #ifdef __cplusplus
00072    jobject getObject() {
00073       return functions->getObject(this);
00074    }
00075 
00076    void setText(const char* text) {
00077       functions->setText(this, text);
00078    }
00079 
00080    char* getText() {
00081       return functions->getText(this);
00082    }
00083 
00084    void setSize(jint width, jint height) {
00085       functions->setSize(this, width, height);
00086    }
00087 
00088    jint getHeight() {
00089       return functions->getHeight(this);
00090    }
00091 
00092    jint getWidth() {
00093       return functions->getWidth(this);
00094    }
00095 
00096    void setLocation(jint x, jint y) {
00097       functions->setLocation(this, x, y);
00098    }
00099 
00100    jint getX() {
00101       return functions->getX(this);
00102    }
00103 
00104    jint getY() {
00105       return functions->getY(this);
00106    }
00107 
00108 #endif
00109 } LabelCPP_;
00110 
00111 
00112 void createLabelC(Label_* label);
00113 void createLabelCPP(LabelCPP_* label);
00114 void deleteLabelC(Label_* label);
00115 void deleteLabelCPP(LabelCPP_* label);
00116 
00117 #ifdef __cplusplus
00118 } /* extern "C" */
00119 #endif
00120 
00121 #endif /* _LABEL_H_ */
00122 
00123 /* end of file label.h */

Generated on Sat Nov 19 14:11:11 2005 for GrubC by  doxygen 1.4.4