javauis/lcdui_qt/src/javax/microedition/lcdui/SpacerLayouter.java
author hgs
Fri, 29 Oct 2010 11:49:32 +0300
changeset 87 1627c337e51e
parent 67 63b81d807542
permissions -rw-r--r--
v2.2.21_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
23
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    14
* Description:
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
package javax.microedition.lcdui;
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
import org.eclipse.swt.SWT;
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
import org.eclipse.swt.widgets.Composite;
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
import org.eclipse.swt.widgets.Control;
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
/**
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
 * Class responsible for correct layout of Spacer item.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
 */
23
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    26
class SpacerLayouter extends ItemLayouter
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    27
{
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
    /**
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
     * Constructor.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
     *
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    32
     * @param aFormLayouter FormLayouter used for layouting.
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
     */
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    34
    SpacerLayouter(FormLayouter aFormLayouter)
23
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    35
    {
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    36
        super(aFormLayouter);
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    37
    }
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    38
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    39
    /**
67
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    40
     * Creates eSWT Control for the given Item.
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    41
     *
67
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    42
     * @param item Item to create the Control
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    43
     * @param parent parent to create the Control
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    44
     * @return eSWT Control
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    45
     */
67
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    46
	Control createItemControl(Composite parent, Item item)
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    47
	{
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    48
		return eswtGetControl(parent, item);
63b81d807542 v2.2.13_1
hgs
parents: 57
diff changeset
    49
	}
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
    /**
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
     * eSWT specific calls to implement getControl.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
     *
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
     * @param parent for the control.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
     * @param item Spacer item.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
     */
23
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    57
    Control eswtGetControl(Composite parent, Item item)
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    58
    {
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
        Composite composite = new Composite(parent, SWT.NONE);
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
        composite.setSize(item.getMinimumWidth(), item.getMinimumHeight());
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
        return composite;
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
    }
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
    /**
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
     * Returns true if this eSWT control is suitable to be used for updating.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
     *
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
     * @param item Item.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
     * @param control eSWT control.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
     * @return true if this control is suitable for update
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
     */
23
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    71
    boolean eswtIsSpecificControl(Item item, Control control)
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    72
    {
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    73
	    return (control instanceof Composite);
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
    }
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
    /**
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
     * Updates the values of Spacer. (Not used because of Spacer specific use)
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
     *
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
     * @param item Item.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
     * @param control eSWT control.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
     * @param reason reason to update.
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
     */
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    83
    void eswtUpdateItem(Item item, Control control, int aReason, Object param)
23
98ccebc37403 Revision: v2.1.24
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 21
diff changeset
    84
    {
57
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    85
		/*if(control instanceof  Composite)
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    86
		{
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    87
			control.setSize(item.getMinimumWidth(), item.getMinimumHeight());
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    88
		}*/
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    89
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    90
   		if(!(control instanceof  Composite))
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    91
		{
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    92
			return;
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    93
		}
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    94
			
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    95
    	Spacer spacer = (Spacer)item;
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    96
		int reason = aReason & Item.UPDATE_SIZE_MASK;
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    97
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    98
		switch(reason)
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
    99
		{
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   100
		case Item.UPDATE_NONE:
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   101
			break;
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   102
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   103
		case Spacer.UPDATE_MINIMUMSIZE:
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   104
		{
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   105
			Control sCtrl = eswtFindSpecificControl(spacer, control);
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   106
			sCtrl.setSize(item.getMinimumWidth(), item.getMinimumHeight());
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   107
			break;
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   108
		}
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   109
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   110
		default:
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   111
		{
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   112
			break;
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   113
		}
59b3b4473dc8 v2.2.9_1
hgs
parents: 23
diff changeset
   114
		}
21
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
    }
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
2a9601315dfc Revision: v2.1.22
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
}