Class UserInterfaceCompiler

All Implemented Interfaces:
Cloneable, Compiler, Processor

public final class UserInterfaceCompiler extends CommandLineCompiler
Adapter for the Trolltech Qt UIC Compiler.
Author:
Curt Arnold
  • Method Details

    • getInstance

      public static UserInterfaceCompiler getInstance()
      Gets singleton instance of compiler.
      Returns:
      MetaObjectCompiler singleton instance
    • addImpliedArgs

      protected void addImpliedArgs(Vector args, boolean debug, boolean multithreaded, boolean exceptions, LinkType linkType, Boolean rtti, OptimizationEnum optimization)
      Add arguments for debug, etc.
      Specified by:
      addImpliedArgs in class CommandLineCompiler
      Parameters:
      args - Vector command argument list
      debug - boolean build for debug if true
      multithreaded - boolean build for multithreading if true
      exceptions - boolean enable exceptions if true
      linkType - LinkType output and runtime type
      rtti - Boolean enable run-time type identification if true
      optimization - OptimizationEnum optimization
    • addWarningSwitch

      protected void addWarningSwitch(Vector args, int level)
      Add arguments for specified warning level.
      Specified by:
      addWarningSwitch in class CommandLineCompiler
      Parameters:
      args - Vector command line arguments
      level - int warning level value
    • changeEnvironment

      public Processor changeEnvironment(boolean newEnvironment, org.apache.tools.ant.types.Environment env)
      Change enviroment (deprecated).
      Specified by:
      changeEnvironment in interface Processor
      Overrides:
      changeEnvironment in class AbstractProcessor
      Parameters:
      newEnvironment - boolean use new environment.
      env - Environment environment
      Returns:
      Processor modified processor
    • createParser

      protected Parser createParser(File source)
      The include parser for C will work just fine, but we didn't want to inherit from CommandLineCCompiler.
      Specified by:
      createParser in class AbstractCompiler
      Parameters:
      source - source file to be parsed
      Returns:
      parser
    • getArgumentCountPerInputFile

      protected int getArgumentCountPerInputFile()
      Gets number of command line arguments per input file.
      Overrides:
      getArgumentCountPerInputFile in class CommandLineCompiler
      Returns:
      int number of command line arguments per input file.
    • getOutputFileNames

      public String[] getOutputFileNames(String inputFile, VersionInfo versionInfo)
      Gets output file names.
      Specified by:
      getOutputFileNames in interface Processor
      Overrides:
      getOutputFileNames in class AbstractCompiler
      Parameters:
      inputFile - String input file name
      versionInfo - version info, not used by this compiler.
      Returns:
      String[] output file names
    • getInputFileArgument

      protected String getInputFileArgument(File outputDir, String filename, int index)
      Gets input file arguments.
      Overrides:
      getInputFileArgument in class CommandLineCompiler
      Parameters:
      outputDir - File output directory
      filename - String input file name.
      index - int argument index, 0 to getNumberOfArgumentsPerInputFile() -1
      Returns:
      String input file argument
    • getMaximumCommandLength

      public int getMaximumCommandLength()
      Gets maximum length of command line.
      Specified by:
      getMaximumCommandLength in class CommandLineCompiler
      Returns:
      int maximum length of command line
    • getMaximumInputFilesPerCommand

      protected int getMaximumInputFilesPerCommand()
      Gets maximum number of input files processed per command.
      Overrides:
      getMaximumInputFilesPerCommand in class CommandLineCompiler
      Returns:
      int maximum number of input files processed per command.
    • getIncludeDirSwitch

      protected String getIncludeDirSwitch(String includeDir)
      Gets include directory switch.
      Specified by:
      getIncludeDirSwitch in class CommandLineCompiler
      Parameters:
      includeDir - String include directory
      Returns:
      String command switch to add specified directory to search path
    • getDefineSwitch

      protected void getDefineSwitch(StringBuffer buffer, String define, String value)
      Gets switch to define preprocessor macro.
      Specified by:
      getDefineSwitch in class CommandLineCompiler
      Parameters:
      buffer - StringBuffer command line argument
      define - String macro name
      value - String macro value, may be null.
    • getUndefineSwitch

      protected void getUndefineSwitch(StringBuffer buffer, String define)
      Gets switch to undefine preprocessor macro.
      Specified by:
      getUndefineSwitch in class CommandLineCompiler
      Parameters:
      buffer - StringBuffer command line argument
      define - String macro name
    • getEnvironmentIncludePath

      protected File[] getEnvironmentIncludePath()
      Gets standard include paths.
      Specified by:
      getEnvironmentIncludePath in class CommandLineCompiler
      Returns:
      File[] standard include paths
    • getLinker

      public Linker getLinker(LinkType type)
      Gets linker associated with this type.
      Parameters:
      type - LinkType linker, returns ld.
      Returns:
      Linker
    • compile

      public void compile(CCTask task, File outputDir, String[] sourceFiles, String[] args, String[] endArgs, boolean relentless, CommandLineCompilerConfiguration config, ProgressMonitor monitor)
      Compiles an .ui file into the corresponding .h, .cpp and moc_*.cpp files.
      Overrides:
      compile in class CommandLineCompiler
      Parameters:
      task - current cc task
      outputDir - output directory
      sourceFiles - source files
      args - command line arguments that appear before input files
      endArgs - command line arguments that appear after input files
      relentless - if true, do not stop at first compilation error
      config - compiler configuration
      monitor - progress monitor
    • getTotalArgumentLengthForInputFile

      protected int getTotalArgumentLengthForInputFile(File outputDir, String inputFile)
      Get total command line length due to the input file.
      Overrides:
      getTotalArgumentLengthForInputFile in class CommandLineCompiler
      Parameters:
      outputDir - File output directory
      inputFile - String input file
      Returns:
      int characters added to command line for the input file.