/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* TableDlg.java
*
* Created on 22.06.2009, 13:43:09
*/
package reportgen.gui.genepanel.formatpanel.dlg.main;
import java.awt.Window;
import reportgen.gui.genepanel.formatpanel.dlg.ChildRangePanel;
import reportgen.gui.genepanel.formatpanel.dlg.TableListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import reportgen.gui.genepanel.formatpanel.dlg.StylePanel;
import reportgen.ren.report.extendedformat.table.TableFormat;
import reportgen.utils.ReportDialog;
/**
*
* @author axe
*/
class CornerCellDlg extends ReportDialog {
private final TableFormat format;
private final TableListener tableListener;
/** Creates new form TableDlg */
public CornerCellDlg(Window parent, TableFormat aFormat, TableListener aTableListener) {
super(parent, "Параметры таблицы");
initComponents();
this.format = aFormat;
this.tableListener = aTableListener;
this.tableCornerField.setText(this.format.getCornerTitle());
this.tableCornerField.getDocument().addDocumentListener( new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
update(e.getDocument());
}
@Override
public void removeUpdate(DocumentEvent e) {
update(e.getDocument());
}
@Override
public void changedUpdate(DocumentEvent e) {}
private void update(Document doc) {
try {
format.setCornerTitle(doc.getText(0, doc.getLength()));
tableListener.cellChanged(0, 0);
} catch (BadLocationException ex) {
ex.printStackTrace();
//do nothing
}
}
});
mainTab.add("Стиль угловой ячейки", new StylePanel(format.getStyle(), tableListener));
colsPanel.add(new ChildRangePanel(format.getCols(), this, tableListener));
rowsPanel.add(new ChildRangePanel(format.getRows(), this, tableListener));
criteriaPanelInner.add(format.getCriteria().getPanel(parent));
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
tableCornerField = new javax.swing.JTextArea();
mainTab = new javax.swing.JTabbedPane();
criteriaPanel = new javax.swing.JPanel();
criteriaPanelInner = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
rowsPanel = new javax.swing.JPanel();
jPanel8 = new javax.swing.JPanel();
colsPanel = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
okBtn = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel2.setLayout(new java.awt.BorderLayout(5, 5));
jPanel4.setLayout(new java.awt.GridLayout(0, 1, 5, 5));
jScrollPane2.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createTitledBorder("Название угловой ячейки"), javax.swing.BorderFactory.createEmptyBorder(5, 1, 1, 1)));
tableCornerField.setColumns(20);
tableCornerField.setRows(5);
jScrollPane2.setViewportView(tableCornerField);
jPanel4.add(jScrollPane2);
jPanel2.add(jPanel4, java.awt.BorderLayout.NORTH);
criteriaPanelInner.setLayout(new java.awt.GridLayout(1, 0));
javax.swing.GroupLayout criteriaPanelLayout = new javax.swing.GroupLayout(criteriaPanel);
criteriaPanel.setLayout(criteriaPanelLayout);
criteriaPanelLayout.setHorizontalGroup(
criteriaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 545, Short.MAX_VALUE)
.addGroup(criteriaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(criteriaPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(criteriaPanelInner, javax.swing.GroupLayout.DEFAULT_SIZE, 521, Short.MAX_VALUE)
.addContainerGap()))
);
criteriaPanelLayout.setVerticalGroup(
criteriaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 473, Short.MAX_VALUE)
.addGroup(criteriaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(criteriaPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(criteriaPanelInner, javax.swing.GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
.addContainerGap()))
);
mainTab.addTab("Критерии выборки", criteriaPanel);
rowsPanel.setLayout(new java.awt.GridLayout(1, 0));
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 545, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addComponent(rowsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 521, Short.MAX_VALUE)
.addContainerGap()))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 473, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addComponent(rowsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
.addContainerGap()))
);
mainTab.addTab("Строки", jPanel5);
colsPanel.setLayout(new java.awt.GridLayout(1, 0));
javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 545, Short.MAX_VALUE)
.addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addContainerGap()
.addComponent(colsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 521, Short.MAX_VALUE)
.addContainerGap()))
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 473, Short.MAX_VALUE)
.addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel8Layout.createSequentialGroup()
.addContainerGap()
.addComponent(colsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
.addContainerGap()))
);
mainTab.addTab("Столбцы", jPanel8);
jPanel2.add(mainTab, java.awt.BorderLayout.CENTER);
jPanel1.add(jPanel2, java.awt.BorderLayout.CENTER);
jPanel3.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
okBtn.setText(" OK ");
okBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
okBtnActionPerformed(evt);
}
});
jPanel3.add(okBtn);
jPanel1.add(jPanel3, java.awt.BorderLayout.SOUTH);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 550, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 675, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void okBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okBtnActionPerformed
setVisible(false);
}//GEN-LAST:event_okBtnActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel colsPanel;
private javax.swing.JPanel criteriaPanel;
private javax.swing.JPanel criteriaPanelInner;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel8;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane mainTab;
private javax.swing.JButton okBtn;
private javax.swing.JPanel rowsPanel;
private javax.swing.JTextArea tableCornerField;
// End of variables declaration//GEN-END:variables
}