Package net.sf.latexdraw.ui.dialog

Source Code of net.sf.latexdraw.ui.dialog.ShortcutsFrame

package net.sf.latexdraw.ui.dialog;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JViewport;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;

import net.sf.latexdraw.instruments.FileLoaderSaver;
import net.sf.latexdraw.lang.LangTool;
import net.sf.latexdraw.util.LResources;
import net.sf.latexdraw.util.LSystem;

/**
* A frame containing the shortcuts of the program.<br>
*<br>
* This file is part of LaTeXDraw<br>
* Copyright (c) 2005-2014 Arnaud BLOUIN<br>
*<br>
*  LaTeXDraw 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.<br>
*<br>
*  LaTeXDraw is distributed 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.<br>
*<br>
* 09/18/06<br>
* @author Arnaud BLOUIN
* @since 1.9<br>
*/
public class ShortcutsFrame extends JFrame {
  private static final long serialVersionUID = 1L;


  /**  Creates a frame containing a table with all the shortcuts. */
  public ShortcutsFrame() {
    super(LangTool.INSTANCE.getString19("LaTeXDrawFrame.3")); //$NON-NLS-1$
    setIconImage(LResources.LATEXDRAW_ICON.getImage());

    final JTable table;
    final String[] titles = {LangTool.INSTANCE.getString19("ShortcutsFrame.1")//$NON-NLS-1$
        LangTool.INSTANCE.getString16("ParserMessagesFrame.0")//$NON-NLS-1$
        LangTool.INSTANCE.getString19("ShortcutsFrame.3")}//$NON-NLS-1$
    final String catEdit  = LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.89"); //$NON-NLS-1$
    final String catNav  = LangTool.INSTANCE.getString19("ShortcutsFrame.4"); //$NON-NLS-1$
    final String catTran  = LangTool.INSTANCE.getString19("ShortcutsFrame.5"); //$NON-NLS-1$
    final String catDraw  = LangTool.INSTANCE.getString19("ShortcutsFrame.6"); //$NON-NLS-1$
    final String catFile  = LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.88"); //$NON-NLS-1$
    final JButton okB   = new JButton(LangTool.INSTANCE.getString18("LaTeXDrawFrame.23")); //$NON-NLS-1$
    final JPanel panel   = new JPanel();

    final String ctrl = KeyEvent.getKeyModifiersText(InputEvent.CTRL_MASK);
    final String shift = KeyEvent.getKeyModifiersText(InputEvent.SHIFT_MASK);
    final String leftClick = LangTool.INSTANCE.getString19("ShortcutsFrame.8"); //$NON-NLS-1$
    final String st1 = LangTool.INSTANCE.getString19("ShortcutsFrame.9"); //$NON-NLS-1$
    final String st2 = LangTool.INSTANCE.getString19("ShortcutsFrame.10"); //$NON-NLS-1$
    final String st3 = LangTool.INSTANCE.getString19("ShortcutsFrame.11"); //$NON-NLS-1$
    final String st4 = LangTool.INSTANCE.getString19("ShortcutsFrame.12"); //$NON-NLS-1$
    final Object[][] data = {
      {ctrl+"+C", LResources.LABEL_COPY, catEdit},//$NON-NLS-1$
      {ctrl+"+V", LResources.LABEL_PASTE, catEdit},//$NON-NLS-1$
      {ctrl+"+X", LResources.LABEL_CUT, catEdit},//$NON-NLS-1$
      {ctrl+"+Z", LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.23"), catEdit},//$NON-NLS-1$ //$NON-NLS-2$
      {ctrl+"+Y", LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.22"), catEdit},//$NON-NLS-1$ //$NON-NLS-2$
      {ctrl+"+N", LResources.LABEL_NEW, catFile},//$NON-NLS-1$
      {ctrl+"+O", FileLoaderSaver.LABEL_OPEN, catFile},//$NON-NLS-1$
      {ctrl+"+S", FileLoaderSaver.LABEL_SAVE, catFile},//$NON-NLS-1$
      {ctrl+"+W", LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.18"), catFile},//$NON-NLS-1$ //$NON-NLS-2$
      {KeyEvent.getKeyText(KeyEvent.VK_ADD), LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.57"), catNav}, //$NON-NLS-1$
      {KeyEvent.getKeyText(KeyEvent.VK_SUBTRACT), LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.58"), catNav}, //$NON-NLS-1$
      {KeyEvent.getKeyText(KeyEvent.VK_DELETE), LangTool.INSTANCE.getStringLaTeXDrawFrame("LaTeXDrawFrame.17"), catDraw}, //$NON-NLS-1$
      {KeyEvent.getKeyText(KeyEvent.VK_RIGHT), st1, catNav},
      {KeyEvent.getKeyText(KeyEvent.VK_LEFT), st2, catNav},
      {KeyEvent.getKeyText(KeyEvent.VK_UP), st3, catNav},
      {KeyEvent.getKeyText(KeyEvent.VK_DOWN), st4, catNav},
      //TODO
//      {shift+'+'+KeyEvent.getKeyText(KeyEvent.VK_RIGHT), LangTool.INSTANCE.getString19("ShortcutsFrame.18"), catNav}, //$NON-NLS-1$
//      {shift+'+'+KeyEvent.getKeyText(KeyEvent.VK_LEFT), LangTool.INSTANCE.getString19("ShortcutsFrame.19"), catNav}, //$NON-NLS-1$
//      {shift+'+'+KeyEvent.getKeyText(KeyEvent.VK_UP), LangTool.INSTANCE.getString19("ShortcutsFrame.20"), catNav}, //$NON-NLS-1$
//      {shift+'+'+KeyEvent.getKeyText(KeyEvent.VK_DOWN), LangTool.INSTANCE.getString19("ShortcutsFrame.21"), catNav}, //$NON-NLS-1$
      {ctrl+"+U", LangTool.INSTANCE.getString19("ShortcutsFrame.23"), catTran}, //$NON-NLS-1$ //$NON-NLS-2$
      {ctrl+"+A", LangTool.INSTANCE.getString19("ShortcutsFrame.25"), catDraw}, //$NON-NLS-1$ //$NON-NLS-2$
      {ctrl+'+'+leftClick, LangTool.INSTANCE.getString19("ShortcutsFrame.26"), catDraw}, //$NON-NLS-1$
      {shift+'+'+leftClick, LangTool.INSTANCE.getString19("ShortcutsFrame.27"), catDraw}, //$NON-NLS-1$
      {ctrl+'+'+LangTool.INSTANCE.getString19("ShortcutsFrame.29"), LangTool.INSTANCE.getString19("ShortcutsFrame.30"), catDraw} //$NON-NLS-1$ //$NON-NLS-2$
    };

        final TableModel dataModel = new AbstractTableModel() {
      private static final long serialVersionUID = 1L;
      @Override
      public int getColumnCount() { return titles.length; }
            @Override
      public int getRowCount() { return data.length;}
            @Override
      public Object getValueAt(final int row, final int col) {return data[row][col];}
            @Override
      public String getColumnName(final int column) {return titles[column];}
            @Override
      public Class<?> getColumnClass(final int c) {return getValueAt(0, c).getClass();}
        @Override
      public boolean isCellEditable(final int row, final int col) {return false;}
            @Override
      public void setValueAt(final Object aValue, final int row, final int column) { data[row][column] = aValue; }
         };

    table = new JTable(dataModel);
     table.getTableHeader().setReorderingAllowed(false);
     final TableColumnModel colmodel = table.getColumnModel();

     colmodel.getColumn(0).setPreferredWidth(100);
     colmodel.getColumn(1).setPreferredWidth(350);
     colmodel.getColumn(2).setPreferredWidth(80);

     final JScrollPane scrollPane = new JScrollPane();
     final JViewport vp = scrollPane.getViewport();
     vp.add(table);

    okB.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(final ActionEvent e) {
        setVisible(false);
      }
    });
    panel.add(okB);
    getContentPane().setLayout(new BorderLayout());
     getContentPane().add(scrollPane, BorderLayout.CENTER);
     getContentPane().add(panel, BorderLayout.SOUTH);
     setSize(700, 500);
     final Dimension dim = LSystem.INSTANCE.getScreenDimension();
     final Rectangle rec = getGraphicsConfiguration().getBounds();
     setLocation((int)(rec.getX()+dim.width/2.0-getWidth()/2.0), (int)(rec.getY()+dim.height/2.0-getHeight()/2.0));
  }
}
TOP

Related Classes of net.sf.latexdraw.ui.dialog.ShortcutsFrame

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.