diff -r 41e91ea94acb -r ec0e970e0830 java/rozsirene-atributy/src/cz/frantovo/rozsireneatributy/gui/Panel.java
--- a/java/rozsirene-atributy/src/cz/frantovo/rozsireneatributy/gui/Panel.java Sat Dec 16 19:09:35 2023 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/**
- * Rozšířené atributy – program na správu rozšířených atributů souborů
- * Copyright © 2012 František Kučera (frantovo.cz)
- *
- * 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 3 of the License.
- *
- * 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, see .
- */
-package cz.frantovo.rozsireneatributy.gui;
-
-import cz.frantovo.rozsireneatributy.Atribut;
-import cz.frantovo.rozsireneatributy.CSV;
-import java.awt.Toolkit;
-import java.awt.datatransfer.StringSelection;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.JOptionPane;
-import javax.swing.JTable;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-
-/**
- * @author Ing. František Kučera (frantovo.cz)
- */
-public class Panel extends javax.swing.JPanel {
-
- public static final int SLOUPEC_NÁZVU = 0;
- public static final int SLOUPEC_HODNOTY = 1;
- private static final Logger log = Logger
- .getLogger(Panel.class.getSimpleName());
- private static final ResourceBundle překlady = ResourceBundle
- .getBundle(Atribut.class.getPackageName() + ".Překlady");
- private Model model;
- private Atribut vybranýAtribut;
- private JTable tabulka;
-
- public Panel(Model model) {
- this.model = model;
- initComponents();
-
- tlačítkoZamknout.setEnabled(model.isZámekPodporovaný());
- tlačítkoZamknout.setToolTipText(model.isZámekPodporovaný()
- ? překlady.getString("zamknout.popis")
- : překlady.getString("chyba.lzeZamknoutJenSoubor"));
-
- tabulka = new JTable(model);
- nastavEditor();
- tabulka.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- posuvnýPanel.setViewportView(tabulka);
-
- tabulka.setRowHeight((int) (tabulka.getRowHeight() * 1.3));
-
- /** Výběr aktuálního atributu v tabulce */
- tabulka.getSelectionModel().addListSelectionListener(
- new ListSelectionListener() {
-
- @Override
- public void valueChanged(ListSelectionEvent e) {
- int řádek = tabulka.getSelectedRow();
- if (řádek < 0) {
- vybranýAtribut = null;
- tlačítkoSmazat.setEnabled(false);
- } else {
- vybranýAtribut = getModel().getAtribut(řádek);
- tlačítkoSmazat.setEnabled(true);
- }
- }
- });
- }
-
- private void nastavEditor() {
- tabulka.getColumnModel().getColumn(SLOUPEC_NÁZVU)
- .setCellEditor(new EditorNázvůAtributů(model.getKonfigurace()));
- tabulka.getColumnModel().getColumn(SLOUPEC_HODNOTY)
- .setCellEditor(new EditorHodnotAtributů(model.getKonfigurace()));
- }
-
- private Model getModel() {
- return model;
- }
-
- public void setModel(Model model) {
- this.model = model;
- tabulka.setModel(model);
- nastavEditor();
- }
-
- private void zobrazChybovouHlášku(String hláška, Throwable chyba) {
- JOptionPane.showMessageDialog(this, hláška + "\n"
- + chyba.getLocalizedMessage(),
- překlady.getString("chyba.titulek"), JOptionPane.ERROR_MESSAGE);
- log.log(Level.WARNING, hláška, chyba);
- }
-
- private void kopírujDoSchránky() {
- try {
- StringWriter výstup = new StringWriter();
- CSV csv = new CSV(výstup);
-
- csv.hodnota(překlady.getString("tabulka.název").toLowerCase());
- csv.hodnota(překlady.getString("tabulka.hodnota").toLowerCase());
- csv.konecŘádku();
-
- for (int i = 0; i < model.getRowCount(); i++) {
- csv.hodnota(String.valueOf(model.getValueAt(i, 0)));
- csv.hodnota(String.valueOf(model.getValueAt(i, 1)));
- csv.konecŘádku();
- }
-
- Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
- new StringSelection(výstup.toString()),
- null
- );
- } catch (Exception e) {
- zobrazChybovouHlášku(překlady
- .getString("chyba.nepodařiloSeZkopírovat"), e);
- }
- }
-
- @SuppressWarnings("unchecked")
- // //GEN-BEGIN:initComponents
- private void initComponents() {
-
- posuvnýPanel = new javax.swing.JScrollPane();
- tlačítkoPřidat = new javax.swing.JButton();
- tlačítkoSmazat = new javax.swing.JButton();
- tlačítkoZnovuNačíst = new javax.swing.JButton();
- tlačítkoZamknout = new javax.swing.JToggleButton();
- tlačítkoKopírovat = new javax.swing.JButton();
-
- tlačítkoPřidat.setMnemonic('p');
- java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("cz/frantovo/rozsireneatributy/Překlady"); // NOI18N
- tlačítkoPřidat.setText(bundle.getString("přidatAtribut")); // NOI18N
- tlačítkoPřidat.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- tlačítkoPřidatActionPerformed(evt);
- }
- });
-
- tlačítkoSmazat.setMnemonic('s');
- tlačítkoSmazat.setText(bundle.getString("smazatAtribut")); // NOI18N
- tlačítkoSmazat.setEnabled(false);
- tlačítkoSmazat.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- tlačítkoSmazatActionPerformed(evt);
- }
- });
-
- tlačítkoZnovuNačíst.setMnemonic('z');
- tlačítkoZnovuNačíst.setText(bundle.getString("znovuNačíst")); // NOI18N
- tlačítkoZnovuNačíst.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- tlačítkoZnovuNačístActionPerformed(evt);
- }
- });
-
- tlačítkoZamknout.setText(bundle.getString("zamknout")); // NOI18N
- tlačítkoZamknout.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- tlačítkoZamknoutActionPerformed(evt);
- }
- });
-
- tlačítkoKopírovat.setText(bundle.getString("schránka.kopírovat")); // NOI18N
- tlačítkoKopírovat.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- tlačítkoKopírovatActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
- this.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(tlačítkoPřidat)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tlačítkoSmazat)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tlačítkoZnovuNačíst)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tlačítkoZamknout)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tlačítkoKopírovat)
- .addContainerGap(25, Short.MAX_VALUE))
- .addComponent(posuvnýPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 543, Short.MAX_VALUE)
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addComponent(posuvnýPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(tlačítkoPřidat)
- .addComponent(tlačítkoSmazat)
- .addComponent(tlačítkoZnovuNačíst)
- .addComponent(tlačítkoZamknout)
- .addComponent(tlačítkoKopírovat))
- .addContainerGap())
- );
- }// //GEN-END:initComponents
-
- private void tlačítkoPřidatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoPřidatActionPerformed
- model.přidejAtribut(new Atribut());
- }//GEN-LAST:event_tlačítkoPřidatActionPerformed
-
- private void tlačítkoSmazatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoSmazatActionPerformed
- try {
- model.odeberAtribut(vybranýAtribut);
- } catch (IOException e) {
- zobrazChybovouHlášku(překlady
- .getString("chyba.nepodařiloSeSmazat"), e);
- }
- }//GEN-LAST:event_tlačítkoSmazatActionPerformed
-
- private void tlačítkoZnovuNačístActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoZnovuNačístActionPerformed
- try {
- model.načtiAtributy();
- } catch (IOException e) {
- zobrazChybovouHlášku(překlady
- .getString("chyba.nepodařiloSeNačíst"), e);
- }
- }//GEN-LAST:event_tlačítkoZnovuNačístActionPerformed
-
- private void tlačítkoZamknoutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoZamknoutActionPerformed
- try {
- model.nastavZámek(tlačítkoZamknout.isSelected());
- } catch (Exception e) {
- zobrazChybovouHlášku(překlady
- .getString("chyba.nepodařiloSeNastavitZámek"), e);
- }
- }//GEN-LAST:event_tlačítkoZamknoutActionPerformed
-
- private void tlačítkoKopírovatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoKopírovatActionPerformed
- kopírujDoSchránky();
- }//GEN-LAST:event_tlačítkoKopírovatActionPerformed
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JScrollPane posuvnýPanel;
- private javax.swing.JButton tlačítkoKopírovat;
- private javax.swing.JButton tlačítkoPřidat;
- private javax.swing.JButton tlačítkoSmazat;
- private javax.swing.JToggleButton tlačítkoZamknout;
- private javax.swing.JButton tlačítkoZnovuNačíst;
- // End of variables declaration//GEN-END:variables
-}