javauis/mmapi_qt/baseline/javasrc/org/eclipse/swt/widgets/ESWTProxyControl.java
changeset 50 023eef975703
equal deleted inserted replaced
49:35baca0e7a2e 50:023eef975703
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 package org.eclipse.swt.widgets;
       
    19 
       
    20 import org.eclipse.swt.SWT;
       
    21 import org.eclipse.swt.events.ControlListener;
       
    22 import org.eclipse.swt.events.FocusListener;
       
    23 import org.eclipse.swt.events.KeyListener;
       
    24 import org.eclipse.swt.events.MouseListener;
       
    25 import org.eclipse.swt.events.MouseMoveListener;
       
    26 import org.eclipse.swt.events.PaintListener;
       
    27 import org.eclipse.swt.events.TraverseListener;
       
    28 import org.eclipse.swt.graphics.Color;
       
    29 import org.eclipse.swt.graphics.Font;
       
    30 import org.eclipse.swt.graphics.Point;
       
    31 import org.eclipse.swt.graphics.Rectangle;
       
    32 import org.eclipse.swt.widgets.Composite;
       
    33 import org.eclipse.swt.widgets.Control;
       
    34 import org.eclipse.swt.widgets.Display;
       
    35 import org.eclipse.swt.widgets.Menu;
       
    36 import org.eclipse.swt.widgets.Shell;
       
    37 import com.nokia.mj.impl.utils.Logger;
       
    38 
       
    39 import com.nokia.microedition.media.control.BaseDisplay;
       
    40 
       
    41 
       
    42 public class ESWTProxyControl extends Control
       
    43 {
       
    44     /**
       
    45      *  this will be actual Shell, for which this class is acting like proxy
       
    46      */
       
    47     Control iControl;
       
    48     BaseDisplay mmaDisplay;
       
    49     private int iNativeDisplayHandle;
       
    50 
       
    51     public ESWTProxyControl()
       
    52     {
       
    53         //super(Display.getDefault().getActiveShell(), SWT.BORDER);
       
    54     }
       
    55 
       
    56     public void setNativeDisplayHandle(int aNativeDisplayHandle)
       
    57     {
       
    58         this.iNativeDisplayHandle = aNativeDisplayHandle;
       
    59     }
       
    60     public void seteSWTDisplay(BaseDisplay aDisplay)
       
    61     {
       
    62         this.mmaDisplay = aDisplay;
       
    63     }
       
    64 
       
    65     /**
       
    66      * Actual Control will be created here
       
    67      */
       
    68     public boolean setParent(Composite parent)
       
    69     {
       
    70         Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"MMAPI: ESWTProxyControl.java: setParent()+");
       
    71         int sourceWidth=0;
       
    72         int sourceHeight=0;
       
    73         //TODO Throw exception if null
       
    74         if (parent == null)
       
    75             Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"MMAPI: ESWTProxyControl.java: setParent(): parent is null");
       
    76         iControl= new Shell((Shell)parent);
       
    77         int sourceSize[] = _getSourceSize(iNativeDisplayHandle);
       
    78         Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"MMAPI: ESWTProxyControl.java: setParent(): int[] length: " + sourceSize.length);
       
    79 
       
    80         sourceWidth = sourceSize[0];
       
    81         sourceHeight = sourceSize[1];
       
    82         Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"MMAPI: ESWTProxyControl.java: setParent(): sourceWidth= " + sourceWidth + " sourceHeight= " + sourceHeight);
       
    83 
       
    84         ((Shell)iControl).open();
       
    85         ((Shell)iControl).setSize(sourceWidth, sourceHeight);
       
    86 
       
    87         new Thread(new Runnable()
       
    88         {
       
    89             public void run()
       
    90             {
       
    91                 mmaDisplay.setWindowResources(null);
       
    92             }
       
    93         }).start();
       
    94 
       
    95         return true;
       
    96     }
       
    97 
       
    98     /**
       
    99      *
       
   100      */
       
   101     public void addControlListener(ControlListener aListener)
       
   102     {
       
   103         if (iControl!=null)
       
   104         {
       
   105             iControl.addControlListener(aListener);
       
   106         }
       
   107     }
       
   108     /**
       
   109      *
       
   110      */
       
   111     public void addFocusListener(FocusListener listener)
       
   112     {
       
   113         if (iControl!=null)iControl.addFocusListener(listener);
       
   114     }
       
   115     /**
       
   116      *
       
   117      */
       
   118     public void addKeyListener(KeyListener listener)
       
   119     {
       
   120         if (iControl!=null)iControl.addKeyListener(listener);
       
   121     }
       
   122     public void addMouseListener(MouseListener listener)
       
   123     {
       
   124         if (iControl!=null)iControl.addMouseListener(listener);
       
   125     }
       
   126     public void addMouseMoveListener(MouseMoveListener listener)
       
   127     {
       
   128         if (iControl!=null)iControl.addMouseMoveListener(listener);
       
   129     }
       
   130     /**
       
   131      *
       
   132      */
       
   133     public void addPaintListener(PaintListener aListener)
       
   134     {
       
   135         if (iControl!=null)iControl.addPaintListener(aListener);
       
   136 
       
   137     }
       
   138 
       
   139     public void addTraverseListener(TraverseListener listener)
       
   140     {
       
   141         if (iControl!=null)iControl.addTraverseListener(listener);
       
   142     }
       
   143     public Point computeSize(int wHint,
       
   144                              int hHint)
       
   145     {
       
   146         Point point=null;
       
   147         if (iControl!=null)point=iControl.computeSize(wHint, hHint);
       
   148         Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"ProxyControl::computeSize()"+point);
       
   149         return point;
       
   150     }
       
   151 
       
   152     public Point computeSize(int wHint,
       
   153                              int hHint,
       
   154                              boolean changed)
       
   155     {
       
   156         Point point=null;
       
   157         if (iControl!=null)point=iControl.computeSize(wHint, hHint,changed);
       
   158         Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"ProxyControl::computeSize()"+point+"Bolean changed "+changed);
       
   159         return point;
       
   160     }
       
   161 
       
   162     public Color getBackground()
       
   163     {
       
   164         Color color=null;
       
   165         if (iControl!=null)color=iControl.getBackground();
       
   166         Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"ProxyControl::getBackground()");
       
   167         return color;
       
   168     }
       
   169     public int getBorderWidth()
       
   170     {
       
   171         if (iControl!=null)return iControl.getBorderWidth();
       
   172         else return 0;
       
   173     }
       
   174     public Rectangle getBounds()
       
   175     {
       
   176         if (iControl!=null) return iControl.getBounds();
       
   177         else return null;
       
   178     }
       
   179     public boolean getEnabled()
       
   180     {
       
   181         if (iControl!=null) return iControl.getEnabled();
       
   182         else return false;
       
   183     }
       
   184     public Font getFont()
       
   185     {
       
   186         if (iControl!=null)return iControl.getFont();
       
   187         else return null;
       
   188     }
       
   189     public Color getForeground()
       
   190     {
       
   191         if (iControl!=null) return iControl.getForeground();
       
   192         else return null;
       
   193     }
       
   194 
       
   195     public java.lang.Object getLayoutData()
       
   196     {
       
   197         if (iControl!=null) return iControl.getLayoutData();
       
   198         else return null;
       
   199     }
       
   200 
       
   201     public Point getLocation()
       
   202     {
       
   203         if (iControl!=null) return iControl.getLocation();
       
   204         else return null;
       
   205     }
       
   206 
       
   207     public Menu getMenu()
       
   208     {
       
   209         if (iControl!=null) return iControl.getMenu();
       
   210         else return null;
       
   211     }
       
   212     public Composite getParent()
       
   213     {
       
   214         if (iControl!=null) return iControl.getParent();
       
   215         else return null;
       
   216     }
       
   217     public Shell getShell()
       
   218     {
       
   219         if (iControl!=null)
       
   220         {
       
   221             Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"MMAPI: ESWTProxyControl.java: getShell(): iControl is not null");
       
   222             return (Shell)iControl;//.getShell();
       
   223         }
       
   224         else
       
   225         {
       
   226             Logger.LOG(Logger.EJavaMMAPI,Logger.EInfo,"MMAPI: ESWTProxyControl.java: getShell(): iControl is null");
       
   227             return null;
       
   228         }
       
   229     }
       
   230     public Point getSize()
       
   231     {
       
   232         if (iControl!=null) return iControl.getSize();
       
   233         else return null;
       
   234     }
       
   235 
       
   236     public java.lang.String getToolTipText()
       
   237     {
       
   238         if (iControl!=null) return iControl.getToolTipText();
       
   239         else return null;
       
   240     }
       
   241     public boolean getVisible()
       
   242     {
       
   243         if (iControl!=null)  return iControl.getVisible();
       
   244         else return false;
       
   245     }
       
   246     public boolean isEnabled()
       
   247     {
       
   248         if (iControl!=null) return iControl.isEnabled();
       
   249         else return false;
       
   250     }
       
   251 
       
   252     public boolean isFocusControl()
       
   253     {
       
   254         if (iControl!=null) return iControl.isFocusControl();
       
   255         else return false;
       
   256     }
       
   257     public boolean isReparentable()
       
   258     {
       
   259         if (iControl!=null) return iControl.isReparentable();
       
   260         else return false;
       
   261     }
       
   262 
       
   263     public boolean isVisible()
       
   264     {
       
   265         if (iControl!=null)return iControl.isVisible();
       
   266         else return false;
       
   267     }
       
   268     public void moveAbove(Control control)
       
   269     {
       
   270         if (iControl!=null) iControl.moveAbove(control);
       
   271     }
       
   272     public void moveBelow(Control control)
       
   273     {
       
   274         if (iControl!=null) iControl.moveBelow(control);
       
   275     }
       
   276     public void pack()
       
   277     {
       
   278         if (iControl!=null) iControl.pack();
       
   279     }
       
   280     public void pack(boolean changed)
       
   281     {
       
   282         if (iControl!=null) iControl.pack(changed);
       
   283     }
       
   284     public void redraw()
       
   285     {
       
   286         if (iControl!=null) iControl.redraw();
       
   287     }
       
   288     public void redraw(int x,
       
   289                        int y,
       
   290                        int width,
       
   291                        int height,
       
   292                        boolean all)
       
   293     {
       
   294         if (iControl!=null) iControl.redraw(x,y,width,height, all);
       
   295     }
       
   296     public void removeControlListener(ControlListener listener)
       
   297     {
       
   298         if (iControl!=null) iControl.removeControlListener(listener);
       
   299     }
       
   300     public void removeFocusListener(FocusListener listener)
       
   301     {
       
   302         if (iControl!=null) iControl.removeFocusListener(listener);
       
   303     }
       
   304     public void removeMouseListener(MouseListener listener)
       
   305     {
       
   306         if (iControl!=null) iControl.removeMouseListener(listener);
       
   307     }
       
   308     public void removeMouseMoveListener(MouseMoveListener listener)
       
   309     {
       
   310         if (iControl!=null) iControl.removeMouseMoveListener(listener);
       
   311     }
       
   312     public void removePaintListener(PaintListener listener)
       
   313     {
       
   314         if (iControl!=null)iControl.removePaintListener(listener);
       
   315     }
       
   316     public void removeTraverseListener(TraverseListener listener)
       
   317     {
       
   318         if (iControl!=null)iControl.removeTraverseListener(listener);
       
   319     }
       
   320     public void setBounds(int x,
       
   321                           int y,
       
   322                           int width,
       
   323                           int height)
       
   324     {
       
   325         if (iControl!=null)iControl.setBounds(x, y, width, height);
       
   326     }
       
   327     public void setBounds(Rectangle rect)
       
   328     {
       
   329         if (iControl!=null)iControl.setBounds(rect);
       
   330     }
       
   331     public void setCapture(boolean capture)
       
   332     {
       
   333         if (iControl!=null)iControl.setCapture(capture);
       
   334     }
       
   335     public void setEnabled(boolean enabled)
       
   336     {
       
   337         if (iControl!=null)iControl.setEnabled(enabled);
       
   338     }
       
   339     public boolean setFocus()
       
   340     {
       
   341         if (iControl!=null) return iControl.setFocus();
       
   342         else return false;
       
   343     }
       
   344     public void setFont(Font font)
       
   345     {
       
   346         if (iControl!=null)iControl.setFont(font);
       
   347     }
       
   348     public void setForeground(Color color)
       
   349     {
       
   350         if (iControl!=null)iControl.setForeground(color);
       
   351     }
       
   352     public void setLayoutData(java.lang.Object layoutData)
       
   353     {
       
   354         if (iControl!=null)iControl.setLayoutData(layoutData);
       
   355     }
       
   356     public void setLocation(int x,
       
   357                             int y)
       
   358     {
       
   359         if (iControl!=null)iControl.setLocation(x, y);
       
   360     }
       
   361 
       
   362     public void setLocation(Point location)
       
   363     {
       
   364         if (iControl!=null)iControl.setLocation(location);
       
   365     }
       
   366     public void setMenu(Menu menu)
       
   367     {
       
   368         if (iControl!=null)iControl.setMenu(menu);
       
   369     }
       
   370     public void setRedraw(boolean redraw)
       
   371     {
       
   372         if (iControl!=null)iControl.setRedraw(redraw);
       
   373     }
       
   374     public void setSize(int width,
       
   375                         int height)
       
   376     {
       
   377         if (iControl!=null) iControl.setSize(width, height);
       
   378     }
       
   379 
       
   380     public void setSize(Point size)
       
   381     {
       
   382         if (iControl!=null) iControl.setSize(size);
       
   383     }
       
   384     public void setToolTipText(java.lang.String string)
       
   385     {
       
   386         if (iControl!=null)iControl.setToolTipText(string);
       
   387     }
       
   388     public void setVisible(boolean visible)
       
   389     {
       
   390         if (iControl!=null)iControl.setVisible(visible);
       
   391     }
       
   392     public Point toControl(int x,
       
   393                            int y)
       
   394     {
       
   395         if (iControl!=null)return iControl.toControl(x, y);
       
   396         else return null;
       
   397     }
       
   398     public Point toControl(Point point)
       
   399     {
       
   400         if (iControl!=null) return iControl.toControl(point);
       
   401         else return null;
       
   402     }
       
   403     public Point toDisplay(int x,
       
   404                            int y)
       
   405     {
       
   406         if (iControl!=null)return iControl.toDisplay(x,y);
       
   407         else return null;
       
   408     }
       
   409     public Point toDisplay(Point point)
       
   410     {
       
   411         if (iControl!=null)return iControl.toDisplay(point);
       
   412         else return null;
       
   413     }
       
   414     public boolean traverse(int traversal)
       
   415     {
       
   416         if (iControl!=null)return iControl.traverse(traversal);
       
   417         else return false;
       
   418     }
       
   419     public void update()
       
   420     {
       
   421         if (iControl!=null)iControl.update();
       
   422     }
       
   423 
       
   424     public void checkSubclass()
       
   425     {
       
   426         // do nothing,sub-classing allowed
       
   427     }
       
   428 
       
   429     protected void internal_createHandle()
       
   430     {
       
   431         // TODO Auto-generated method stub
       
   432 
       
   433     }
       
   434 
       
   435     private native int[] _getSourceSize(int aNativeDisplayHandle);
       
   436 }