00001
00011 #include "component.h"
00012 #include "container.h"
00013 #include "panel.h"
00014
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018
00026 jobject getPanelObject(Panel* panel) {
00027 return panel->panel.panel;
00028 }
00029
00040 void setPanelSize(Panel* panel, jint width, jint height) {
00041 setSize(panel->panel.panel, width, height);
00042 }
00043
00054 jint getPanelWidth(Panel* panel) {
00055 return getWidth(panel->panel.panel);
00056 }
00057
00068 jint getPanelHeight(Panel* panel) {
00069 return getHeight(panel->panel.panel);
00070 }
00071
00082 void setPanelLocation(Panel* panel, jint x, jint y) {
00083 setLocation(panel->panel.panel, x, y);
00084 }
00085
00096 jint getPanelX(Panel* panel) {
00097 return getX(panel->panel.panel);
00098 }
00099
00110 jint getPanelY(Panel* panel) {
00111 return getY(panel->panel.panel);
00112 }
00113
00122 void setPanelForegroundColor(Panel* panel, const Color c) {
00123 setForeground(panel->panel.panel, c);
00124 }
00125
00135 Color getPanelForegroundColor(Panel* panel) {
00136 return getForeground(panel->panel.panel);
00137 }
00138
00147 void setPanelBackgroundColor(Panel* panel, const Color c) {
00148 setBackground(panel->panel.panel, c);
00149 }
00150
00160 Color getPanelBackgroundColor(Panel* panel) {
00161 return getBackground(panel->panel.panel);
00162 }
00163
00175 MouseListener addPanelMouseListener(Panel* panel, void (*func)(jint, Component, jint, jint, jint, jint)) {
00176 return addMouseListener(panel->panel.panel, func);
00177 }
00178
00188 void removePanelMouseListener(Panel* panel, MouseListener ml) {
00189 removeMouseListener(panel->panel.panel, ml);
00190 }
00191
00203 jobject addPanelComponentListener(Panel* panel, void (*func)(jint, jobject)) {
00204 return addComponentListener(panel->panel.panel, func);
00205 }
00206
00216 void removePanelComponentListener(Panel* panel, jobject cl) {
00217 removeComponentListener(panel->panel.panel, cl);
00218 }
00219
00226 void setPanelLayout(Panel* panel, jobject layoutmanager) {
00227 setLayout(panel->panel.panel, layoutmanager);
00228 }
00229
00238 void addPanelComponent(Panel* panel, jobject comp) {
00239 addComponent(panel->panel.panel, comp);
00240 }
00241
00251 void addPanelComponentWithConstraint(Panel* panel, jobject comp, jobject constraint) {
00252 addComponentWithConstraint(panel->panel.panel, comp, constraint);
00253 }
00254
00260 void initPanel_(Panel_* panel) {
00261 panel->getObject = &getPanelObject;
00262 panel->setSize = &setPanelSize;
00263 panel->getWidth = &getPanelWidth;
00264 panel->getHeight = &getPanelHeight;
00265 panel->setLocation = &setPanelLocation;
00266 panel->getX = &getPanelX;
00267 panel->getY = &getPanelY;
00268 panel->setForegroundColor = &setPanelForegroundColor;
00269 panel->getForegroundColor = &getPanelForegroundColor;
00270 panel->setBackgroundColor = &setPanelBackgroundColor;
00271 panel->getBackgroundColor = &getPanelBackgroundColor;
00272
00273 panel->addMouseListener = &addPanelMouseListener;
00274 panel->removeMouseListener = &removePanelMouseListener;
00275 panel->addComponentListener = &addPanelComponentListener;
00276 panel->removeComponentListener = &removePanelComponentListener;
00277
00278 panel->setLayout = &setPanelLayout;
00279 panel->addComponent = &addPanelComponent;
00280 panel->addComponentWithConstraint = &addPanelComponentWithConstraint;
00281 }
00282
00289 void createPanel_(Panel* panel) {
00290 panel->panel.clspanel = findClass(CLS_PANEL);
00291
00292 panel->panel.panel = newObjectBySignature(panel->panel.clspanel, "()V");
00293 }
00294
00301 void createPanelCPP(PanelCPP_* panel) {
00302 panel->functions = (Panel_*)malloc(sizeof(Panel_));
00303 initPanel_(panel->functions);
00304 createPanel_((Panel*)panel);
00305 }
00306
00313 void createPanelC(Panel_* panel) {
00314 initPanel_(panel);
00315 createPanel_((Panel*)panel);
00316 }
00317
00323 void deletePanel_(Panel* panel) {
00324 deleteGlobalReference(panel->panel.panel);
00325 deleteGlobalReference(panel->panel.clspanel);
00326 }
00327
00333 void deletePanelCPP(PanelCPP_* panel) {
00334 deletePanel_((Panel*)panel);
00335 free(panel->functions);
00336 }
00337
00343 void deletePanelC(Panel_* panel) {
00344 deletePanel_((Panel*)panel);
00345 }
00346
00347 #ifdef __cplusplus
00348 }
00349 #endif
00350
00351