00001
00012 #include "checkbox.h"
00013 #include "component.h"
00014
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018
00026 jobject getCheckBoxObject(CheckBox* checkbox) {
00027 return checkbox->checkbox.checkbox;
00028 }
00029
00040 void setCheckBoxSize(CheckBox* checkbox, jint width, jint height) {
00041 setSize(checkbox->checkbox.checkbox, width, height);
00042 }
00043
00054 jint getCheckBoxWidth(CheckBox* checkbox) {
00055 return getWidth(checkbox->checkbox.checkbox);
00056 }
00057
00068 jint getCheckBoxHeight(CheckBox* checkbox) {
00069 return getHeight(checkbox->checkbox.checkbox);
00070 }
00071
00082 void setCheckBoxLocation(CheckBox* checkbox, jint x, jint y) {
00083 setLocation(checkbox->checkbox.checkbox, x, y);
00084 }
00085
00096 jint getCheckBoxX(CheckBox* checkbox) {
00097 return getX(checkbox->checkbox.checkbox);
00098 }
00099
00110 jint getCheckBoxY(CheckBox* checkbox) {
00111 return getY(checkbox->checkbox.checkbox);
00112 }
00113
00122 void setCheckBoxLabel(CheckBox* checkbox, const char* label) {
00123 jstring jlabel = createJString(label);
00124 callVoidMethod(checkbox->checkbox.checkbox, checkbox->checkbox.msetLabel, jlabel);
00125 deleteGlobalReference(jlabel);
00126 }
00127
00137 char* getCheckBoxLabel(CheckBox* checkbox) {
00138 char* label;
00139 jstring jlabel;
00140 jlabel = (jstring) callObjectMethod(checkbox->checkbox.checkbox, checkbox->checkbox.mgetLabel);
00141 label = convertJString(jlabel);
00142 deleteLocalReference(jlabel);
00143 return label;
00144 }
00145
00154 void setCheckBoxState(CheckBox* checkbox, jboolean state) {
00155 callVoidMethod(checkbox->checkbox.checkbox, checkbox->checkbox.msetState, state);
00156 }
00157
00167 jboolean getCheckBoxState(CheckBox* checkbox) {
00168 return callBooleanMethod(checkbox->checkbox.checkbox, checkbox->checkbox.mgetState);
00169 }
00170
00177 void setCheckBoxCheckBoxGroup(CheckBox* checkbox, const CheckBoxGroup* checkboxgroup) {
00178 callVoidMethod(checkbox->checkbox.checkbox, checkbox->checkbox.msetCheckBoxGroup, checkboxgroup->checkboxgroup.checkboxgroup);
00179 }
00180
00192 ItemListener addCheckBoxItemListener(CheckBox* checkbox, void (*func)(Component, jboolean, const char*)) {
00193 return addItemListener(checkbox->checkbox.checkbox, func);
00194 }
00195
00205 void removeCheckBoxItemListener(CheckBox* checkbox, ItemListener il) {
00206 removeItemListener(checkbox->checkbox.checkbox, il);
00207 }
00208
00214 void initCheckBox_(CheckBox_* checkbox) {
00215 checkbox->getObject = &getCheckBoxObject;
00216 checkbox->setSize = &setCheckBoxSize;
00217 checkbox->getWidth = &getCheckBoxWidth;
00218 checkbox->getHeight = &getCheckBoxHeight;
00219 checkbox->setLocation = &setCheckBoxLocation;
00220 checkbox->getX = &getCheckBoxX;
00221 checkbox->getY = &getCheckBoxY;
00222 checkbox->getLabel = &getCheckBoxLabel;
00223 checkbox->setLabel = &setCheckBoxLabel;
00224 checkbox->getState = &getCheckBoxState;
00225 checkbox->setState = &setCheckBoxState;
00226 checkbox->setCheckBoxGroup = &setCheckBoxCheckBoxGroup;
00227 checkbox->addItemListener = &addCheckBoxItemListener;
00228 checkbox->removeItemListener = &removeCheckBoxItemListener;
00229 }
00230
00237 void createCheckBox_(CheckBox* checkbox) {
00238 checkbox->checkbox.clscheckbox = findClass(CLS_CHECKBOX);
00239 checkbox->checkbox.msetLabel = findMethod(checkbox->checkbox.clscheckbox, "setLabel", "(Ljava/lang/String;)V");
00240 checkbox->checkbox.mgetLabel = findMethod(checkbox->checkbox.clscheckbox, "getLabel", "()Ljava/lang/String;");
00241 checkbox->checkbox.msetState = findMethod(checkbox->checkbox.clscheckbox, "setState", "(Z)V");
00242 checkbox->checkbox.mgetState = findMethod(checkbox->checkbox.clscheckbox, "getState", "()Z");
00243 checkbox->checkbox.msetCheckBoxGroup = findMethod(checkbox->checkbox.clscheckbox, "setCheckboxGroup", "(Ljava/awt/CheckboxGroup;)V");
00244
00245 checkbox->checkbox.checkbox = newObjectBySignature(checkbox->checkbox.clscheckbox, "()V");
00246 }
00247
00254 void createCheckBoxCPP(CheckBoxCPP_* checkbox) {
00255 checkbox->functions = (CheckBox_*)malloc(sizeof(CheckBox_));
00256 initCheckBox_(checkbox->functions);
00257 createCheckBox_((CheckBox*)checkbox);
00258 }
00259
00266 void createCheckBoxC(CheckBox_* checkbox) {
00267 initCheckBox_(checkbox);
00268 createCheckBox_((CheckBox*)checkbox);
00269 }
00270
00276 void deleteCheckBox_(CheckBox* checkbox) {
00277 deleteGlobalReference(checkbox->checkbox.checkbox);
00278 deleteGlobalReference(checkbox->checkbox.clscheckbox);
00279 }
00280
00286 void deleteCheckBoxCPP(CheckBoxCPP_* checkbox) {
00287 deleteCheckBox_((CheckBox*)checkbox);
00288 free(checkbox->functions);
00289 }
00290
00296 void deleteCheckBoxC(CheckBox_* checkbox) {
00297 deleteCheckBox_((CheckBox*)checkbox);
00298 }
00299
00300 #ifdef __cplusplus
00301 }
00302 #endif
00303
00304