menubar.h

Go to the documentation of this file.
00001 
00010 #ifndef _MENUBAR_H_
00011 #define _MENUBAR_H_
00012 
00013 #include "../jnilib.h"
00014 #include "menu.h"
00015 
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019 
00021 #define CLS_MENUBAR "java/awt/MenuBar"
00022 
00023 struct MenuBar_;
00024 
00025 struct MenuBarCPP_;
00026 
00027 #ifdef __cplusplus
00028    typedef MenuBarCPP_ MenuBar; 
00029    #define createMenuBar createMenuBarCPP 
00030    #define deleteMenuBar deleteMenuBarCPP 
00031 #else
00032    typedef struct MenuBar_ MenuBar; 
00033    #define createMenuBar createMenuBarC 
00034    #define deleteMenuBar deleteMenuBarC 
00035 #endif
00036 
00040 typedef struct MenuBarData {
00041    jclass clsmenubar; 
00042    jobject menubar; 
00043    jmethodID maddMenu; 
00044    jmethodID mremoveMenu; 
00045    jmethodID mgetMenuCount; 
00046    jmethodID msetHelpMenu; 
00047 } MenuBarData;
00048 
00052 typedef struct MenuBar_ {
00053    MenuBarData menubar;
00054    jobject (*getObject)(MenuBar* menubar);
00055    void (*addMenu)(MenuBar* menubar, Menu* menu);
00056    void (*removeMenu)(MenuBar* menubar, Menu* menu);
00057    jint (*getMenuCount)(MenuBar* menubar);
00058    void (*setHelpMenu)(MenuBar* menubar, Menu* menu);
00059 } MenuBar_;
00060 
00064 typedef struct MenuBarCPP_ {
00065    MenuBarData menubar;
00066    struct MenuBar_ *functions;
00067 
00068 #ifdef __cplusplus
00069    jobject getObject() {
00070       return functions->getObject(this);
00071    }
00072 
00073    void addMenu(Menu* menu) {
00074       functions->addMenu(this, menu);
00075    }
00076 
00077    void removeMenu(Menu* menu) {
00078       functions->removeMenu(this, menu);
00079    }
00080 
00081    jint getMenuCount() {
00082       return functions->getMenuCount(this);
00083    }
00084 
00085    void setHelpMenu(Menu* menu) {
00086       functions->setHelpMenu(this, menu);
00087    }
00088 
00089 #endif
00090 } MenuBarCPP_;
00091 
00092 
00093 void createMenuBarC(MenuBar_* menubar);
00094 void createMenuBarCPP(MenuBarCPP_* menubar);
00095 void deleteMenuBarC(MenuBar_* menubar);
00096 void deleteMenuBarCPP(MenuBarCPP_* menubar);
00097 
00098 #ifdef __cplusplus
00099 } /* extern "C" */
00100 #endif
00101 
00102 #endif /* _MENUBAR_H_ */
00103 
00104 /* end of file menubar.h */

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