Difference between revisions of "Custom Compiler GUI"

From Valve Developer Community
Jump to: navigation, search
Line 17: Line 17:
 
!style="border-style: solid; border-width: 1px" align="left"| .NET Framework 4.0
 
!style="border-style: solid; border-width: 1px" align="left"| .NET Framework 4.0
 
|-
 
|-
!style="border-style: solid; border-width: 1px" colspan="2"|[http://www.google.com Download]
+
!style="border-style: solid; border-width: 1px" colspan="2"|[http://onlynoob.webs.com/CustomCompilerGUI.zip Download]
 
|}
 
|}
  
Line 34: Line 34:
 
* '''Compile''' — Runs the selected compilers with the chosen settings, then performs the selected file options (if any).
 
* '''Compile''' — Runs the selected compilers with the chosen settings, then performs the selected file options (if any).
  
* '''Tools => Create/Edit Config''' — Allows a "modder" to edit or create a configuration file, defining the command(s), and their respective value type(s) and default(s), of the compiler(s). More info on how to do this is [[#Config_Editor|here]].
 
 
* '''Tools => Create Shortcut''' — Creates a custom shortcut to start the program with the chosen configuration file (basically, a shortcut to a different compiler set-up).
 
 
* '''Paths''' — Allows users to edit the paths to the compiler programs, and to folders used by the file options.
 
  
 +
'''Toolbar:'''
 
* '''Settings => Save Settings''' — Saves the current settings for this configuration.
 
* '''Settings => Save Settings''' — Saves the current settings for this configuration.
  
Line 45: Line 41:
  
 
* '''Settings => Reset Settings''' — Resets the settings to their default values.
 
* '''Settings => Reset Settings''' — Resets the settings to their default values.
 +
 +
* '''Paths''' — Allows users to edit the paths to the compiler programs, and to folders used by the file options.
 +
 +
* '''Tools => Create Shortcut''' — Creates a custom shortcut to start the program with the chosen configuration file (basically, a shortcut to a different compiler set-up).
 +
 +
* '''Tools => Create/Edit Config''' — Opens the [[#Config_Editor|Config Editor]], which allows a "modder" to edit or create a configuration file, defining the argument(s), and their respective variable type(s) and default(s), of the compiler(s).
  
 
{{note|'''To open settings''': Settings file must have been saved with the same configuration as the one that's currently loaded. (You can't import model compiler settings for a map compiler!)}}
 
{{note|'''To open settings''': Settings file must have been saved with the same configuration as the one that's currently loaded. (You can't import model compiler settings for a map compiler!)}}
  
 
=== Config Editor ===
 
=== Config Editor ===
 +
* '''Open''' — Open a configuration file to start modifying.
 +
 +
* '''Save''' — Save the current configuration.
 +
 +
{{note|'''Beware of closing the window''': The configuration will not automatically be saved, and you will loose any unsaved editing!}}
 +
  
There are 4 top-level items in the tree-view.
+
There are 4 top-level items in the tree-view (on the left):
 
==== Generic ====
 
==== Generic ====
 
Generic settings for the configuration, has 2 properties:
 
Generic settings for the configuration, has 2 properties:
Line 57: Line 65:
  
 
==== Compilers ====
 
==== Compilers ====
Collection of compiler definitions/settings. To add settings for a new compiler, select "Compilers" in the tree-view (on the left), and click "Add" (to remove, select the compiler and click "Remove"). The new compiler's properties should then be displayed, which are as follows:
+
Collection of compiler definitions/settings. To add settings for a new compiler, select "Compilers" in the tree-view, and click "Add" (to remove, select the compiler and click "Remove"). The new compiler's properties should then be displayed, which are as follows:
 
*CompilerName — File name of the compiler.
 
*CompilerName — File name of the compiler.
 
*Format — (Read-only) Example of the command line format given to the compiler.
 
*Format — (Read-only) Example of the command line format given to the compiler.
Line 67: Line 75:
 
*Category — (Optional) An arbitrary category (group) name this argument belongs to.
 
*Category — (Optional) An arbitrary category (group) name this argument belongs to.
 
*Description — A description for the argument that users see.
 
*Description — A description for the argument that users see.
*Editor — The editor users can use to modify the argument's value(s), it must be expanded (click on the "+") to be modified.
+
*Editor — The editor users can use to modify the argument's variable(s). After selecting an editor, it must be expanded (click on the ">" on the left) to be modified.
 
*Format — (Read-only) Example of the command line segment made by this argument.
 
*Format — (Read-only) Example of the command line segment made by this argument.
 
*Name — The displayed name of the argument (must be unique within the compiler).
 
*Name — The displayed name of the argument (must be unique within the compiler).
 
*Parameter — The command-line parameter (eg. -random).
 
*Parameter — The command-line parameter (eg. -random).
*ReadOnly — Whether users can modify the variable(s) of this argument.
+
*ReadOnly — Whether users are blocked from modifying the variable(s) of this argument.
 
*Variables — The collection of variables for this argument. To modify, click on the browse (...) button.
 
*Variables — The collection of variables for this argument. To modify, click on the browse (...) button.
  
Each argument has a collection of variables, '''whose names are only important if there is more than 1 in the argument'''. If the argument is a boolean (on/off) argument (ie. with no actual value), there must be 1 variable of the "Boolean" type (this is the default). Once selected in the list, the variable's properties are shown on the right-side of the window, which are as follows:
+
Each argument has a collection of variables, '''whose names are only important if there is more than 1 in the argument'''. If the argument is a boolean (on/off) argument (ie. with no actual value), there must be 1 variable of the "Boolean" type (this is the default). Once selected in the list on the collection window, the variable's properties are shown on the right-side of the window, which are as follows:
 
*Name — The displayed name of the variable (only important/visible to users when more than 1 variable).
 
*Name — The displayed name of the variable (only important/visible to users when more than 1 variable).
*Value — The type of variable. To modify the variable's value properties, this must be expanded (click on the "+").
+
*Value — The type of variable. After selecting a type, it must be expanded (click on the ">" on the left) to access type properties.
 
The types of variable are as follows:
 
The types of variable are as follows:
 
*String — String type, has a default value.
 
*String — String type, has a default value.
Line 83: Line 91:
 
*Choice — Choice type, has a collection of choices and the index of the default choice.
 
*Choice — Choice type, has a collection of choices and the index of the default choice.
 
*Byte, SByte, UShort, Short, UInt, Int, ULong, Long, Single, Double — Numeric types, have default value and maximum & minimum values.
 
*Byte, SByte, UShort, Short, UInt, Int, ULong, Long, Single, Double — Numeric types, have default value and maximum & minimum values.
(and it's respective default (and max/min for numeric types or choice list for the choice type).
 
  
* Folders — Collection of folder definitions/settings.
+
==== Folders ====
* File Options — Collection of defined file operations.
+
Collection of folder definitions/settings. To add settings for a new folder, select "Folders" in the tree-view, and click "Add" (to remove, select the folder and click "Remove"). The new folder's properties should then be displayed, which are as follows:
 +
*Description — A description for the folder that users see.
 +
*Name — The displayed name of the folder, also used by file options to reference it, must be unique (among compilers, too).
  
'''Generic''' has 2 properties:
+
==== File Options ====
 +
Collection of defined file operations. To add a new option for users, select "File Options" in the tree-view, and click "Add" (to remove, select the file option and click "Remove"). The new option's properties should then be displayed, which are as follows:
 +
*DefaultSelected — Whether the option will be enabled by default.
 +
*File — The ending of the file name for the file which will be operated on.
 +
*FileAction — Whether the file should be copied, moved or deleted.
 +
*ToFolder — The folder to copy/move the file to (should be null when FileAction is set to delete).
  
 
== Version History ==
 
== Version History ==

Revision as of 22:02, 6 October 2012

Custom Compiler GUI
Author UltimateSniper
Size 161 KiB
Date 6 Oct 2011
Current Version 0.9 (Pre-Release)
Prerequisites .NET Framework 4.0
Download

Custom Compiler GUI is a Graphical User Interface (GUI) for a/set of compiler(s). Essentially, it is allows users to change the settings for the compiler(s) they wish to run, but it is configurable for any (set of) compiler(s). It allows a "modder" to generate a configuration file, which contains information about the compiler(s). This is used by the program to display options to the user.

This tool is aimed mainly at mappers & modellers, who require compiler set-ups for more than one (set of) compiler(s) (eg. studiomdl for modelling, and the map compilers for mapping). Although, it can be used by anyone, for pretty much any program with a "standardoutput" (same message output as console command-line applications), and returns a non-zero exit code on erroring.

Features

Main Window

  • Compile Options — In the case of more than one compiler program, this tab has a list of the compilers at the top of the tab, with the properties/settings of the selected compiler on display underneath. Only the compilers that are ticked in the list will be used when "Compile" is clicked. In the case of one compiler, only the properties/options of that compiler are permanently on display.
  • File Options — This tab only appears in the case of the config containing options to copy/move/delete files after the compile process. It allows users to select which of those options they wish to be performed.
  • Compile — Runs the selected compilers with the chosen settings, then performs the selected file options (if any).


Toolbar:

  • Settings => Save Settings — Saves the current settings for this configuration.
  • Settings => Open Settings — Opens settings for this configuration.
  • Settings => Reset Settings — Resets the settings to their default values.
  • Paths — Allows users to edit the paths to the compiler programs, and to folders used by the file options.
  • Tools => Create Shortcut — Creates a custom shortcut to start the program with the chosen configuration file (basically, a shortcut to a different compiler set-up).
  • Tools => Create/Edit Config — Opens the Config Editor, which allows a "modder" to edit or create a configuration file, defining the argument(s), and their respective variable type(s) and default(s), of the compiler(s).
Note:To open settings: Settings file must have been saved with the same configuration as the one that's currently loaded. (You can't import model compiler settings for a map compiler!)

Config Editor

  • Open — Open a configuration file to start modifying.
  • Save — Save the current configuration.
Note:Beware of closing the window: The configuration will not automatically be saved, and you will loose any unsaved editing!


There are 4 top-level items in the tree-view (on the left):

Generic

Generic settings for the configuration, has 2 properties:

  • FileFilter — The filter for browsing the source file for the first compiler.
  • Name — The name of the configuration.

Compilers

Collection of compiler definitions/settings. To add settings for a new compiler, select "Compilers" in the tree-view, and click "Add" (to remove, select the compiler and click "Remove"). The new compiler's properties should then be displayed, which are as follows:

  • CompilerName — File name of the compiler.
  • Format — (Read-only) Example of the command line format given to the compiler.
  • InputType — (Optional) The ending of the file name of the input file for this compiler (leave blank for first compiler).
  • Messages — Whether the GUI console should be shown and the compiler window hidden, or compiler window shown, or the user can decide.
  • Name — The displayed name of the compiler (must be unique).

Each compiler has a collection of arguments. To add an argument, select the compiler in the tree-view and click "Add" (to remove, select the argument and click "Remove"). The new argument's properties should then be displayed, which are as follows:

  • Category — (Optional) An arbitrary category (group) name this argument belongs to.
  • Description — A description for the argument that users see.
  • Editor — The editor users can use to modify the argument's variable(s). After selecting an editor, it must be expanded (click on the ">" on the left) to be modified.
  • Format — (Read-only) Example of the command line segment made by this argument.
  • Name — The displayed name of the argument (must be unique within the compiler).
  • Parameter — The command-line parameter (eg. -random).
  • ReadOnly — Whether users are blocked from modifying the variable(s) of this argument.
  • Variables — The collection of variables for this argument. To modify, click on the browse (...) button.

Each argument has a collection of variables, whose names are only important if there is more than 1 in the argument. If the argument is a boolean (on/off) argument (ie. with no actual value), there must be 1 variable of the "Boolean" type (this is the default). Once selected in the list on the collection window, the variable's properties are shown on the right-side of the window, which are as follows:

  • Name — The displayed name of the variable (only important/visible to users when more than 1 variable).
  • Value — The type of variable. After selecting a type, it must be expanded (click on the ">" on the left) to access type properties.

The types of variable are as follows:

  • String — String type, has a default value.
  • Char — Char type, has a default value.
  • Boolean — Boolean type, has a default value.
  • Choice — Choice type, has a collection of choices and the index of the default choice.
  • Byte, SByte, UShort, Short, UInt, Int, ULong, Long, Single, Double — Numeric types, have default value and maximum & minimum values.

Folders

Collection of folder definitions/settings. To add settings for a new folder, select "Folders" in the tree-view, and click "Add" (to remove, select the folder and click "Remove"). The new folder's properties should then be displayed, which are as follows:

  • Description — A description for the folder that users see.
  • Name — The displayed name of the folder, also used by file options to reference it, must be unique (among compilers, too).

File Options

Collection of defined file operations. To add a new option for users, select "File Options" in the tree-view, and click "Add" (to remove, select the file option and click "Remove"). The new option's properties should then be displayed, which are as follows:

  • DefaultSelected — Whether the option will be enabled by default.
  • File — The ending of the file name for the file which will be operated on.
  • FileAction — Whether the file should be copied, moved or deleted.
  • ToFolder — The folder to copy/move the file to (should be null when FileAction is set to delete).

Version History

  • 0.9.0 — Pre-release (no icon) for public testing.

External links