Package net.laubenberger.tyr.view.dialog

Source Code of net.laubenberger.tyr.view.dialog.DialogInfo$ActionClose

/*
* Copyright (c) 2010-2011 by Stefan Laubenberger.
*
* Tyr is free software: you can redistribute it and/or modify
* it under the terms of the General Public License v2.0.
*
* Tyr 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:
* <http://www.gnu.org/licenses>
*
* This distribution is available at:
* <http://code.google.com/p/tyr/>
* <http://dev.laubenberger.net/tyr/>
*
* Contact information:
* Stefan Laubenberger
* Bullingerstrasse 53
* CH-8004 Zuerich
*
* <http://www.laubenberger.net>
*
* <laubenberger@gmail.com>
*/
package net.laubenberger.tyr.view.dialog;

import java.awt.BorderLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.util.Observable;
import java.util.Observer;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;

import net.laubenberger.bogatyr.helper.HelperEnvironment;
import net.laubenberger.bogatyr.helper.HelperLog;
import net.laubenberger.bogatyr.helper.HelperMap;
import net.laubenberger.bogatyr.helper.HelperString;
import net.laubenberger.bogatyr.model.misc.Platform;
import net.laubenberger.bogatyr.service.localizer.Localizer;
import net.laubenberger.bogatyr.view.swing.ActionAbstract;
import net.laubenberger.bogatyr.view.swing.Button;
import net.laubenberger.bogatyr.view.swing.Dialog;
import net.laubenberger.bogatyr.view.swing.Group;
import net.laubenberger.bogatyr.view.swing.Panel;
import net.laubenberger.bogatyr.view.swing.Table;
import net.laubenberger.bogatyr.view.swing.pane.PaneScroll;
import net.laubenberger.bogatyr.view.swing.pane.PaneTab;
import net.laubenberger.tyr.helper.HelperResource;
import net.laubenberger.tyr.model.Icon;
import net.laubenberger.tyr.model.TyrData;
import net.laubenberger.tyr.view.ViewTyr;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Dialog for the system informations.
*
* @author Stefan Laubenberger
* @version 0.8.5 (20110214)
* @since 0.4.0
*/
public class DialogInfo extends Dialog implements Observer {
  private static final long serialVersionUID = -6432496021603325405L;

  private static final Logger log = LoggerFactory.getLogger(DialogInfo.class);

//  private static final Dimension SIZE = new Dimension(740, 460);
//  private static final Dimension SIZE_MINIMUM = new Dimension(320, 200);
 
  final ViewTyr view;
  final Localizer localizer;

  public DialogInfo(final ViewTyr view) {
    super(view.getOwner());
    if (log.isTraceEnabled()) log.trace(HelperLog.constructor(view));
   
    this.view = view;
    localizer = view.getController().getModel().getLocalizer();
  }

  {
//    setAlwaysOnTop(true);
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//    setMinimumSize(SIZE_MINIMUM);
//    setSize(SIZE);
  }

 
  /*
   * Private methods
   */

  private void createLayout() {
    getContentPane().removeAll();

    setTitle(view.getController().getModel().getName() + HelperString.COLON + HelperString.SPACE + localizer.getValue(HelperResource.RES_ACTION_INFO));

    final JPanel panel = new Panel(new BorderLayout());
    panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 5, 10));

    final JTabbedPane tab = new PaneTab();
   
   
   
    final JTable taApplication = new Table(HelperMap.toArray(view.getController().getReport()), new String[]{localizer.getValue(HelperResource.RES_LABEL_KEY), localizer.getValue(HelperResource.RES_LABEL_VALUE)}){
      private static final long serialVersionUID = 5956530506987984746L;

      @Override
      public boolean isCellEditable(final int rowIndex, final int colIndex) {
        return false;
      }
    };
   
    final JScrollPane scrollApplication = new PaneScroll(taApplication);
    tab.addTab(localizer.getValue(HelperResource.RES_LABEL_APPLICATION), view.getController().getScaledIcon(Icon.LOGO), scrollApplication, localizer.getTooltip(HelperResource.RES_LABEL_APPLICATION));

   
   
    final JTable taJava = new Table(HelperMap.toArray(HelperEnvironment.getReportJava()), new String[]{localizer.getValue(HelperResource.RES_LABEL_KEY), localizer.getValue(HelperResource.RES_LABEL_VALUE)}) {
      private static final long serialVersionUID = 5956530506987984746L;

      @Override
      public boolean isCellEditable(final int rowIndex, final int colIndex) {
        return false;
      }
    };

    final JScrollPane scrollJava = new PaneScroll(taJava);
    tab.addTab(localizer.getValue(HelperResource.RES_LABEL_JAVA), view.getController().getScaledIcon(Icon.JAVA), scrollJava, localizer.getTooltip(HelperResource.RES_LABEL_JAVA));

    final JTable taOS = new Table(HelperMap.toArray(HelperEnvironment.getReportOS()), new String[]{localizer.getValue(HelperResource.RES_LABEL_KEY), localizer.getValue(HelperResource.RES_LABEL_VALUE)}) {
      private static final long serialVersionUID = 5956530506987984746L;

      @Override
      public boolean isCellEditable(final int rowIndex, final int colIndex) {
        return false;
      }
    };
   
    final JScrollPane scrollOS = new PaneScroll(taOS);
    final ImageIcon iconOS;
    if (Platform.MAC_OSX == HelperEnvironment.getPlatform()) {
      iconOS = view.getController().getScaledIcon(Icon.MAC);
    } else
      iconOS = Platform.WINDOWS == HelperEnvironment.getPlatform() ? view.getController().getScaledIcon(Icon.WINDOWS) : view.getController().getScaledIcon(Icon.LINUX);
   
    tab.addTab(localizer.getValue(HelperResource.RES_LABEL_OS), iconOS, scrollOS, localizer.getTooltip(HelperResource.RES_LABEL_OS));

   
   
    final JTable taSystem = new Table(HelperMap.toArray(HelperEnvironment.getReportSystem()), new String[]{localizer.getValue(HelperResource.RES_LABEL_KEY), localizer.getValue(HelperResource.RES_LABEL_VALUE)}) {
      private static final long serialVersionUID = -8531838594552715361L;

      @Override
      public boolean isCellEditable(final int rowIndex, final int colIndex) {
        return false;
      }
    };
   
    final JScrollPane scrollSystem = new PaneScroll(taSystem);
    tab.addTab(localizer.getValue(HelperResource.RES_LABEL_SYSTEM), view.getController().getScaledIcon(Icon.SYSTEM), scrollSystem, localizer.getTooltip(HelperResource.RES_LABEL_SYSTEM));


    final JTable taUser = new Table(HelperMap.toArray(HelperEnvironment.getReportUser()), new String[]{localizer.getValue(HelperResource.RES_LABEL_KEY), localizer.getValue(HelperResource.RES_LABEL_VALUE)}){
      private static final long serialVersionUID = 1327561378424760584L;

      @Override
      public boolean isCellEditable(final int rowIndex, final int colIndex) {
        return false;
      }
    };

//    final JTextArea taUser = new TextArea();
//    taUser.setEditable(false);
//    taUser.append(HelperEnvironment.getReportUser());
    final JScrollPane scrollUser = new PaneScroll(taUser);
//    taUser.setCaretPosition(0);
    tab.addTab(localizer.getValue(HelperResource.RES_LABEL_USER), view.getController().getScaledIcon(Icon.USER), scrollUser, localizer.getTooltip(HelperResource.RES_LABEL_USER));

    panel.add(tab, BorderLayout.CENTER);
   
    final Group group = new Group(new Insets(0, 0, 0, 0), new Button(new ActionClose()));
    panel.add(group, BorderLayout.SOUTH);

    getContentPane().add(panel);
//    pack();
  }

 
  /*
   * Overridden methods
   */

  @Override
  public void createAndShowGUI() {
    if (log.isDebugEnabled()) log.debug(HelperLog.methodStart());

    view.getController().getData().addObserver(this);
    createLayout();
    pack();
   
    super.createAndShowGUI();

    if (log.isDebugEnabled()) log.debug(HelperLog.methodExit());
  }

  @Override
  public void dispose() {
    if (log.isDebugEnabled()) log.debug(HelperLog.methodStart());

    view.getController().getData().deleteObserver(this);
    super.dispose();

    if (log.isDebugEnabled()) log.debug(HelperLog.methodExit());
  }

 
  /*
   * Implemented methods
   */

  @Override
  public void update(final Observable o, final Object arg) {
    if (log.isDebugEnabled()) log.debug(HelperLog.methodStart(o, arg));
   
    if (TyrData.MEMBER_LANGUAGE == arg || TyrData.MEMBER_ICON_SIZE == arg) {
      createLayout();

      validate();
      repaint();
    } else if (TyrData.MEMBER_LOOK_AND_FEEL == arg) {
      SwingUtilities.updateComponentTreeUI(this);
    }
   
    if (log.isDebugEnabled()) log.debug(HelperLog.methodExit());
  }
 

  /*
   * Inner classes
   */

  private class ActionClose extends ActionAbstract {
    private static final long serialVersionUID = -4351436897505808398L;

    public ActionClose() {
      super(localizer.getValue(HelperResource.RES_ACTION_CLOSE), view.getController().getScaledIcon(Icon.OK), localizer
          .getTooltip(HelperResource.RES_ACTION_CLOSE), localizer.getMnemonic(HelperResource.RES_ACTION_CLOSE));
    }

    @Override
    public void actionPerformed(final ActionEvent e) {
      clearAndHide();
    }
  }
}
TOP

Related Classes of net.laubenberger.tyr.view.dialog.DialogInfo$ActionClose

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.