⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qspacertranslator.java

📁 A translator that converts Qt Designer UI files into SWT java classes. Use the power of Qt Designer
💻 JAVA
字号:
/* This file is part of ui2swt.
 *
 * $Revision: 1.5 $
 * $Date: 2007/01/14 10:35:37 $
 * $Name:  $
 *
 * Copyright (C) 2006-2007 James Forbes, All Rights Reserved.
 *
 * This software is provided 'as-is', without any express or implied warranty.
 * In no event will the authors be held liable for any damages arising from the
 * use of this software.
 *
 * Permission is granted to anyone to use this software for any purpose,
 * including commercial applications, and to alter it and redistribute it
 * freely, subject to the following restrictions:
 *
 *  1. The origin of this software must not be misrepresented; you must not
 *     claim that you wrote the original software. If you use this software in
 *     a product, an acknowledgment in the product documentation would be
 *     appreciated but is not required.
 *
 *  2. Altered source versions must be plainly marked as such, and must not be
 *     misrepresented as being the original software.
 *
 *  3. This notice may not be removed or altered from any source distribution.
 */

package ui2swt.swt;

import ui2swt.ClassDefinition;
import ui2swt.UIDefinition;
import ui2swt.Widget;


public class QSpacerTranslator extends AbstractWidgetTranslator
{
    private static final String UI_SPACER_SIZE_TYPE[] =
        { "sizeType.enum", "sizeType.enum" };

    private static final String UI_SPACER_SIZE_TYPE_FIXED[] =
        { "Qt::Fixed", "Fixed" };
    
    private static final String UI_SPACER_SIZE_TYPE_EXPANDING[] =
        { "Qt::Expanding", "Expanding" };
    
    private static final String UI_SPACER_SIZE_TYPE_MINIMUM_EXPANDING[] =
        { "Qt::MinimumExpanding", "MinimumExpanding" };

    
    //
    //
    //
        
    public QSpacerTranslator()
    {
        super();
    }


    protected void setProperties(
        UIDefinition    iUIDefinition,
        Widget          iWidget )
    {
        SWTWidgetHelper.setAttributeProperties(iUIDefinition, iWidget);
        SWTWidgetHelper.setExpandProperties(iUIDefinition, iWidget);
        SWTWidgetHelper.setMinimumSizeProperties(iUIDefinition, iWidget);

        this.setClassProperty(iUIDefinition, iWidget);
        this.setExpandProperties(iUIDefinition, iWidget);
    }


    protected void generateConstructCode(
        UIDefinition    iUIDefinition,
        Widget          iWidget,
        ClassDefinition iClassDefinition )
    {
        SWTWidgetHelper.generateConstructCode(
            iUIDefinition,
            iWidget,
            iClassDefinition);
    }


    protected void generateSetFieldsCode(
        UIDefinition    iUIDefinition,
        Widget          iWidget,
        ClassDefinition iClassDefinition )
    {}
    
    
    //
    //
    //

    private void setClassProperty(
        UIDefinition    iUIDefinition,
        Widget          iWidget )
    {
        iWidget.setProperty(SWTWidgetHelper.SWT_CLASS, "Label");
    }


    private void setExpandProperties(
        UIDefinition    iUIDefinition,
        Widget          iWidget )
    {
        int expand = this.getSpacerExpandProperty(iUIDefinition, iWidget);

        switch (SWTOrientationHelper.getOrientation(iUIDefinition, iWidget))
        {
            case SWTOrientationHelper.SWT_ORIENTATION_UNKNOWN:
                iWidget.setIntProperty(
                    SWTWidgetHelper.SWT_EXPAND_HORIZONTAL,
                    SWTWidgetHelper.SWT_EXPAND_PREFER_YES);
                
                iWidget.setIntProperty(
                    SWTWidgetHelper.SWT_EXPAND_VERTICAL,
                    SWTWidgetHelper.SWT_EXPAND_PREFER_YES);
                break;

            case SWTOrientationHelper.SWT_ORIENTATION_HORIZONTAL:
                iWidget.setIntProperty(
                    SWTWidgetHelper.SWT_EXPAND_HORIZONTAL,
                    expand);
                
                iWidget.setIntProperty(
                    SWTWidgetHelper.SWT_EXPAND_VERTICAL,
                    SWTWidgetHelper.SWT_EXPAND_PREFER_NO);
                break;

            case SWTOrientationHelper.SWT_ORIENTATION_VERTICAL:
                iWidget.setIntProperty(
                    SWTWidgetHelper.SWT_EXPAND_HORIZONTAL,
                    SWTWidgetHelper.SWT_EXPAND_PREFER_NO);
                
                iWidget.setIntProperty(
                    SWTWidgetHelper.SWT_EXPAND_VERTICAL,
                    expand);
                break;
        }
    }
    
    
    //
    //
    //
    
    private int getSpacerExpandProperty(
        UIDefinition    iUIDefinition,
        Widget          iWidget )
    {
        int expand  = SWTWidgetHelper.SWT_EXPAND_YES;
        
        for ( int i = 0; i < UI_SPACER_SIZE_TYPE.length; i++ )
        {
            if ( iWidget.containsProperty(UI_SPACER_SIZE_TYPE[i]) )
            {
                String sizeType = iWidget.getProperty(UI_SPACER_SIZE_TYPE[i]);

                if ( UI_SPACER_SIZE_TYPE_FIXED[i].equals(sizeType) )
                {
                    expand = SWTWidgetHelper.SWT_EXPAND_NO;
                }
                else if ( UI_SPACER_SIZE_TYPE_EXPANDING[i].equals(sizeType) )
                {
                    expand = SWTWidgetHelper.SWT_EXPAND_YES;
                }
                else if ( UI_SPACER_SIZE_TYPE_MINIMUM_EXPANDING[i].equals(sizeType) )
                {
                    expand = SWTWidgetHelper.SWT_EXPAND_YES;
                }
                
                break;
            }
        }

        return expand;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -