label.c

Go to the documentation of this file.
00001 
00012 #include "label.h"
00013 #include "component.h"
00014 
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018 
00026 jobject getLabelObject(Label* label) {
00027    return label->label.label;
00028 }
00029 
00038 void setLabelText(Label* label, const char* text) {
00039    jstring jtext = createJString(text);
00040    callVoidMethod(label->label.label, label->label.msetText, jtext);
00041    deleteGlobalReference(jtext);
00042 }
00043 
00053 char* getLabelText(Label* label) {
00054    char* text;
00055    jstring jtext;
00056    jtext = (jstring) callObjectMethod(label->label.label, label->label.mgetText);
00057    text = convertJString(jtext);
00058    deleteLocalReference(jtext);
00059    return text;
00060 }
00061 
00072 void setLabelSize(Label* label, jint width, jint height) {
00073    setSize(label->label.label, width, height);
00074 }
00075 
00086 jint getLabelWidth(Label* label) {
00087    return getWidth(label->label.label);
00088 }
00089 
00100 jint getLabelHeight(Label* label) {
00101    return getHeight(label->label.label);
00102 }
00103 
00114 void setLabelLocation(Label* label, jint x, jint y) {
00115    setLocation(label->label.label, x, y);
00116 }
00117 
00128 jint getLabelX(Label* label) {
00129    return getX(label->label.label);
00130 }
00131 
00142 jint getLabelY(Label* label) {
00143    return getY(label->label.label);
00144 }
00145 
00151 void initLabel_(Label_* label) {
00152    label->getObject = &getLabelObject;
00153    label->setText = &setLabelText;
00154    label->getText = &getLabelText;
00155 
00156    label->setSize = &setLabelSize;
00157    label->getWidth = &getLabelWidth;
00158    label->getHeight = &getLabelHeight;
00159    label->setLocation = &setLabelLocation;
00160    label->getX = &getLabelX;
00161    label->getY = &getLabelY;
00162 }
00163 
00170 void createLabel_(Label* label) {
00171    label->label.clslabel = findClass(CLS_LABEL);
00172    label->label.mgetText = findMethod(label->label.clslabel, "getText", "()Ljava/lang/String;");
00173    label->label.msetText = findMethod(label->label.clslabel, "setText", "(Ljava/lang/String;)V");
00174 
00175    label->label.label = newObjectBySignature(label->label.clslabel, "()V");
00176 }
00177 
00184 void createLabelCPP(LabelCPP_* label) {
00185    label->functions = (Label_*)malloc(sizeof(Label_));
00186    initLabel_(label->functions);
00187    createLabel_((Label*)label);
00188 }
00189 
00196 void createLabelC(Label_* label) {
00197    initLabel_(label);
00198    createLabel_((Label*)label);
00199 }
00200 
00206 void deleteLabel_(Label* label) {
00207    deleteGlobalReference(label->label.label);
00208    deleteGlobalReference(label->label.clslabel);
00209 }
00210 
00216 void deleteLabelCPP(LabelCPP_* label) {
00217    deleteLabel_((Label*)label);
00218    free(label->functions);
00219 }
00220 
00226 void deleteLabelC(Label_* label) {
00227    deleteLabel_((Label*)label);
00228 }
00229 
00230 #ifdef __cplusplus
00231 } /* extern "C" */
00232 #endif
00233 
00234 /* end of file label.c */

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