menuitem.c

Go to the documentation of this file.
00001 
00011 #include "menuitem.h"
00012 #include "component.h"
00013 
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017 
00025 jobject getMenuItemObject(MenuItem* menuitem) {
00026    return menuitem->menuitem.menuitem;
00027 }
00028 
00037 void setMenuItemLabel(MenuItem* menuitem, const char* label) {
00038    jstring jlabel = createJString(label);
00039    callVoidMethod(menuitem->menuitem.menuitem, menuitem->menuitem.msetLabel, jlabel);
00040    deleteGlobalReference(jlabel);
00041 }
00042 
00052 char* getMenuItemLabel(MenuItem* menuitem) {
00053    char* label;
00054    jstring jlabel;
00055    jlabel = (jstring) callObjectMethod(menuitem->menuitem.menuitem, menuitem->menuitem.mgetLabel);
00056    label = convertJString(jlabel);
00057    deleteLocalReference(jlabel);
00058    return label;
00059 }
00060 
00069 void setMenuItemEnabled(MenuItem* menuitem, jboolean enable) {
00070    callVoidMethod(menuitem->menuitem.menuitem, menuitem->menuitem.msetEnabled, enable);
00071 }
00072 
00082 jboolean isMenuItemEnabled(MenuItem* menuitem) {
00083    return callBooleanMethod(menuitem->menuitem.menuitem, menuitem->menuitem.misEnabled);
00084 }
00085 
00097 ActionListener addMenuItemActionListener(MenuItem* menuitem, void (*func)(Component)) {
00098    return addActionListener(menuitem->menuitem.menuitem, func);
00099 }
00100 
00110 void removeMenuItemActionListener(MenuItem* menuitem, ActionListener al) {
00111    removeActionListener(menuitem->menuitem.menuitem, al);
00112 }
00113 
00119 void initMenuItem_(MenuItem_* menuitem) {
00120    menuitem->getObject = &getMenuItemObject;
00121    menuitem->getLabel = &getMenuItemLabel;
00122    menuitem->setLabel = &setMenuItemLabel;
00123    menuitem->setEnabled = &setMenuItemEnabled;
00124    menuitem->isEnabled = &isMenuItemEnabled;
00125    menuitem->addActionListener = &addMenuItemActionListener;
00126    menuitem->removeActionListener = &removeMenuItemActionListener;
00127 }
00128 
00135 void createMenuItem_(MenuItem* menuitem) {
00136    menuitem->menuitem.clsmenuitem = findClass(CLS_MENUITEM);
00137    menuitem->menuitem.mgetLabel = findMethod(menuitem->menuitem.clsmenuitem, "getLabel", "()Ljava/lang/String;");
00138    menuitem->menuitem.msetLabel = findMethod(menuitem->menuitem.clsmenuitem, "setLabel", "(Ljava/lang/String;)V");
00139    menuitem->menuitem.misEnabled = findMethod(menuitem->menuitem.clsmenuitem, "isEnabled", "()Z");
00140    menuitem->menuitem.msetEnabled = findMethod(menuitem->menuitem.clsmenuitem, "setEnabled", "(Z)V");
00141 
00142    menuitem->menuitem.menuitem = newObjectBySignature(menuitem->menuitem.clsmenuitem, "()V");
00143 }
00144 
00151 void createMenuItemCPP(MenuItemCPP_* menuitem) {
00152    menuitem->functions = (MenuItem_*)malloc(sizeof(MenuItem_));
00153    initMenuItem_(menuitem->functions);
00154    createMenuItem_((MenuItem*)menuitem);
00155 }
00156 
00163 void createMenuItemC(MenuItem_* menuitem) {
00164    initMenuItem_(menuitem);
00165    createMenuItem_((MenuItem*)menuitem);
00166 }
00167 
00173 void deleteMenuItem_(MenuItem* menuitem) {
00174    deleteGlobalReference(menuitem->menuitem.menuitem);
00175    deleteGlobalReference(menuitem->menuitem.clsmenuitem);
00176 }
00177 
00183 void deleteMenuItemCPP(MenuItemCPP_* menuitem) {
00184    deleteMenuItem_((MenuItem*)menuitem);
00185    free(menuitem->functions);
00186 }
00187 
00193 void deleteMenuItemC(MenuItem_* menuitem) {
00194    deleteMenuItem_((MenuItem*)menuitem);
00195 }
00196 
00197 #ifdef __cplusplus
00198 } /* extern "C" */
00199 #endif
00200 
00201 /* end of file menuitem.c */

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