javauis/lcdui_qt/src/javax/microedition/lcdui/SpacerLayouter.java
changeset 61 bf7ee68962da
parent 23 98ccebc37403
child 67 63b81d807542
--- a/javauis/lcdui_qt/src/javax/microedition/lcdui/SpacerLayouter.java	Tue Jul 06 14:10:26 2010 +0300
+++ b/javauis/lcdui_qt/src/javax/microedition/lcdui/SpacerLayouter.java	Wed Aug 18 09:43:15 2010 +0300
@@ -29,11 +29,27 @@
     /**
      * Constructor.
      *
-     * @param dflp DefaultFormLayoutPolicy.
+     * @param aFormLayouter FormLayouter used for layouting.
      */
-    SpacerLayouter(DefaultFormLayoutPolicy dflp)
+    SpacerLayouter(FormLayouter aFormLayouter)
     {
-        super(dflp);
+        super(aFormLayouter);
+    }
+
+    /**
+     * Creates LayoutObject for the given Item.
+     *
+     * @param item Item to layout
+     * @return LayoutObject
+     */
+    LayoutObject getLayoutObject(Item item)
+    {
+    	LayoutObject lo = formLayouter.getLayoutObject(item);
+    	if(lo == null)
+    	{
+        	lo = new LayoutObject(item, eswtGetControl(formComposite, item));
+    	}
+		return lo;
     }
 
     /**
@@ -58,7 +74,7 @@
      */
     boolean eswtIsSpecificControl(Item item, Control control)
     {
-        return true;
+	    return (control instanceof Composite);
     }
 
     /**
@@ -68,9 +84,38 @@
      * @param control eSWT control.
      * @param reason reason to update.
      */
-    void eswtUpdateItem(Item item, Control control, int reason, Object param)
+    void eswtUpdateItem(Item item, Control control, int aReason, Object param)
     {
-        // no implementation needed.
+		/*if(control instanceof  Composite)
+		{
+			control.setSize(item.getMinimumWidth(), item.getMinimumHeight());
+		}*/
+
+   		if(!(control instanceof  Composite))
+		{
+			return;
+		}
+			
+    	Spacer spacer = (Spacer)item;
+		int reason = aReason & Item.UPDATE_SIZE_MASK;
+
+		switch(reason)
+		{
+		case Item.UPDATE_NONE:
+			break;
+
+		case Spacer.UPDATE_MINIMUMSIZE:
+		{
+			Control sCtrl = eswtFindSpecificControl(spacer, control);
+			sCtrl.setSize(item.getMinimumWidth(), item.getMinimumHeight());
+			break;
+		}
+
+		default:
+		{
+			break;
+		}
+		}
     }
 
 }