textarea.c

Go to the documentation of this file.
00001 
00011 #include "textarea.h"
00012 #include "component.h"
00013 
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017 
00025 jobject getTextAreaObject(TextArea* textarea) {
00026    return textarea->textarea.textarea;
00027 }
00028 
00037 void setTextAreaText(TextArea* textarea, const char* text) {
00038    jstring jtext = createJString(text);
00039    callVoidMethod(textarea->textarea.textarea, textarea->textarea.msetText, jtext);
00040    deleteGlobalReference(jtext);
00041 }
00042 
00052 char* getTextAreaText(TextArea* textarea) {
00053    char* text;
00054    jstring jtext;
00055    jtext = (jstring) callObjectMethod(textarea->textarea.textarea, textarea->textarea.mgetText);
00056    text = convertJString(jtext);
00057    deleteLocalReference(jtext);
00058    return text;
00059 }
00060 
00071 void setTextAreaSize(TextArea* textarea, jint width, jint height) {
00072    setSize(textarea->textarea.textarea, width, height);
00073 }
00074 
00085 jint getTextAreaWidth(TextArea* textarea) {
00086    return getWidth(textarea->textarea.textarea);
00087 }
00088 
00099 jint getTextAreaHeight(TextArea* textarea) {
00100    return getHeight(textarea->textarea.textarea);
00101 }
00102 
00113 void setTextAreaLocation(TextArea* textarea, jint x, jint y) {
00114    setLocation(textarea->textarea.textarea, x, y);
00115 }
00116 
00127 jint getTextAreaX(TextArea* textarea) {
00128    return getX(textarea->textarea.textarea);
00129 }
00130 
00141 jint getTextAreaY(TextArea* textarea) {
00142    return getY(textarea->textarea.textarea);
00143 }
00144 
00154 jint getTextAreaColumns(TextArea* textarea) {
00155    return callIntMethod(textarea->textarea.textarea, textarea->textarea.mgetColumns);
00156 }
00157 
00166 void setTextAreaColumns(TextArea* textarea, jint columns) {
00167    callVoidMethod(textarea->textarea.textarea, textarea->textarea.msetColumns, columns);
00168 }
00169 
00179 jint getTextAreaRows(TextArea* textarea) {
00180    return callIntMethod(textarea->textarea.textarea, textarea->textarea.mgetRows);
00181 }
00182 
00191 void setTextAreaRows(TextArea* textarea, jint rows) {
00192    callVoidMethod(textarea->textarea.textarea, textarea->textarea.msetRows, rows);
00193 }
00194 
00200 void initTextArea_(TextArea_* textarea) {
00201    textarea->getObject = &getTextAreaObject;
00202    textarea->setText = &setTextAreaText;
00203    textarea->getText = &getTextAreaText;
00204 
00205    textarea->setSize = &setTextAreaSize;
00206    textarea->getWidth = &getTextAreaWidth;
00207    textarea->getHeight = &getTextAreaHeight;
00208    textarea->setLocation = &setTextAreaLocation;
00209    textarea->getX = &getTextAreaX;
00210    textarea->getY = &getTextAreaY;
00211    textarea->getColumns = &getTextAreaColumns;
00212    textarea->setColumns = &setTextAreaColumns;
00213    textarea->setRows = &setTextAreaRows;
00214    textarea->getRows = &getTextAreaRows;
00215 }
00216 
00223 void createTextArea_(TextArea* textarea) {
00224    textarea->textarea.clstextarea = findClass(CLS_TEXTAREA);
00225    textarea->textarea.mgetText = findMethod(textarea->textarea.clstextarea, "getText", "()Ljava/lang/String;");
00226    textarea->textarea.msetText = findMethod(textarea->textarea.clstextarea, "setText", "(Ljava/lang/String;)V");
00227    textarea->textarea.msetColumns = findMethod(textarea->textarea.clstextarea, "setColumns", "(I)V");
00228    textarea->textarea.mgetColumns = findMethod(textarea->textarea.clstextarea, "getColumns", "()I");
00229    textarea->textarea.msetRows = findMethod(textarea->textarea.clstextarea, "setRows", "(I)V");
00230    textarea->textarea.mgetRows = findMethod(textarea->textarea.clstextarea, "getRows", "()I");
00231 
00232    textarea->textarea.textarea = newObjectBySignature(textarea->textarea.clstextarea, "()V");
00233 }
00234 
00241 void createTextAreaCPP(TextAreaCPP_* textarea) {
00242    textarea->functions = (TextArea_*)malloc(sizeof(TextArea_));
00243    initTextArea_(textarea->functions);
00244    createTextArea_((TextArea*)textarea);
00245 }
00246 
00253 void createTextAreaC(TextArea_* textarea) {
00254    initTextArea_(textarea);
00255    createTextArea_((TextArea*)textarea);
00256 }
00257 
00263 void deleteTextArea_(TextArea* textarea) {
00264    deleteGlobalReference(textarea->textarea.textarea);
00265    deleteGlobalReference(textarea->textarea.clstextarea);
00266 }
00267 
00273 void deleteTextAreaCPP(TextAreaCPP_* textarea) {
00274    deleteTextArea_((TextArea*)textarea);
00275    free(textarea->functions);
00276 }
00277 
00283 void deleteTextAreaC(TextArea_* textarea) {
00284    deleteTextArea_((TextArea*)textarea);
00285 }
00286 
00287 #ifdef __cplusplus
00288 } /* extern "C" */
00289 #endif
00290 
00291 /* end of file textarea.c */

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