textfield.c

Go to the documentation of this file.
00001 
00011 #include "textfield.h"
00012 #include "component.h"
00013 
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017 
00025 jobject getTextFieldObject(TextField* textfield) {
00026    return textfield->textfield.textfield;
00027 }
00028 
00037 void setTextFieldText(TextField* textfield, const char* text) {
00038    jstring jtext = createJString(text);
00039    callVoidMethod(textfield->textfield.textfield, textfield->textfield.msetText, jtext);
00040    deleteGlobalReference(jtext);
00041 }
00042 
00052 char* getTextFieldText(TextField* textfield) {
00053    char* text;
00054    jstring jtext;
00055    jtext = (jstring) callObjectMethod(textfield->textfield.textfield, textfield->textfield.mgetText);
00056    text = convertJString(jtext);
00057    deleteLocalReference(jtext);
00058    return text;
00059 }
00060 
00071 void setTextFieldSize(TextField* textfield, jint width, jint height) {
00072    setSize(textfield->textfield.textfield, width, height);
00073 }
00074 
00085 jint getTextFieldWidth(TextField* textfield) {
00086    return getWidth(textfield->textfield.textfield);
00087 }
00088 
00099 jint getTextFieldHeight(TextField* textfield) {
00100    return getHeight(textfield->textfield.textfield);
00101 }
00102 
00113 void setTextFieldLocation(TextField* textfield, jint x, jint y) {
00114    setLocation(textfield->textfield.textfield, x, y);
00115 }
00116 
00127 jint getTextFieldX(TextField* textfield) {
00128    return getX(textfield->textfield.textfield);
00129 }
00130 
00141 jint getTextFieldY(TextField* textfield) {
00142    return getY(textfield->textfield.textfield);
00143 }
00144 
00154 jint getTextFieldColumns(TextField* textfield) {
00155    return callIntMethod(textfield->textfield.textfield, textfield->textfield.mgetColumns);
00156 }
00157 
00166 void setTextFieldColumns(TextField* textfield, jint columns) {
00167    callVoidMethod(textfield->textfield.textfield, textfield->textfield.msetColumns, columns);
00168 }
00169 
00175 void initTextField_(TextField_* textfield) {
00176    textfield->getObject = &getTextFieldObject;
00177    textfield->setText = &setTextFieldText;
00178    textfield->getText = &getTextFieldText;
00179 
00180    textfield->setSize = &setTextFieldSize;
00181    textfield->getWidth = &getTextFieldWidth;
00182    textfield->getHeight = &getTextFieldHeight;
00183    textfield->setLocation = &setTextFieldLocation;
00184    textfield->getX = &getTextFieldX;
00185    textfield->getY = &getTextFieldY;
00186    textfield->getColumns = &getTextFieldColumns;
00187    textfield->setColumns = &setTextFieldColumns;
00188 }
00189 
00196 void createTextField_(TextField* textfield) {
00197    textfield->textfield.clstextfield = findClass(CLS_TEXTFIELD);
00198    textfield->textfield.mgetText = findMethod(textfield->textfield.clstextfield, "getText", "()Ljava/lang/String;");
00199    textfield->textfield.msetText = findMethod(textfield->textfield.clstextfield, "setText", "(Ljava/lang/String;)V");
00200    textfield->textfield.msetColumns = findMethod(textfield->textfield.clstextfield, "setColumns", "(I)V");
00201    textfield->textfield.mgetColumns = findMethod(textfield->textfield.clstextfield, "getColumns", "()I");
00202 
00203    textfield->textfield.textfield = newObjectBySignature(textfield->textfield.clstextfield, "()V");
00204 }
00205 
00212 void createTextFieldCPP(TextFieldCPP_* textfield) {
00213    textfield->functions = (TextField_*)malloc(sizeof(TextField_));
00214    initTextField_(textfield->functions);
00215    createTextField_((TextField*)textfield);
00216 }
00217 
00224 void createTextFieldC(TextField_* textfield) {
00225    initTextField_(textfield);
00226    createTextField_((TextField*)textfield);
00227 }
00228 
00234 void deleteTextField_(TextField* textfield) {
00235    deleteGlobalReference(textfield->textfield.textfield);
00236    deleteGlobalReference(textfield->textfield.clstextfield);
00237 }
00238 
00244 void deleteTextFieldCPP(TextFieldCPP_* textfield) {
00245    deleteTextField_((TextField*)textfield);
00246    free(textfield->functions);
00247 }
00248 
00254 void deleteTextFieldC(TextField_* textfield) {
00255    deleteTextField_((TextField*)textfield);
00256 }
00257 
00258 #ifdef __cplusplus
00259 } /* extern "C" */
00260 #endif
00261 
00262 /* end of file textfield.c */

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