Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
   *
   * The contents of this file are subject to the terms of either the GNU
   * General Public License Version 2 only ("GPL") or the Common
   * Development and Distribution License("CDDL") (collectively, the
   * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Sun in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  *
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  *
  * Contributor(s):
  *
  * Portions Copyrighted 2008 Sun Microsystems, Inc.
  */
 package org.netbeans.modules.cnd.makeproject.api.configurations;
 

Author(s):
Alexey Vladykin
 
 public class QmakeConfiguration implements Cloneable {
 
     public static final int DEBUG_MODE = 0;
     public static final int RELEASE_MODE = 1;
     private final String[] BUILD_MODE_NAMES = {"Debug""Release"}; // NOI18N
     private final String[] BUILD_NODE_OPTIONS = {"debug""release"}; // NOI18N
     private static final String CORE = "core"// NOI18N
     private static final String GUI = "gui"// NOI18N
     private static final String NETWORK = "network"// NOI18N
     private static final String OPENGL = "opengl"// NOI18N
     private static final String PHONON = "phonon"// NOI18N
     private static final String QT3SUPPORT = "qt3support"// NOI18N
     private static final String SQL = "sql"// NOI18N
     private static final String SVG = "svg"// NOI18N
     private static final String WEBKIT = "webkit"// NOI18N
     private static final String XML = "xml"// NOI18N
     private final MakeConfiguration makeConfiguration;
 
     // general
     private StringConfiguration destdir;
     private StringConfiguration target;
     private StringConfiguration version;
     private IntConfiguration buildMode;
 
     // modules
     private BooleanConfiguration coreEnabled;
     private BooleanConfiguration guiEnabled;
     private BooleanConfiguration sqlEnabled;
     private BooleanConfiguration svgEnabled;
     private BooleanConfiguration xmlEnabled;
 
     // intermediate files
     private StringConfiguration mocDir;
     private StringConfiguration rccDir;
     private StringConfiguration uiDir;
 
     // expert
     private StringConfiguration qmakespec;
 
    public QmakeConfiguration(MakeConfiguration makeConfiguration) {
        this. = makeConfiguration;
         = new StringConfiguration(null""); // NOI18N
         = new StringConfiguration(null""); // NOI18N
         = new StringConfiguration(null"1.0.0"); // NOI18N
         = new IntConfiguration(null, 0, );
         = new BooleanConfiguration(nulltrue);
         = new BooleanConfiguration(nulltrue);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new BooleanConfiguration(nullfalse);
         = new StringConfiguration(null""); // NOI18N
         = new StringConfiguration(null""); // NOI18N
         = new StringConfiguration(null""); // NOI18N
         = new VectorConfiguration<String>(null);
         = new StringConfiguration(null""); // NOI18N
    }
    public Sheet getGeneralSheet() {
        Sheet sheet = new Sheet();
        Sheet.Set basic = new Sheet.Set();
        basic.setName("QtGeneral"); // NOI18N
        basic.setDisplayName(getString("QtGeneralTxt")); // NOI18N
        basic.setShortDescription(getString("QtGeneralHint")); // NOI18N
        basic.put(new StringNodeProp(getDestdirDefault(), "QtDestdir"getString("QtDestdirTxt"), getString("QtDestdirHint"))); // NOI18N
        basic.put(new StringNodeProp(getTargetDefault(), "QtTarget"getString("QtTargetTxt"), getString("QtTargetHint"))); // NOI18N
        basic.put(new StringNodeProp("QtVersion"getString("QtVersionTxt"), getString("QtVersionHint"))); // NOI18N
        basic.put(new IntNodeProp(true"QtBuildMode"getString("QtBuildModeTxt"), getString("QtBuildModeHint"))); // NOI18N
        sheet.put(basic);
        Sheet.Set modules = new Sheet.Set();
        modules.setName("QtModules"); // NOI18N
        modules.setDisplayName(getString("QtModulesTxt")); // NOI18N
        modules.setShortDescription(getString("QtModulesHint")); // NOI18N
        modules.put(new BooleanNodeProp(true"QtCore"getString("QtCoreTxt"), getString("QtCoreHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtGui"getString("QtGuiTxt"), getString("QtGuiHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtNetwork"getString("QtNetworkTxt"), getString("QtNetworkHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtOpengl"getString("QtOpenglTxt"), getString("QtOpenglHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtPhonon"getString("QtPhononTxt"), getString("QtPhononHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"Qt3Support"getString("Qt3SupportTxt"), getString("Qt3SupportHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtSql"getString("QtSqlTxt"), getString("QtSqlHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtSvg"getString("QtSvgTxt"), getString("QtSvgHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtXml"getString("QtXmlTxt"), getString("QtXmlHint"))); // NOI18N
        modules.put(new BooleanNodeProp(true"QtWebkit"getString("QtWebkitTxt"), getString("QtWebkitHint"))); // NOI18N
        sheet.put(modules);
        Sheet.Set generatedFiles = new Sheet.Set();
        generatedFiles.setName("QtIntermediateFiles"); // NOI18N
        generatedFiles.setDisplayName(getString("QtIntermediateFilesTxt")); // NOI18N
        generatedFiles.setShortDescription(getString("QtIntermediateFilesHint")); // NOI18N
        generatedFiles.put(new StringNodeProp("QtMocDir"getString("QtMocDirTxt"), getString("QtMocDirHint"))); // NOI18N
        generatedFiles.put(new StringNodeProp("QtRccDir"getString("QtRccDirTxt"), getString("QtRccDirHint"))); // NOI18N
        generatedFiles.put(new StringNodeProp("QtUiDir"getString("QtUiDirTxt"), getString("QtUiDirHint"))); // NOI18N
        sheet.put(generatedFiles);
        Sheet.Set expert = new Sheet.Set();
        expert.setName("QtExpert"); // NOI18N
        expert.setDisplayName(getString("QtExpertTxt")); // NOI18N
        expert.setShortDescription(getString("QtExpertHint")); // NOI18N
        expert.put(new StringNodeProp("QtQmakeSpec"getString("QtQmakeSpecTxt"), getString("QtQmakeSpecHint"))); // NOI18N
        expert.put(new StringListNodeProp(nullnew String[]{"QtCustomDefs"getString("QtCustomDefsTxt"), getString("QtCustomDefsHint"), getString("QtCustomDefsLbl")}, false.)); // NOI18N
        sheet.put(expert);
        return sheet;
    }
    public String getDestdirValue() {
        if (.getModified()) {
            return .getValue();
        } else {
            return getDestdirDefault();
        }
    }
    private String getDestdirDefault() {
        return "${CND_DISTDIR}" + "/" + "${CND_CONF}" + "/" + "${CND_PLATFORM}"// NOI18N
    }
    public StringConfiguration getDestdir() {
        return ;
    }
    private void setDestdir(StringConfiguration destdir) {
        this. = destdir;
    }
    public String getTargetValue() {
        if (.getModified()) {
            return .getValue();
        } else {
            return getTargetDefault();
        }
    }
    private String getTargetDefault() {
        return ConfigurationSupport.makeNameLegal(IpeUtils.getBaseName(.getBaseDir()));
    }
    public StringConfiguration getTarget() {
        return ;
    }
    private void setTarget(StringConfiguration target) {
        this. = target;
    }
    public StringConfiguration getVersion() {
        return ;
    }
    private void setVersion(StringConfiguration version) {
        this. = version;
    }
    public String getOutputValue() {
        String dir = getDestdirValue();
        String file = getTargetValue();
        switch (.getConfigurationType().getValue()) {
            case .:
                file = Platforms.getPlatform(.getDevelopmentHost().getBuildPlatform()).getQtLibraryName(filegetVersion().getValue());
                break;
            case .:
                file = "lib" + file + ".a"// NOI18N
                break;
        }
        return 0 < dir.length() ? dir + "/" + file : file// NOI18N
    }
    public IntConfiguration getBuildMode() {
        return ;
    }
    private void setBuildMode(IntConfiguration buildMode) {
        this. = buildMode;
    }
    public String getEnabledModules() {
        StringBuilder buf = new StringBuilder();
        if (isCoreEnabled().getValue()) {
            append(buf);
        }
        if (isGuiEnabled().getValue()) {
            append(buf);
        }
        if (isNetworkEnabled().getValue()) {
            append(buf);
        }
        if (isOpenglEnabled().getValue()) {
            append(buf);
        }
        if (isPhononEnabled().getValue()) {
            append(buf);
        }
        if (isQt3SupportEnabled().getValue()) {
            append(buf);
        }
        if (isSqlEnabled().getValue()) {
            append(buf);
        }
        if (isSvgEnabled().getValue()) {
            append(buf);
        }
        if (isXmlEnabled().getValue()) {
            append(buf);
        }
        if (isWebkitEnabled().getValue()) {
            append(buf);
        }
        return buf.toString();
    }
    public void setEnabledModules(String modules) {
        isCoreEnabled().setValue(false);
        isGuiEnabled().setValue(false);
        isNetworkEnabled().setValue(false);
        isOpenglEnabled().setValue(false);
        isPhononEnabled().setValue(false);
        isQt3SupportEnabled().setValue(false);
        isSqlEnabled().setValue(false);
        isSvgEnabled().setValue(false);
        isXmlEnabled().setValue(false);
        isWebkitEnabled().setValue(false);
        StringTokenizer st = new StringTokenizer(modules);
        while (st.hasMoreTokens()) {
            String t = st.nextToken();
            if (t.equals()) {
                isCoreEnabled().setValue(true);
            } else if (t.equals()) {
                isGuiEnabled().setValue(true);
            } else if (t.equals()) {
                isNetworkEnabled().setValue(true);
            } else if (t.equals()) {
                isOpenglEnabled().setValue(true);
            } else if (t.equals()) {
                isPhononEnabled().setValue(true);
            } else if (t.equals()) {
                isQt3SupportEnabled().setValue(true);
            } else if (t.equals()) {
                isSqlEnabled().setValue(true);
            } else if (t.equals()) {
                isSvgEnabled().setValue(true);
            } else if (t.equals()) {
                isXmlEnabled().setValue(true);
            } else if (t.equals()) {
                isWebkitEnabled().setValue(true);
            } else {
                // unknown module
            }
        }
    }
        return ;
    }
    private void setCoreEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setGuiEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setNetworkEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setOpenglEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setPhononEnabled(BooleanConfiguration val) {
        this. = val;
    }
        return ;
    }
    private void setQt3SupportEnabled(BooleanConfiguration val) {
        this. = val;
    }
        return ;
    }
    private void setSqlEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setSvgEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setXmlEnabled(BooleanConfiguration val) {
         = val;
    }
        return ;
    }
    private void setWebkitEnabled(BooleanConfiguration val) {
        this. = val;
    }
    public StringConfiguration getMocDir() {
        return ;
    }
    private void setMocDir(StringConfiguration mocDir) {
        this. = mocDir;
    }
    public StringConfiguration getRccDir() {
        return ;
    }
    private void setRccDir(StringConfiguration rccDir) {
        this. = rccDir;
    }
    public StringConfiguration getUiDir() {
        return ;
    }
    private void setUiDir(StringConfiguration uicDir) {
        this. = uicDir;
    }
        return ;
    }
    private void setCustomDefs(VectorConfiguration<StringcustomDefs) {
        this. = customDefs;
    }
    public StringConfiguration getQmakeSpec() {
        return ;
    }
    private void setQmakespec(StringConfiguration qmakespec) {
        this. = qmakespec;
    }
    public void assign(QmakeConfiguration other) {
        getDestdir().assign(other.getDestdir());
        getTarget().assign(other.getTarget());
        getVersion().assign(other.getVersion());
        getBuildMode().assign(other.getBuildMode());
        isCoreEnabled().assign(other.isCoreEnabled());
        isGuiEnabled().assign(other.isGuiEnabled());
        isNetworkEnabled().assign(other.isNetworkEnabled());
        isOpenglEnabled().assign(other.isOpenglEnabled());
        isPhononEnabled().assign(other.isPhononEnabled());
        isSqlEnabled().assign(other.isSqlEnabled());
        isSvgEnabled().assign(other.isSvgEnabled());
        isXmlEnabled().assign(other.isXmlEnabled());
        isWebkitEnabled().assign(other.isWebkitEnabled());
        getMocDir().assign(other.getMocDir());
        getRccDir().assign(other.getRccDir());
        getUiDir().assign(other.getUiDir());
        getCustomDefs().assign(other.getCustomDefs());
        getQmakeSpec().assign(other.getQmakeSpec());
    }
    @Override
    public QmakeConfiguration clone() {
        try {
            QmakeConfiguration clone = (QmakeConfigurationsuper.clone();
            clone.setDestdir(getDestdir().clone());
            clone.setTarget(getTarget().clone());
            clone.setVersion(getVersion().clone());
            clone.setBuildMode(getBuildMode().clone());
            clone.setCoreEnabled(isCoreEnabled().clone());
            clone.setGuiEnabled(isGuiEnabled().clone());
            clone.setNetworkEnabled(isNetworkEnabled().clone());
            clone.setOpenglEnabled(isOpenglEnabled().clone());
            clone.setPhononEnabled(isPhononEnabled().clone());
            clone.setQt3SupportEnabled(isQt3SupportEnabled().clone());
            clone.setSqlEnabled(isSqlEnabled().clone());
            clone.setSvgEnabled(isSvgEnabled().clone());
            clone.setXmlEnabled(isXmlEnabled().clone());
            clone.setWebkitEnabled(isWebkitEnabled().clone());
            clone.setMocDir(getMocDir().clone());
            clone.setRccDir(getRccDir().clone());
            clone.setUiDir(getUiDir().clone());
            clone.setCustomDefs(getCustomDefs().clone());
            clone.setQmakespec(getQmakeSpec().clone());
            return clone;
        } catch (CloneNotSupportedException ex) {
            // should not happen while this class implements Cloneable
            ex.printStackTrace();
            return null;
        }
    }
    private static String getString(String s) {
        return NbBundle.getMessage(QmakeConfiguration.classs);
    }
    private static void append(StringBuilder bufString val) {
        if (0 < buf.length() && buf.charAt(buf.length() - 1) != ' ') { // NOI18N
            buf.append(' '); // NOI18N
        }
        buf.append(val);
    }
New to GrepCode? Check out our FAQ X