void ProjectExporter::BuildConfiguration::createPropertyEditors (PropertyListBuilder& props) { props.add (new TextPropertyComponent (getNameValue(), "Name", 96, false), "The name of this configuration."); props.add (new BooleanPropertyComponent (isDebugValue(), "Debug mode", "Debugging enabled"), "If enabled, this means that the configuration should be built with debug synbols."); static const char* optimisationLevels[] = { "No optimisation", "Minimise size", "Maximise speed", 0 }; const int optimisationLevelValues[] = { optimisationOff, optimiseMinSize, optimiseMaxSpeed, 0 }; props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", StringArray (optimisationLevels), Array<var> (optimisationLevelValues)), "The optimisation level for this configuration"); props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false), "The filename to use for the destination binary executable file. If you don't add a suffix to this name, " "a suitable platform-specific suffix will be added automatically."); props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false), "The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed " "in its default location in the build folder."); props.addSearchPathProperty (getHeaderSearchPathValue(), "Header search paths", "Extra header search paths."); props.addSearchPathProperty (getLibrarySearchPathValue(), "Extra library search paths", "Extra library search paths."); props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, true), "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); createConfigProperties (props); props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); }
void Project::BuildConfiguration::createPropertyEditors (Array <PropertyComponent*>& props) { props.add (new TextPropertyComponent (getName(), "Name", 96, false)); props.getLast()->setTooltip ("The name of this configuration."); props.add (new BooleanPropertyComponent (isDebug(), "Debug mode", "Debugging enabled")); props.getLast()->setTooltip ("If enabled, this means that the configuration should be built with debug synbols."); const char* optimisationLevels[] = { "No optimisation", "Optimise for size and speed", "Optimise for maximum speed", 0 }; const int optimisationLevelValues[] = { 1, 2, 3, 0 }; props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", StringArray (optimisationLevels), Array<var> (optimisationLevelValues))); props.getLast()->setTooltip ("The optimisation level for this configuration"); props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false)); props.getLast()->setTooltip ("The filename to use for the destination binary executable file. Don't add a suffix to this, because platform-specific suffixes will be added for each target platform."); props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false)); props.getLast()->setTooltip ("The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed in its default location in the build folder."); props.add (new TextPropertyComponent (getHeaderSearchPath(), "Header search path", 16384, false)); props.getLast()->setTooltip ("Extra header search paths. Use semi-colons to separate multiple paths."); props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, false)); props.getLast()->setTooltip ("Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace or commas to separate the items - to include a space or comma in a definition, precede it with a backslash."); if (getMacSDKVersion().toString().isEmpty()) getMacSDKVersion() = osxVersionDefault; const char* osxVersions[] = { "Use Default", osxVersion10_4, osxVersion10_5, osxVersion10_6, 0 }; const char* osxVersionValues[] = { osxVersionDefault, osxVersion10_4, osxVersion10_5, osxVersion10_6, 0 }; props.add (new ChoicePropertyComponent (getMacSDKVersion(), "OSX Base SDK Version", StringArray (osxVersions), Array<var> (osxVersionValues))); props.getLast()->setTooltip ("The version of OSX to link against in the XCode build."); if (getMacCompatibilityVersion().toString().isEmpty()) getMacCompatibilityVersion() = osxVersionDefault; props.add (new ChoicePropertyComponent (getMacCompatibilityVersion(), "OSX Compatibility Version", StringArray (osxVersions), Array<var> (osxVersionValues))); props.getLast()->setTooltip ("The minimum version of OSX that the target binary will be compatible with."); const char* osxArch[] = { "Use Default", "Native architecture of build machine", "Universal Binary (32-bit)", "Universal Binary (64-bit)", "64-bit Intel", 0 }; const char* osxArchValues[] = { osxArch_Default, osxArch_Native, osxArch_32BitUniversal, osxArch_64BitUniversal, osxArch_64Bit, 0 }; if (getMacArchitecture().toString().isEmpty()) getMacArchitecture() = osxArch_Default; props.add (new ChoicePropertyComponent (getMacArchitecture(), "OSX Architecture", StringArray (osxArch), Array<var> (osxArchValues))); props.getLast()->setTooltip ("The type of OSX binary that will be produced."); for (int i = props.size(); --i >= 0;) props.getUnchecked(i)->setPreferredHeight (22); }