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

📄 outputer.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.3 $
 * $Date: 2007/01/14 10:34:54 $
 * $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;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;


public class Outputer
{
    public Outputer()
    {}
    
    
    public void output( ClassDefinition iClassDefinition, String iFileName )
        throws FileNotFoundException
    {
        PrintStream stream = new PrintStream(new FileOutputStream(iFileName));

        this.outputHeader(iClassDefinition, stream);
        stream.println();
        this.outputPackageName(iClassDefinition, stream);
        stream.println();
        this.outputImports(iClassDefinition, stream);
        stream.println();
        this.outputClass(iClassDefinition, stream);
    }
    
    
    //
    //
    //
    
    private void outputHeader(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        String[] header = iClassDefinition.getHeader();
        
        for ( int i = 0; i < header.length; i++ )
        {
            iStream.println(header[i]);
        }
    }
    
    
    private void outputPackageName(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        if ( iClassDefinition.getPackageName() != null )
        {
            iStream.print("package ");
            iStream.print(iClassDefinition.getPackageName());
            iStream.println(';');
        }
    }
    
    
    private void outputImports(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        String[] imports = iClassDefinition.getImports();
        
        for ( int i = 0; i < imports.length; i++ )
        {
            iStream.print("import ");
            iStream.print(imports[i]);
            iStream.println(';');
        }
    }
    
    
    private void outputClass(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        this.outputClassHeader(iClassDefinition, iStream);
        iStream.println('{');
        this.outputClassConstants(iClassDefinition, iStream);
        this.outputClassAttributes(iClassDefinition, iStream);
        this.outputClassMethods(iClassDefinition, iStream);
        iStream.println('}');
    }
    
    
    private void outputClassHeader(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        iStream.print("public class ");
        iStream.print(iClassDefinition.getName());
        
        if ( iClassDefinition.getSuperName() != null )
        {
            iStream.print(" extends ");
            iStream.print(iClassDefinition.getSuperName());
        }
        
        iStream.println();
    }
    
    
    private void outputClassConstants(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        Object[] constants = iClassDefinition.getConstants();
        
        for ( int i = 0; i < constants.length; i++ )
        {
            iStream.print("    ");
            iStream.print(constants[i]);
            iStream.println(';');
        }
    }
    
    
    private void outputClassAttributes(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        Object[] attributes = iClassDefinition.getAttributes();
        
        for ( int i = 0; i < attributes.length; i++ )
        {
            iStream.print("    ");
            iStream.print(attributes[i]);
            iStream.println(';');
        }
    }
    
    
    private void outputClassMethods(
            ClassDefinition iClassDefinition,
            PrintStream     iStream )
    {
        MethodDefinition[] methods = iClassDefinition.getMethods();
        
        for ( int i = 0; i < methods.length; i++ )
        {
            MethodDefinition method = methods[i];
            
            iStream.println();
            iStream.print("    ");
            
            if ( method.getVisibility() != null )
            {
                iStream.print(method.getVisibility());
                iStream.print(" ");
            }
            
            if ( method.getReturnType() != null )
            {
                iStream.print(method.getReturnType());
                iStream.print(" ");
            }
            
            iStream.print(method.getName());
            iStream.print("(");
            
            if ( method.getParameters() != null )
            {
                iStream.print(" ");
                iStream.print(method.getParameters());
                iStream.print(" ");
            }
            
            iStream.println(")");
            iStream.println("    {");
            
            Object[] statements = method.getStatements();
            
            for ( int j = 0; j < statements.length; j++ )
            {
                iStream.print("        ");
                iStream.println(statements[j]);
            }
            
            iStream.println("    }");
        }
    }
}

⌨️ 快捷键说明

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