/*
* Zed Attack Proxy (ZAP) and its related class files.
*
* ZAP is an HTTP/HTTPS proxy for assessing web application security.
*
* Copyright 2010 psiinon@gmail.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.zaproxy.zap.view;
import java.awt.Frame;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.HeadlessException;
import javax.swing.JButton;
import javax.swing.JPanel;
import org.apache.log4j.Logger;
import org.parosproxy.paros.Constant;
import org.parosproxy.paros.extension.AbstractDialog;
import org.parosproxy.paros.model.Model;
import org.parosproxy.paros.model.OptionsParam;
import org.zaproxy.zap.extension.option.OptionsLocalePanel;
public class LocaleDialog extends AbstractDialog {
private static final long serialVersionUID = 1L;
private JPanel jPanel = null;
private OptionsLocalePanel localePanel = null;
private OptionsParam options = null;
private JButton btnOK = null;
private Logger logger = Logger.getLogger(LocaleDialog.class);
/**
* Constructs an {@code LocaleDialog} with no owner and not modal.
*
* @throws HeadlessException when {@code GraphicsEnvironment.isHeadless()} returns {@code true}
*/
public LocaleDialog() {
super();
initialize();
}
/**
* Constructs an {@code LocaleDialog} with the given owner and whether or not it's modal.
*
* @param owner the {@code Frame} from which the dialog is displayed
* @param modal {@code true} if the dialogue should be modal, {@code false} otherwise
* @throws HeadlessException when {@code GraphicsEnvironment.isHeadless()} returns {@code true}
*/
public LocaleDialog(Frame owner, boolean modal) throws HeadlessException {
super(owner, modal);
initialize();
}
/**
* This method initializes this
*
*/
private void initialize() {
this.setContentPane(getJPanel());
this.pack();
if (Model.getSingleton().getOptionsParam().getViewParam().getWmUiHandlingOption() == 0) {
this.setSize(406, 133);
}
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
java.awt.GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
java.awt.GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
jPanel = new JPanel();
jPanel.setLayout(new GridBagLayout());
gridBagConstraints5.gridx = 0;
gridBagConstraints5.gridy = 0;
gridBagConstraints5.insets = new java.awt.Insets(0,0,0,0);
gridBagConstraints5.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints5.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints5.weightx = 1.0D;
gridBagConstraints5.weighty = 1.0D;
gridBagConstraints5.ipady = 2;
gridBagConstraints5.gridwidth = 2;
gridBagConstraints6.gridx = 1;
gridBagConstraints6.gridy = 1;
gridBagConstraints6.insets = new java.awt.Insets(2,2,2,2);
gridBagConstraints6.anchor = java.awt.GridBagConstraints.SOUTHEAST;
jPanel.add(getViewPanel(), gridBagConstraints5);
jPanel.add(getBtnOK(), gridBagConstraints6);
}
return jPanel;
}
private OptionsLocalePanel getViewPanel() {
if (localePanel == null) {
localePanel = new OptionsLocalePanel();
}
return localePanel;
}
public void init (OptionsParam options) {
this.options = options;
this.getViewPanel().initParam(options);
}
public void saveAndClose() {
try {
localePanel.saveParam(options);
} catch (Exception e1) {
logger.error(e1.getMessage(), e1);
}
LocaleDialog.this.dispose();
}
/**
* This method initializes btnOK
*
* @return javax.swing.JButton
*/
private JButton getBtnOK() {
if (btnOK == null) {
btnOK = new JButton();
btnOK.setText(Constant.messages.getString("all.button.ok"));
btnOK.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent e) {
saveAndClose();
}
});
}
return btnOK;
}
}