//# 1 errors, 169 messages
//#
/*
    //#StepSettings.java:1:1: class: com.dmdirc.installer.ui.StepSettings
    //#StepSettings.java:1:1: method: com.dmdirc.installer.ui.StepSettings.com.dmdirc.installer.ui.StepSettings__static_init
 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.dmdirc.installer.ui;

import com.dmdirc.installer.Main;
import com.dmdirc.installer.Settings;
import com.dmdirc.installer.DefaultSettings;
import com.dmdirc.installer.Installer.ShortcutType;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.Insets;
import javax.swing.Box;
import javax.swing.JCheckBox;
import javax.swing.JTextField;

/**
 * Queries the user for where to install dmdirc, and if they want to setup shortcuts
 */
public final class StepSettings extends SwingStep implements Settings {

    /**
     * A version number for this class. It should be changed whenever the class
     * structure is changed (or anything else that would prevent serialized
     * objects being unserialized with the new class).
     */
    private static final long serialVersionUID = 3;
    /** Menu Shorcuts checkbox. */
    private final JCheckBox shortcutMenu = new JCheckBox("Create " + Main.
    //#StepSettings.java:50: ?null dereference
    //#    getInstaller(...) != null
    //#    severity: MEDIUM
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    basic block: Entry_BB_1
    //#    assertion: getInstaller(...) != null
    //#    VN: com/dmdirc/installer/Main.myInstaller
    //#    Expected: Inverse{null} or Invalid
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad
    //#StepSettings.java:50: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.installer.Installer:getMenuName()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: String com.dmdirc.installer.Installer:getMenuName()
            getInstaller().getMenuName() + " shortcut");
    /** Desktop Shorcuts checkbox. */
    private final JCheckBox shortcutDesktop = new JCheckBox(
            "Create desktop shortcut");
    /** Quick-Launch Shorcuts checkbox. */
    private final JCheckBox shortcutQuick = new JCheckBox(
            "Create Quick Launch shortcut");
    /** Register IRC:// protocol. */
    private final JCheckBox shortcutProtocol = new JCheckBox(
            "Make DMDirc handle irc:// links");
    /** Install Location input. */
    private final JTextField location = new JTextField(Main.getInstaller().
    //#StepSettings.java:62: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.installer.Installer:defaultInstallLocation()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: String com.dmdirc.installer.Installer:defaultInstallLocation()
            defaultInstallLocation(), 20);

    /**
     * Creates a new instance of StepSettings.
     */
    public StepSettings() {
        super();
    //#StepSettings.java:69: method: void com.dmdirc.installer.ui.StepSettings.com.dmdirc.installer.ui.StepSettings()
    //#input(void com.dmdirc.installer.ui.StepSettings()): " shortcut"._tainted
    //#input(void com.dmdirc.installer.ui.StepSettings()): "Create "._tainted
    //#input(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer$ShortcutType.DESKTOP
    //#input(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer$ShortcutType.MENU
    //#input(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer$ShortcutType.PROTOCOL
    //#input(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer$ShortcutType.QUICKLAUNCH
    //#input(void com.dmdirc.installer.ui.StepSettings()): com/dmdirc/installer/Main.__Class_Obj.__Lock
    //#input(void com.dmdirc.installer.ui.StepSettings()): com/dmdirc/installer/Main.myInstaller
    //#input(void com.dmdirc.installer.ui.StepSettings()): this
    //#output(void com.dmdirc.installer.ui.StepSettings()): com/dmdirc/installer/Main.myInstaller
    //#output(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#1) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#3) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#4) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#5) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new JTextField(StepSettings#6) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new LinuxInstaller(getInstaller#2) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new LinuxInstaller(getInstaller#2).__Tag
    //#output(void com.dmdirc.installer.ui.StepSettings()): new WindowsInstaller(getInstaller#1) num objects
    //#output(void com.dmdirc.installer.ui.StepSettings()): new WindowsInstaller(getInstaller#1).__Tag
    //#output(void com.dmdirc.installer.ui.StepSettings()): this.location
    //#output(void com.dmdirc.installer.ui.StepSettings()): this.shortcutDesktop
    //#output(void com.dmdirc.installer.ui.StepSettings()): this.shortcutMenu
    //#output(void com.dmdirc.installer.ui.StepSettings()): this.shortcutProtocol
    //#output(void com.dmdirc.installer.ui.StepSettings()): this.shortcutQuick
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#1)
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#3)
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#4)
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#5)
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new JTextField(StepSettings#6)
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new LinuxInstaller(getInstaller#2)
    //#new obj(void com.dmdirc.installer.ui.StepSettings()): new WindowsInstaller(getInstaller#1)
    //#pre[1] (void com.dmdirc.installer.ui.StepSettings()): init'ed(com/dmdirc/installer/Main.myInstaller)
    //#presumption(void com.dmdirc.installer.ui.StepSettings()): init'ed(com.dmdirc.installer.Installer$ShortcutType.DESKTOP)
    //#presumption(void com.dmdirc.installer.ui.StepSettings()): init'ed(com.dmdirc.installer.Installer$ShortcutType.MENU)
    //#presumption(void com.dmdirc.installer.ui.StepSettings()): init'ed(com.dmdirc.installer.Installer$ShortcutType.PROTOCOL)
    //#presumption(void com.dmdirc.installer.ui.StepSettings()): init'ed(com.dmdirc.installer.Installer$ShortcutType.QUICKLAUNCH)
    //#post(void com.dmdirc.installer.ui.StepSettings()): com/dmdirc/installer/Main.myInstaller == One-of{old com/dmdirc/installer/Main.myInstaller, &new WindowsInstaller(getInstaller#1), &new LinuxInstaller(getInstaller#2)}
    //#post(void com.dmdirc.installer.ui.StepSettings()): com/dmdirc/installer/Main.myInstaller != null
    //#post(void com.dmdirc.installer.ui.StepSettings()): this.location == &new JTextField(StepSettings#6)
    //#post(void com.dmdirc.installer.ui.StepSettings()): this.shortcutDesktop == &new JCheckBox(StepSettings#3)
    //#post(void com.dmdirc.installer.ui.StepSettings()): this.shortcutMenu == &new JCheckBox(StepSettings#1)
    //#post(void com.dmdirc.installer.ui.StepSettings()): this.shortcutProtocol == &new JCheckBox(StepSettings#5)
    //#post(void com.dmdirc.installer.ui.StepSettings()): this.shortcutQuick == &new JCheckBox(StepSettings#4)
    //#post(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#1) num objects == 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#3) num objects == 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#4) num objects == 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new JCheckBox(StepSettings#5) num objects == 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new JTextField(StepSettings#6) num objects == 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new LinuxInstaller(getInstaller#2) num objects <= 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new LinuxInstaller(getInstaller#2) num objects == 0
    //#post(void com.dmdirc.installer.ui.StepSettings()): init'ed(new LinuxInstaller(getInstaller#2).__Tag)
    //#post(void com.dmdirc.installer.ui.StepSettings()): new WindowsInstaller(getInstaller#1) num objects <= 1
    //#post(void com.dmdirc.installer.ui.StepSettings()): new WindowsInstaller(getInstaller#1) num objects == 0
    //#post(void com.dmdirc.installer.ui.StepSettings()): init'ed(new WindowsInstaller(getInstaller#1).__Tag)
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:java.lang.System:getProperty
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:java.lang.String:startsWith
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.Installer
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.LinuxInstaller
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:javax.swing.text.DefaultStyledDocument
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:javax.swing.JTextPane
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.ui.TextLabel:setOpaque
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.ui.TextLabel:setEditable
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.ui.TextLabel:setHighlighter
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:java.awt.Insets
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.ui.TextLabel:setMargin
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:com.dmdirc.installer.ui.TextLabel:setText
    //#unanalyzed(void com.dmdirc.installer.ui.StepSettings()): Effects-of-calling:javax.swing.JPanel
    //#test_vector(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer:supportsShortcut(...)@101: {0}, {1}
    //#test_vector(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer:supportsShortcut(...)@105: {0}, {1}
    //#test_vector(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer:supportsShortcut(...)@109: {0}, {1}
    //#test_vector(void com.dmdirc.installer.ui.StepSettings()): com.dmdirc.installer.Installer:supportsShortcut(...)@97: {0}, {1}

        DefaultSettings defaultSettings = new DefaultSettings();
    //#StepSettings.java:71: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.DefaultSettings()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.DefaultSettings()
        shortcutMenu.setSelected(defaultSettings.getShortcutMenuState());
    //#StepSettings.java:72: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.DefaultSettings:getShortcutMenuState()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.DefaultSettings:getShortcutMenuState()
        shortcutDesktop.setSelected(defaultSettings.getShortcutDesktopState());
    //#StepSettings.java:73: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.DefaultSettings:getShortcutDesktopState()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.DefaultSettings:getShortcutDesktopState()
        shortcutQuick.setSelected(defaultSettings.getShortcutQuickState());
    //#StepSettings.java:74: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.DefaultSettings:getShortcutQuickState()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.DefaultSettings:getShortcutQuickState()
        shortcutProtocol.setSelected(defaultSettings.getShortcutProtocolState());
    //#StepSettings.java:75: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.DefaultSettings:getShortcutProtocolState()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.DefaultSettings:getShortcutProtocolState()

        final GridBagConstraints constraints = new GridBagConstraints();
		setLayout(new GridBagLayout());
    //#StepSettings.java:78: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:setLayout(LayoutManager)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:setLayout(LayoutManager)

        constraints.weightx = 1.0;
		constraints.fill = GridBagConstraints.BOTH;
		constraints.gridx = 0;
		constraints.gridy = 0;
		constraints.gridwidth = 2;
        add(new TextLabel("Here you can choose options for the install." +
    //#StepSettings.java:85: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
                          "\n\nInstall Location:"), constraints);

        constraints.fill = GridBagConstraints.HORIZONTAL;
		constraints.gridx = 1;
        constraints.gridy = 1;
        add(location, constraints);
    //#StepSettings.java:91: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)

        constraints.gridwidth = 2;
		constraints.gridx = 0;
		constraints.insets = new Insets(InstallerDialog.SMALL_GAP, 0, 0, 0);

        if (Main.getInstaller().supportsShortcut(ShortcutType.MENU)) {
    //#StepSettings.java:97: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
            constraints.gridy = (constraints.gridy + 1);
            add(shortcutMenu, constraints);
    //#StepSettings.java:99: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
        }
        if (Main.getInstaller().supportsShortcut(ShortcutType.DESKTOP)) {
    //#StepSettings.java:101: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
            constraints.gridy = (constraints.gridy + 1);
            add(shortcutDesktop, constraints);
    //#StepSettings.java:103: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
        }
        if (Main.getInstaller().supportsShortcut(ShortcutType.QUICKLAUNCH)) {
    //#StepSettings.java:105: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
            constraints.gridy = (constraints.gridy + 1);
            add(shortcutQuick, constraints);
    //#StepSettings.java:107: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
        }
        if (Main.getInstaller().supportsShortcut(ShortcutType.PROTOCOL)) {
    //#StepSettings.java:109: Warning: method not available - call not analyzed
    //#    call on bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: bool com.dmdirc.installer.Installer:supportsShortcut(Installer$ShortcutType)
            constraints.gridy = (constraints.gridy + 1);
            add(shortcutProtocol, constraints);
    //#StepSettings.java:111: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
        }

        constraints.gridy = (constraints.gridy + 1);
		constraints.weighty = 1.0;
		constraints.fill = GridBagConstraints.BOTH;
        add(Box.createVerticalGlue(), constraints);
    //#StepSettings.java:117: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.installer.ui.StepSettings
    //#    method: void com.dmdirc.installer.ui.StepSettings()
    //#    unanalyzed callee: void com.dmdirc.installer.ui.StepSettings:add(Component, Object)
    }
    //#StepSettings.java:118: end of method: void com.dmdirc.installer.ui.StepSettings.com.dmdirc.installer.ui.StepSettings()

    /** {@inheritDoc} */
    @Override
    public String getStepName() {
        return "Settings";
    //#StepSettings.java:123: method: String com.dmdirc.installer.ui.StepSettings.getStepName()
    //#output(String getStepName()): return_value
    //#post(String getStepName()): return_value == &"Settings"
    //#StepSettings.java:123: end of method: String com.dmdirc.installer.ui.StepSettings.getStepName()
    }

    /** {@inheritDoc} */
    @Override
    public Image getIcon() {
        return null;
    //#StepSettings.java:129: method: Image com.dmdirc.installer.ui.StepSettings.getIcon()
    //#output(Image getIcon()): return_value
    //#post(Image getIcon()): return_value == null
    //#StepSettings.java:129: end of method: Image com.dmdirc.installer.ui.StepSettings.getIcon()
    }

    /** {@inheritDoc} */
    @Override
    public String getStepDescription() {
        return "";
    //#StepSettings.java:135: method: String com.dmdirc.installer.ui.StepSettings.getStepDescription()
    //#output(String getStepDescription()): return_value
    //#post(String getStepDescription()): return_value == &""
    //#StepSettings.java:135: end of method: String com.dmdirc.installer.ui.StepSettings.getStepDescription()
    }

    /** {@inheritDoc} */
    @Override
    public boolean getShortcutMenuState() {
        return shortcutMenu.isSelected();
    //#StepSettings.java:141: method: bool com.dmdirc.installer.ui.StepSettings.getShortcutMenuState()
    //#input(bool getShortcutMenuState()): this
    //#input(bool getShortcutMenuState()): this.shortcutMenu
    //#output(bool getShortcutMenuState()): return_value
    //#pre[2] (bool getShortcutMenuState()): this.shortcutMenu != null
    //#post(bool getShortcutMenuState()): init'ed(return_value)
    //#StepSettings.java:141: end of method: bool com.dmdirc.installer.ui.StepSettings.getShortcutMenuState()
    }

    /** {@inheritDoc} */
    @Override
    public boolean getShortcutDesktopState() {
        return shortcutDesktop.isSelected();
    //#StepSettings.java:147: method: bool com.dmdirc.installer.ui.StepSettings.getShortcutDesktopState()
    //#input(bool getShortcutDesktopState()): this
    //#input(bool getShortcutDesktopState()): this.shortcutDesktop
    //#output(bool getShortcutDesktopState()): return_value
    //#pre[2] (bool getShortcutDesktopState()): this.shortcutDesktop != null
    //#post(bool getShortcutDesktopState()): init'ed(return_value)
    //#StepSettings.java:147: end of method: bool com.dmdirc.installer.ui.StepSettings.getShortcutDesktopState()
    }

    /** {@inheritDoc} */
    @Override
    public boolean getShortcutQuickState() {
        return shortcutQuick.isSelected();
    //#StepSettings.java:153: method: bool com.dmdirc.installer.ui.StepSettings.getShortcutQuickState()
    //#input(bool getShortcutQuickState()): this
    //#input(bool getShortcutQuickState()): this.shortcutQuick
    //#output(bool getShortcutQuickState()): return_value
    //#pre[2] (bool getShortcutQuickState()): this.shortcutQuick != null
    //#post(bool getShortcutQuickState()): init'ed(return_value)
    //#StepSettings.java:153: end of method: bool com.dmdirc.installer.ui.StepSettings.getShortcutQuickState()
    }

    /** {@inheritDoc} */
    @Override
    public boolean getShortcutProtocolState() {
        return shortcutProtocol.isSelected();
    //#StepSettings.java:159: method: bool com.dmdirc.installer.ui.StepSettings.getShortcutProtocolState()
    //#input(bool getShortcutProtocolState()): this
    //#input(bool getShortcutProtocolState()): this.shortcutProtocol
    //#output(bool getShortcutProtocolState()): return_value
    //#pre[2] (bool getShortcutProtocolState()): this.shortcutProtocol != null
    //#post(bool getShortcutProtocolState()): init'ed(return_value)
    //#StepSettings.java:159: end of method: bool com.dmdirc.installer.ui.StepSettings.getShortcutProtocolState()
    }

    /** {@inheritDoc} */
    @Override
    public String getInstallLocation() {
        return location.getText().trim();
    //#StepSettings.java:165: method: String com.dmdirc.installer.ui.StepSettings.getInstallLocation()
    //#input(String getInstallLocation()): this
    //#input(String getInstallLocation()): this.location
    //#output(String getInstallLocation()): return_value
    //#pre[2] (String getInstallLocation()): this.location != null
    //#presumption(String getInstallLocation()): javax.swing.JTextField:getText(...)@165 != null
    //#post(String getInstallLocation()): return_value != null
    //#StepSettings.java:165: end of method: String com.dmdirc.installer.ui.StepSettings.getInstallLocation()
    }
}
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Descendant_Table[com/dmdirc/installer/ui/StepSettings]
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getIcon()Ljava/awt/Image;
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getInstallLocation()Ljava/lang/String;
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutDesktopState()Z
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutMenuState()Z
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutProtocolState()Z
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutQuickState()Z
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getStepDescription()Ljava/lang/String;
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getStepName()Ljava/lang/String;
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): com/dmdirc/installer/Settings.__Descendant_Table[com/dmdirc/installer/ui/StepSettings]
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): com/dmdirc/installer/Step.__Descendant_Table[com/dmdirc/installer/ui/StepSettings]
    //#output(com.dmdirc.installer.ui.StepSettings__static_init): com/dmdirc/installer/ui/SwingStep.__Descendant_Table[com/dmdirc/installer/ui/StepSettings]
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Descendant_Table[com/dmdirc/installer/ui/StepSettings] == &__Dispatch_Table
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): com/dmdirc/installer/Settings.__Descendant_Table[com/dmdirc/installer/ui/StepSettings] == &__Dispatch_Table
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): com/dmdirc/installer/Step.__Descendant_Table[com/dmdirc/installer/ui/StepSettings] == &__Dispatch_Table
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): com/dmdirc/installer/ui/SwingStep.__Descendant_Table[com/dmdirc/installer/ui/StepSettings] == &__Dispatch_Table
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getIcon()Ljava/awt/Image; == &getIcon
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getInstallLocation()Ljava/lang/String; == &getInstallLocation
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutDesktopState()Z == &getShortcutDesktopState
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutMenuState()Z == &getShortcutMenuState
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutProtocolState()Z == &getShortcutProtocolState
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getShortcutQuickState()Z == &getShortcutQuickState
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getStepDescription()Ljava/lang/String; == &getStepDescription
    //#post(com.dmdirc.installer.ui.StepSettings__static_init): __Dispatch_Table.getStepName()Ljava/lang/String; == &getStepName
    //#StepSettings.java:: end of method: com.dmdirc.installer.ui.StepSettings.com.dmdirc.installer.ui.StepSettings__static_init
    //#StepSettings.java:: end of class: com.dmdirc.installer.ui.StepSettings
