package se.cambio.openehr.view.dialogs; import se.cambio.openehr.util.OpenEHRImageUtil; import javax.swing.*; import java.awt.*; public class DialogLongMessageNotice extends DialogEditor{ /** * */ private static final long serialVersionUID = 1L; public static enum MessageType{ NORMAL, WARNING, WARNING_WITH_CANCEL, ERROR } private JPanel panelMsg = null; private JPanel panelException = null; private JPanel panelButtons = null; private String _msg = null; private String _longMsg = null; private MessageType _type = null; public DialogLongMessageNotice(Window owner, String title, String msg, String longMsg, MessageType type) { super(owner, title, new Dimension(400, 400), true, true); _msg = msg; _longMsg = longMsg; _type = type; init(); } private void init(){ getJPanel().setLayout(new BorderLayout()); getJPanel().add(getPanelMsg(), BorderLayout.NORTH); getJPanel().add(getPanelException(), BorderLayout.CENTER); getJPanel().add(getPanelButtons(), BorderLayout.SOUTH); } private JPanel getPanelMsg(){ if(panelMsg==null){ panelMsg = new JPanel(new BorderLayout()); JPanel aux = new JPanel(); aux.add(new JLabel(getImageIcon())); panelMsg.add(aux, BorderLayout.WEST); JTextPane textPane = new JTextPane(); textPane.setText(_msg); textPane.setFont(textPane.getFont().deriveFont(Font.BOLD)); textPane.setBackground(null); textPane.setEditable(false); panelMsg.add(textPane, BorderLayout.CENTER); } return panelMsg; } private JPanel getPanelException(){ if(panelException==null){ panelException = new JPanel(); panelException = new JPanel(new BorderLayout()); JScrollPane scrollPane = new JScrollPane(); JTextPane textPane = new JTextPane(); textPane.setText(_longMsg); textPane.setEditable(false); JPanel noWrapPanel = new JPanel( new BorderLayout() ); noWrapPanel.add(textPane); textPane.setBackground(null); scrollPane.setViewportView(noWrapPanel); panelException.add(scrollPane); } return panelException; } private JPanel getPanelButtons(){ if(panelButtons==null){ panelButtons = new JPanel(new FlowLayout(FlowLayout.CENTER)); panelButtons.add(getAcceptButton()); if (MessageType.WARNING_WITH_CANCEL.equals(_type)){ panelButtons.add(getCancelButton()); } } return panelButtons; } private ImageIcon getImageIcon(){ if (MessageType.ERROR.equals(_type)){ return OpenEHRImageUtil.CANCEL_ICON; }else if (MessageType.WARNING.equals(_type)|| MessageType.WARNING_WITH_CANCEL.equals(_type)){ return OpenEHRImageUtil.WARNING_ICON; }else{ return OpenEHRImageUtil.EMPTY_ICON; } } } /* * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 2.0/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public 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.mozilla.org/MPL/ * * Software distributed under the License is distributed on an 'AS IS' basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * * The Initial Developers of the Original Code are Iago Corbal and Rong Chen. * Portions created by the Initial Developer are Copyright (C) 2012-2013 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Software distributed under the License is distributed on an 'AS IS' basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * ***** END LICENSE BLOCK ***** */