menubar.c

Go to the documentation of this file.
00001 
00010 #include "menubar.h"
00011 #include "component.h"
00012 
00013 #ifdef __cplusplus
00014 extern "C" {
00015 #endif
00016 
00024 jobject getMenuBarObject(MenuBar* menubar) {
00025    return menubar->menubar.menubar;
00026 }
00027 
00036 void addMenuBarMenu(MenuBar* menubar, Menu* menu) {
00037    callObjectMethod(menubar->menubar.menubar, menubar->menubar.maddMenu, menu->menu.menu);
00038 }
00039 
00048 void removeMenuBarMenu(MenuBar* menubar, Menu* menu) {
00049    callVoidMethod(menubar->menubar.menubar, menubar->menubar.mremoveMenu, menu->menu.menu);
00050 }
00051 
00059 jint getMenuBarMenuCount(MenuBar* menubar) {
00060    return callIntMethod(menubar->menubar.menubar, menubar->menubar.mgetMenuCount);
00061 }
00062 
00069 void setMenuBarHelpMenu(MenuBar* menubar, Menu* menu) {
00070    jobject jmenu = NULL;
00071 
00072    if (menu != NULL) {
00073       jmenu = menu->menu.menu;
00074    }
00075 
00076    callVoidMethod(menubar->menubar.menubar, menubar->menubar.msetHelpMenu, jmenu);
00077 }
00078 
00079 
00085 void initMenuBar_(MenuBar_* menubar) {
00086    menubar->getObject = &getMenuBarObject;
00087    menubar->addMenu = &addMenuBarMenu;
00088    menubar->removeMenu = &removeMenuBarMenu;
00089    menubar->getMenuCount = &getMenuBarMenuCount;
00090    menubar->setHelpMenu = &setMenuBarHelpMenu;
00091 }
00092 
00099 void createMenuBar_(MenuBar* menubar) {
00100    menubar->menubar.clsmenubar = findClass(CLS_MENUBAR);
00101    menubar->menubar.maddMenu = findMethod(menubar->menubar.clsmenubar, "add", "(Ljava/awt/Menu;)Ljava/awt/Menu;");
00102    menubar->menubar.mremoveMenu = findMethod(menubar->menubar.clsmenubar, "remove", "(Ljava/awt/MenuComponent;)V");
00103    menubar->menubar.mgetMenuCount = findMethod(menubar->menubar.clsmenubar, "getMenuCount", "()I");
00104    menubar->menubar.msetHelpMenu = findMethod(menubar->menubar.clsmenubar, "setHelpMenu", "(Ljava/awt/Menu;)V");
00105 
00106    menubar->menubar.menubar = newObjectBySignature(menubar->menubar.clsmenubar, "()V");
00107 }
00108 
00115 void createMenuBarCPP(MenuBarCPP_* menubar) {
00116    menubar->functions = (MenuBar_*)malloc(sizeof(MenuBar_));
00117    initMenuBar_(menubar->functions);
00118    createMenuBar_((MenuBar*)menubar);
00119 }
00120 
00127 void createMenuBarC(MenuBar_* menubar) {
00128    initMenuBar_(menubar);
00129    createMenuBar_((MenuBar*)menubar);
00130 }
00131 
00137 void deleteMenuBar_(MenuBar* menubar) {
00138    deleteGlobalReference(menubar->menubar.menubar);
00139    deleteGlobalReference(menubar->menubar.clsmenubar);
00140 }
00141 
00147 void deleteMenuBarCPP(MenuBarCPP_* menubar) {
00148    deleteMenuBar_((MenuBar*)menubar);
00149    free(menubar->functions);
00150 }
00151 
00157 void deleteMenuBarC(MenuBar_* menubar) {
00158    deleteMenuBar_((MenuBar*)menubar);
00159 }
00160 
00161 #ifdef __cplusplus
00162 } /* extern "C" */
00163 #endif
00164 
00165 /* end of file menubar.c */

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