// Path: src/main/java/com/cipherdyne/gui/components/IFwknopVariable.java
// public interface IFwknopVariable {
//     void setText(final String val);
// 
//     String getText();
// 
//     void setDefaultValue();
// 
//     boolean isDefault();
// }
// 
// Path: src/main/java/com/cipherdyne/gui/wizard/EnumWizardButton.java
// public enum EnumWizardButton {
//     CANCEL("i18n.wizard.cancel"),
//     BACK("i18n.wizard.back"),
//     NEXT("i18n.wizard.next"),
//     FINISH("i18n.wizard.finish"),
//     GENERATE_AES_KEY("i18n.wizard.generate.aes.key"),
//     GENERATE_HMAC_KEY("i18n.wizard.generate.hmac.key"),
//     BROWSE_FOR_GPG_HOMEDIR("i18n.wizard.browse.for.gpg.homedir"),
//     CREATE_GPG_HOMEDIR("i18n.wizard.create.gpg.homedir"),
//     BROWSE_FOR_GPG_SIGNER_ID("i18n.wizard.browse.for.gpg.signerid"),
//     BROWSE_FOR_GPG_RECIPIENT_ID("i18n.wizard.browse.for.gpg.recipientid");
// 
//     final private String description;
// 
//     private EnumWizardButton(String description) {
//         this.description = description;
//     }
// 
//     public String getDescription() {
//         return InternationalizationHelper.getMessage(this.description);
//     }
// }
// 
// Path: src/main/java/com/cipherdyne/gui/wizard/EnumWizardVariable.java
// public enum EnumWizardVariable {
//     ENCRYPTION_MODE("i18n.wizard.encryptionmode.description"),
//     AES_KEY("i18n.wizard.key.description"),
//     HMAC_KEY("i18n.wizard.hmac.description"),
//     REMOTE_HOST("i18n.wizard.remotehost.description"),
//     ACCESS("i18n.wizard.access.description"),
//     GPG_HOME_DIRECTORY("i18n.wizard.gnupg.homedirectory.description"),
//     GPG_SIGNER_ID("i18n.wizard.gnupg.signerid.description"),
//     GPG_SIGNER_PASSWORD("i18n.wizard.gnupg.signerid.password"),
//     GPG_RECIPIENT_ID("i18n.wizard.gnupg.recipientid.description");
// 
//     private final String description;
// 
//     private EnumWizardVariable(String description) {
//         this.description = description;
//     }
// 
//     public String getDescription() {
//         return InternationalizationHelper.getMessage(this.description);
//     }
// }
// 
// Path: src/main/java/com/cipherdyne/gui/wizard/EnumWizardView.java
// public enum EnumWizardView {
//     SELECT_CRYPTO {
//         @Override
//         public IWizardView getView() {
//             return new CryptoView();
//         }
//     },
//     SETUP_AES {
//         @Override
//         public IWizardView getView() {
//             return new AesView();
//         }
//     },
//     SETUP_HMAC {
//         @Override
//         public IWizardView getView() {
//             return new HmacView();
//         }
//     },
//     SETUP_ACCESS {
//         @Override
//         public IWizardView getView() {
//             return new AccessView();
//         }
//     },
//     SETUP_GPG_HOME_DIRECTORY {
//         @Override
//         public IWizardView getView() {
//             return new GpgHomeDirectoryView();
//         }
//     },
//     SETUP_GPG_SIGNER_ID {
//         @Override
//         public IWizardView getView() {
//             return new GpgSignerIdView();
//         }
//     },
//     SETUP_GPG_RECIPIENT_ID {
//         @Override
//         public IWizardView getView() {
//             return new GpgRecipientIdView();
//         }
//     },
//     SETUP_REMOTE_HOST {
//         @Override
//         public IWizardView getView() {
//             return new RemoteHostView();
//         }
//     };
// 
//     public abstract IWizardView getView();
// }


import com.cipherdyne.gui.components.IFwknopVariable;
import com.cipherdyne.gui.wizard.EnumWizardButton;
import com.cipherdyne.gui.wizard.EnumWizardVariable;
import com.cipherdyne.gui.wizard.EnumWizardView;
import java.util.Map;
import javax.swing.JButton;
/*
 * JFwknop is developed primarily by the people listed in the file 'AUTHORS'.
 * Copyright (C) 2016 JFwknop developers and contributors.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
package com.cipherdyne.gui.wizard.views;


/**
 *
 * @author Franck Joncourt
 */
public interface IWizardView {

    public void initialize(Map<EnumWizardVariable, IFwknopVariable> varMap, Map<EnumWizardButton, JButton> btnMap);

// Path: src/main/java/com/cipherdyne/gui/components/IFwknopVariable.java
// public interface IFwknopVariable {
//     void setText(final String val);
// 
//     String getText();
// 
//     void setDefaultValue();
// 
//     boolean isDefault();
// }
// 
// Path: src/main/java/com/cipherdyne/gui/wizard/EnumWizardButton.java
// public enum EnumWizardButton {
//     CANCEL("i18n.wizard.cancel"),
//     BACK("i18n.wizard.back"),
//     NEXT("i18n.wizard.next"),
//     FINISH("i18n.wizard.finish"),
//     GENERATE_AES_KEY("i18n.wizard.generate.aes.key"),
//     GENERATE_HMAC_KEY("i18n.wizard.generate.hmac.key"),
//     BROWSE_FOR_GPG_HOMEDIR("i18n.wizard.browse.for.gpg.homedir"),
//     CREATE_GPG_HOMEDIR("i18n.wizard.create.gpg.homedir"),
//     BROWSE_FOR_GPG_SIGNER_ID("i18n.wizard.browse.for.gpg.signerid"),
//     BROWSE_FOR_GPG_RECIPIENT_ID("i18n.wizard.browse.for.gpg.recipientid");
// 
//     final private String description;
// 
//     private EnumWizardButton(String description) {
//         this.description = description;
//     }
// 
//     public String getDescription() {
//         return InternationalizationHelper.getMessage(this.description);
//     }
// }
// 
// Path: src/main/java/com/cipherdyne/gui/wizard/EnumWizardVariable.java
// public enum EnumWizardVariable {
//     ENCRYPTION_MODE("i18n.wizard.encryptionmode.description"),
//     AES_KEY("i18n.wizard.key.description"),
//     HMAC_KEY("i18n.wizard.hmac.description"),
//     REMOTE_HOST("i18n.wizard.remotehost.description"),
//     ACCESS("i18n.wizard.access.description"),
//     GPG_HOME_DIRECTORY("i18n.wizard.gnupg.homedirectory.description"),
//     GPG_SIGNER_ID("i18n.wizard.gnupg.signerid.description"),
//     GPG_SIGNER_PASSWORD("i18n.wizard.gnupg.signerid.password"),
//     GPG_RECIPIENT_ID("i18n.wizard.gnupg.recipientid.description");
// 
//     private final String description;
// 
//     private EnumWizardVariable(String description) {
//         this.description = description;
//     }
// 
//     public String getDescription() {
//         return InternationalizationHelper.getMessage(this.description);
//     }
// }
// 
// Path: src/main/java/com/cipherdyne/gui/wizard/EnumWizardView.java
// public enum EnumWizardView {
//     SELECT_CRYPTO {
//         @Override
//         public IWizardView getView() {
//             return new CryptoView();
//         }
//     },
//     SETUP_AES {
//         @Override
//         public IWizardView getView() {
//             return new AesView();
//         }
//     },
//     SETUP_HMAC {
//         @Override
//         public IWizardView getView() {
//             return new HmacView();
//         }
//     },
//     SETUP_ACCESS {
//         @Override
//         public IWizardView getView() {
//             return new AccessView();
//         }
//     },
//     SETUP_GPG_HOME_DIRECTORY {
//         @Override
//         public IWizardView getView() {
//             return new GpgHomeDirectoryView();
//         }
//     },
//     SETUP_GPG_SIGNER_ID {
//         @Override
//         public IWizardView getView() {
//             return new GpgSignerIdView();
//         }
//     },
//     SETUP_GPG_RECIPIENT_ID {
//         @Override
//         public IWizardView getView() {
//             return new GpgRecipientIdView();
//         }
//     },
//     SETUP_REMOTE_HOST {
//         @Override
//         public IWizardView getView() {
//             return new RemoteHostView();
//         }
//     };
// 
//     public abstract IWizardView getView();
// }


// Path: src/main/java/com/cipherdyne/gui/wizard/views/IWizardView.java
import com.cipherdyne.gui.components.IFwknopVariable;
import com.cipherdyne.gui.wizard.EnumWizardButton;
import com.cipherdyne.gui.wizard.EnumWizardVariable;
import com.cipherdyne.gui.wizard.EnumWizardView;
import java.util.Map;
import javax.swing.JButton;

/*
 * JFwknop is developed primarily by the people listed in the file 'AUTHORS'.
 * Copyright (C) 2016 JFwknop developers and contributors.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
package com.cipherdyne.gui.wizard.views;


/**
 *
 * @author Franck Joncourt
 */
public interface IWizardView {

    public void initialize(Map<EnumWizardVariable, IFwknopVariable> varMap, Map<EnumWizardButton, JButton> btnMap);

    public EnumWizardView getNextPanel();