|
From: <se...@us...> - 2008-05-18 13:47:27
|
Revision: 142
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=142&view=rev
Author: sem62
Date: 2008-05-18 06:47:32 -0700 (Sun, 18 May 2008)
Log Message:
-----------
fixed bugs with table
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-18 11:46:28 UTC (rev 141)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-18 13:47:32 UTC (rev 142)
@@ -7,6 +7,7 @@
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.DefaultTableColumnModel;
+import javax.swing.table.TableCellEditor;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg;
import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQData;
@@ -18,479 +19,505 @@
* @author Yura
*/
public class CompileQPropertiestsDlg extends PropertyDlg implements
- ActionListener, ChangeListener {
+ ActionListener, ChangeListener {
- private static final long serialVersionUID = 1961383080461718171L;
+ private static final long serialVersionUID = 1961383080461718171L;
- private javax.swing.JCheckBox sameAsTitleCheckBox;
- private javax.swing.JCheckBox oneAnswerCheckBox;
- private javax.swing.JLabel titleLabel;
- private javax.swing.JPanel generalPanel;
- private javax.swing.JPanel captionPanel;
- private javax.swing.JPanel partsPanel;
- private javax.swing.JScrollPane jScrollPane1;
- private PartsTable partsTable;
- private javax.swing.JTextField titleTextField;
- private javax.swing.JTextField captionTextField;
- private javax.swing.JTextField questionTextField;
- private javax.swing.JButton editCaptionInHtmlBtn;
- private javax.swing.JButton editQuestionInHtmlBtn;
- private javax.swing.JButton editAnswerVariantInHtmlEditor;
- private javax.swing.JButton insertAnswerVariantBtn;
- private javax.swing.JButton deleteAnswerVariantBtn;
- private javax.swing.JButton moveUpAnswerVariantBtn;
- private javax.swing.JButton moveDownAnswerVariantBtn;
- private CompileQPartsTableModel simpleQuestionAnswersDataModel;
+ private javax.swing.JCheckBox sameAsTitleCheckBox;
+ private javax.swing.JCheckBox oneAnswerCheckBox;
+ private javax.swing.JLabel titleLabel;
+ private javax.swing.JPanel generalPanel;
+ private javax.swing.JPanel captionPanel;
+ private javax.swing.JPanel partsPanel;
+ private javax.swing.JScrollPane jScrollPane1;
+ private PartsTable partsTable;
+ private javax.swing.JTextField titleTextField;
+ private javax.swing.JTextField captionTextField;
+ private javax.swing.JTextField questionTextField;
+ private javax.swing.JButton editCaptionInHtmlBtn;
+ private javax.swing.JButton editQuestionInHtmlBtn;
+ private javax.swing.JButton editAnswerVariantInHtmlEditor;
+ private javax.swing.JButton insertAnswerVariantBtn;
+ private javax.swing.JButton deleteAnswerVariantBtn;
+ private javax.swing.JButton moveUpAnswerVariantBtn;
+ private javax.swing.JButton moveDownAnswerVariantBtn;
+ private CompileQPartsTableModel compileQTableDataModel;
- private javax.swing.JTextField currentAnswerVariant;
+ private javax.swing.JTextField currentAnswerVariant;
- public CompileQPropertiestsDlg() {
- obj = this;
+ private MultiLineTableCellEditor multiLineTableCellEditor = new MultiLineTableCellEditor();
+ private PartAttributesCellEditor partAttributesCellEditor = new PartAttributesCellEditor();
- initComponents();
+ public CompileQPropertiestsDlg() {
+ obj = this;
+
+ initComponents();
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ super.actionPerformed(arg0);
+
+ if (arg0.getSource() == editQuestionInHtmlBtn) {
+ editTextFieldInHtmlEditor(questionTextField);
}
- @Override
- public void actionPerformed(ActionEvent arg0) {
- super.actionPerformed(arg0);
+ if (arg0.getSource() == editCaptionInHtmlBtn) {
+ editTextFieldInHtmlEditor(captionTextField);
+ }
- if (arg0.getSource() == editQuestionInHtmlBtn) {
- editTextFieldInHtmlEditor(questionTextField);
- }
+ if (arg0.getSource() == editAnswerVariantInHtmlEditor) {
+ int selectedRow = partsTable.getSelectedRow();
- if (arg0.getSource() == editCaptionInHtmlBtn) {
- editTextFieldInHtmlEditor(captionTextField);
- }
+ if (selectedRow < 0) {
+ return;
+ }
- if (arg0.getSource() == editAnswerVariantInHtmlEditor) {
- int selectedRow = partsTable.getSelectedRow();
+ stopCellEditing();
+ String text = partsTable.getModel().getValueAt(selectedRow, 1)
+ .toString();
- if (selectedRow < 0) {
- return;
- }
+ currentAnswerVariant.setText(text);
- String text = partsTable.getModel().getValueAt(selectedRow, 1)
- .toString();
+ editTextFieldInHtmlEditor(currentAnswerVariant);
+ }
- currentAnswerVariant.setText(text);
+ if (arg0.getSource() == insertAnswerVariantBtn) {
+ int selectedRow = partsTable.getSelectedRow();
- editTextFieldInHtmlEditor(currentAnswerVariant);
- }
+ if (selectedRow < 0) {
+ return;
+ }
- if (arg0.getSource() == insertAnswerVariantBtn) {
- int selectedRow = partsTable.getSelectedRow();
+ stopCellEditing();
+ compileQTableDataModel.insertRow(selectedRow);
+ partsTable.getSelectionModel().setSelectionInterval(
+ selectedRow + 1, selectedRow + 1);
+ }
- if (selectedRow < 0) {
- return;
- }
+ if (arg0.getSource() == deleteAnswerVariantBtn) {
+ int selectedRow = partsTable.getSelectedRow();
- simpleQuestionAnswersDataModel.insertRow(selectedRow);
- partsTable.getSelectionModel().setSelectionInterval(selectedRow + 1, selectedRow + 1);
- }
+ if (selectedRow < 0) {
+ return;
+ }
- if (arg0.getSource() == deleteAnswerVariantBtn) {
- int selectedRow = partsTable.getSelectedRow();
+ stopCellEditing();
+ compileQTableDataModel.deleteRow(selectedRow);
- if (selectedRow < 0) {
- return;
- }
+ if (selectedRow >= compileQTableDataModel.getRowCount()) {
+ selectedRow--;
+ }
- simpleQuestionAnswersDataModel.deleteRow(selectedRow);
-
- if (selectedRow >= simpleQuestionAnswersDataModel.getRowCount()){
- selectedRow--;
- }
-
- partsTable.getSelectionModel().setSelectionInterval(selectedRow,
- selectedRow);
- }
- if (arg0.getSource() == moveUpAnswerVariantBtn) {
- int selectedRow = partsTable.getSelectedRow();
+ partsTable.getSelectionModel().setSelectionInterval(selectedRow,
+ selectedRow);
+ }
+ if (arg0.getSource() == moveUpAnswerVariantBtn) {
+ int selectedRow = partsTable.getSelectedRow();
- if (selectedRow < 0) {
- return;
- }
+ if (selectedRow < 0) {
+ return;
+ }
- if (simpleQuestionAnswersDataModel.moveUp(selectedRow)){
- partsTable.getSelectionModel().setSelectionInterval(selectedRow - 1, selectedRow - 1);
- }
- }
+ stopCellEditing();
+ if (compileQTableDataModel.moveUp(selectedRow)) {
+ partsTable.getSelectionModel().setSelectionInterval(
+ selectedRow - 1, selectedRow - 1);
+ }
+ }
- if (arg0.getSource() == moveDownAnswerVariantBtn) {
- int selectedRow = partsTable.getSelectedRow();
+ if (arg0.getSource() == moveDownAnswerVariantBtn) {
+ int selectedRow = partsTable.getSelectedRow();
- if (selectedRow < 0) {
- return;
- }
+ if (selectedRow < 0) {
+ return;
+ }
- if (simpleQuestionAnswersDataModel.moveDown(selectedRow)){
- partsTable.getSelectionModel().setSelectionInterval(selectedRow + 1, selectedRow+1);
- }
+ stopCellEditing();
+ if (compileQTableDataModel.moveDown(selectedRow)) {
+ partsTable.getSelectionModel().setSelectionInterval(
+ selectedRow + 1, selectedRow + 1);
+ }
+ }
+ }
+
+ public boolean stopCellEditing() {
+ try {
+ int column = partsTable.getEditingColumn();
+ if (column > -1) {
+ TableCellEditor cellEditor = partsTable.getColumnModel()
+ .getColumn(column).getCellEditor();
+ if (cellEditor == null) {
+ cellEditor = partsTable.getDefaultEditor(partsTable
+ .getColumnClass(column));
}
+
+ if (cellEditor != null) {
+ cellEditor.stopCellEditing();
+ }
+ }
+ } catch (Exception e) {
+ return false;
}
+ return true;
+ }
- @Override
- protected void fillFields() {
- CompileQPropertiestsDlg dlg = (CompileQPropertiestsDlg) obj;
- dlg.titleTextField.setText(manifestItem.getTitle());
+ @Override
+ protected void fillFields() {
+ CompileQPropertiestsDlg dlg = (CompileQPropertiestsDlg) obj;
+ dlg.titleTextField.setText(manifestItem.getTitle());
- CompileQModel itemModel = new CompileQModel();
+ CompileQModel itemModel = new CompileQModel();
-// dlg.captionTextField.setText(itemModel.getData(manifestItem)
-// .getCaption());
- dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText()
- .equals(dlg.captionTextField.getText()));
+ // dlg.captionTextField.setText(itemModel.getData(manifestItem)
+ // .getCaption());
+ dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText()
+ .equals(dlg.captionTextField.getText()));
- dlg.simpleQuestionAnswersDataModel = itemModel.getData(manifestItem)
- .getParts();
-
- dlg.partsTable.setModel(dlg.simpleQuestionAnswersDataModel);
+ dlg.compileQTableDataModel = itemModel.getData(manifestItem).getParts();
- partsTable.getColumnModel().getColumn(1).setCellEditor(new MultiLineTableCellEditor());
- partsTable.getColumnModel().getColumn(2).setCellEditor(new PartAttributesCellEditor());
+ dlg.partsTable.setModel(dlg.compileQTableDataModel);
- DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.partsTable
- .getColumnModel();
- columnModel.getColumn(0).setPreferredWidth(1);
- columnModel.getColumn(1).setPreferredWidth(300);
- columnModel.getColumn(2).setPreferredWidth(1);
+ partsTable.getColumnModel().getColumn(1).setCellEditor(
+ multiLineTableCellEditor);
+ partsTable.getColumnModel().getColumn(2).setCellEditor(
+ partAttributesCellEditor);
- dlg.titleTextField.selectAll();
- }
+ DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.partsTable
+ .getColumnModel();
+ columnModel.getColumn(0).setPreferredWidth(1);
+ columnModel.getColumn(1).setPreferredWidth(300);
+ columnModel.getColumn(2).setPreferredWidth(1);
- @Override
- public void editedHtmlTextWasSet() {
- super.editedHtmlTextWasSet();
+ dlg.titleTextField.selectAll();
+ }
- String text = currentAnswerVariant.getText();
- int selectedRow = partsTable.getSelectedRow();
- partsTable.getModel().setValueAt(text, selectedRow, 1);
- }
+ @Override
+ public void editedHtmlTextWasSet() {
+ super.editedHtmlTextWasSet();
- private void initComponents() {
- setTitle("Propertiests...");
+ String text = currentAnswerVariant.getText();
+ int selectedRow = partsTable.getSelectedRow();
+ partsTable.getModel().setValueAt(text, selectedRow, 1);
+ }
- generalPanel = new javax.swing.JPanel();
- titleLabel = new javax.swing.JLabel();
- titleTextField = new javax.swing.JTextField();
- captionPanel = new javax.swing.JPanel();
- captionTextField = new javax.swing.JTextField();
- sameAsTitleCheckBox = new javax.swing.JCheckBox();
- questionTextField = new javax.swing.JTextField();
- oneAnswerCheckBox = new javax.swing.JCheckBox();
- partsPanel = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
- cancelButton = new javax.swing.JButton("Cancel");
- okButton = new javax.swing.JButton("Ok");
- editCaptionInHtmlBtn = new JButton("...");
- editQuestionInHtmlBtn = new JButton("...");
- editAnswerVariantInHtmlEditor = new JButton("HTML Editor");
- insertAnswerVariantBtn = new JButton("Insert");
- deleteAnswerVariantBtn = new JButton("Delete");
+ private void initComponents() {
+ setTitle("Propertiests...");
- moveDownAnswerVariantBtn = new JButton("Down");
- moveUpAnswerVariantBtn = new JButton("Up");
+ generalPanel = new javax.swing.JPanel();
+ titleLabel = new javax.swing.JLabel();
+ titleTextField = new javax.swing.JTextField();
+ captionPanel = new javax.swing.JPanel();
+ captionTextField = new javax.swing.JTextField();
+ sameAsTitleCheckBox = new javax.swing.JCheckBox();
+ questionTextField = new javax.swing.JTextField();
+ oneAnswerCheckBox = new javax.swing.JCheckBox();
+ partsPanel = new javax.swing.JPanel();
+ jScrollPane1 = new javax.swing.JScrollPane();
+ cancelButton = new javax.swing.JButton("Cancel");
+ okButton = new javax.swing.JButton("Ok");
+ editCaptionInHtmlBtn = new JButton("...");
+ editQuestionInHtmlBtn = new JButton("...");
+ editAnswerVariantInHtmlEditor = new JButton("HTML Editor");
+ insertAnswerVariantBtn = new JButton("Insert");
+ deleteAnswerVariantBtn = new JButton("Delete");
- insertAnswerVariantBtn.addActionListener(this);
- deleteAnswerVariantBtn.addActionListener(this);
- moveDownAnswerVariantBtn.addActionListener(this);
- moveUpAnswerVariantBtn.addActionListener(this);
+ moveDownAnswerVariantBtn = new JButton("Down");
+ moveUpAnswerVariantBtn = new JButton("Up");
- currentAnswerVariant = new javax.swing.JTextField();
- captionTextField.addActionListener(this);
+ insertAnswerVariantBtn.addActionListener(this);
+ deleteAnswerVariantBtn.addActionListener(this);
+ moveDownAnswerVariantBtn.addActionListener(this);
+ moveUpAnswerVariantBtn.addActionListener(this);
- cancelButton.addActionListener(this);
- okButton.addActionListener(this);
- sameAsTitleCheckBox.addChangeListener(this);
- oneAnswerCheckBox.addChangeListener(this);
- editCaptionInHtmlBtn.addActionListener(this);
- editQuestionInHtmlBtn.addActionListener(this);
- editAnswerVariantInHtmlEditor.addActionListener(this);
+ currentAnswerVariant = new javax.swing.JTextField();
+ captionTextField.addActionListener(this);
- partsTable = new PartsTable();
+ cancelButton.addActionListener(this);
+ okButton.addActionListener(this);
+ sameAsTitleCheckBox.addChangeListener(this);
+ oneAnswerCheckBox.addChangeListener(this);
+ editCaptionInHtmlBtn.addActionListener(this);
+ editQuestionInHtmlBtn.addActionListener(this);
+ editAnswerVariantInHtmlEditor.addActionListener(this);
- setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
+ partsTable = new PartsTable();
- generalPanel.setBorder(javax.swing.BorderFactory
- .createTitledBorder("General"));
- titleLabel.setText("Title");
+ setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(
- generalPanel);
- generalPanel.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel1Layout.createSequentialGroup().addContainerGap()
- .addComponent(titleLabel)).addGroup(
- jPanel1Layout.createSequentialGroup().addContainerGap()
- .addComponent(titleTextField,
- javax.swing.GroupLayout.DEFAULT_SIZE, 364,
- Short.MAX_VALUE).addContainerGap()));
- jPanel1Layout
- .setVerticalGroup(jPanel1Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(
- jPanel1Layout
- .createSequentialGroup()
- .addComponent(titleLabel)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- Short.MAX_VALUE)
- .addComponent(
- titleTextField,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap()));
+ generalPanel.setBorder(javax.swing.BorderFactory
+ .createTitledBorder("General"));
+ titleLabel.setText("Title");
- captionPanel.setBorder(javax.swing.BorderFactory
- .createTitledBorder("Caption"));
- sameAsTitleCheckBox.setText("Some as the title");
+ javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(
+ generalPanel);
+ generalPanel.setLayout(jPanel1Layout);
+ jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING).addGroup(
+ jPanel1Layout.createSequentialGroup().addContainerGap()
+ .addComponent(titleLabel)).addGroup(
+ jPanel1Layout.createSequentialGroup().addContainerGap()
+ .addComponent(titleTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE, 364,
+ Short.MAX_VALUE).addContainerGap()));
+ jPanel1Layout
+ .setVerticalGroup(jPanel1Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ jPanel1Layout
+ .createSequentialGroup()
+ .addComponent(titleLabel)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ Short.MAX_VALUE)
+ .addComponent(
+ titleTextField,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()));
- javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(
- captionPanel);
- captionPanel.setLayout(jPanel2Layout);
- jPanel2Layout
- .setHorizontalGroup(jPanel2Layout
- .createParallelGroup(
+ captionPanel.setBorder(javax.swing.BorderFactory
+ .createTitledBorder("Caption"));
+ sameAsTitleCheckBox.setText("Some as the title");
+
+ javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(
+ captionPanel);
+ captionPanel.setLayout(jPanel2Layout);
+ jPanel2Layout
+ .setHorizontalGroup(jPanel2Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ jPanel2Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addGroup(
+ jPanel2Layout
+ .createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(
- jPanel2Layout
- .createSequentialGroup()
- .addContainerGap()
- .addGroup(
- jPanel2Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(
- sameAsTitleCheckBox))
- .addContainerGap(283, Short.MAX_VALUE))
- .addGroup(
- javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel2Layout
- .createSequentialGroup()
- .addContainerGap()
- .addComponent(
- captionTextField,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- 370, Short.MAX_VALUE)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(
- editCaptionInHtmlBtn,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- 30,
- javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap()));
- jPanel2Layout
- .setVerticalGroup(jPanel2Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(
- jPanel2Layout
- .createSequentialGroup()
- .addComponent(sameAsTitleCheckBox)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(
- jPanel2Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(
- editCaptionInHtmlBtn,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- 20,
- javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(
- captionTextField,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap()));
+ .addComponent(
+ sameAsTitleCheckBox))
+ .addContainerGap(283, Short.MAX_VALUE))
+ .addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel2Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(
+ captionTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 370, Short.MAX_VALUE)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(
+ editCaptionInHtmlBtn,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ 30,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()));
+ jPanel2Layout
+ .setVerticalGroup(jPanel2Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ jPanel2Layout
+ .createSequentialGroup()
+ .addComponent(sameAsTitleCheckBox)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(
+ jPanel2Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(
+ editCaptionInHtmlBtn,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ 20,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(
+ captionTextField,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addContainerGap()));
- oneAnswerCheckBox.setText("Only one correct answer");
+ oneAnswerCheckBox.setText("Only one correct answer");
- partsPanel.setBorder(javax.swing.BorderFactory
- .createTitledBorder("Variants of answer"));
+ partsPanel.setBorder(javax.swing.BorderFactory
+ .createTitledBorder("Variants of answer"));
- jScrollPane1.setViewportView(partsTable);
+ jScrollPane1.setViewportView(partsTable);
- javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(
- partsPanel);
- partsPanel.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.TRAILING).addGroup(
- jPanel4Layout.createSequentialGroup()
- .addComponent(moveUpAnswerVariantBtn)
+ javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(
+ partsPanel);
+ partsPanel.setLayout(jPanel4Layout);
+ jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING).addGroup(
+ jPanel4Layout.createSequentialGroup().addComponent(
+ moveUpAnswerVariantBtn).addContainerGap(10, 10)
+ .addComponent(moveDownAnswerVariantBtn)
+ .addContainerGap(10, 10).addComponent(
+ insertAnswerVariantBtn).addContainerGap(10, 10)
+ .addComponent(deleteAnswerVariantBtn).addContainerGap(
+ 10, 10).addComponent(
+ editAnswerVariantInHtmlEditor)
+ .addContainerGap()).addGroup(
+ jPanel4Layout.createSequentialGroup().addContainerGap()
+ .addComponent(jScrollPane1,
+ javax.swing.GroupLayout.DEFAULT_SIZE, 364,
+ Short.MAX_VALUE).addContainerGap()));
+
+ jPanel4Layout
+ .setVerticalGroup(jPanel4Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ jPanel4Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(
+ jScrollPane1,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 111, Short.MAX_VALUE)
.addContainerGap(10, 10)
- .addComponent(moveDownAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(insertAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(deleteAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(
- editAnswerVariantInHtmlEditor)
- .addContainerGap()).addGroup(
- jPanel4Layout.createSequentialGroup().addContainerGap()
- .addComponent(jScrollPane1,
- javax.swing.GroupLayout.DEFAULT_SIZE, 364,
- Short.MAX_VALUE).addContainerGap()));
+ .addGroup(
+ jPanel4Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(
+ moveUpAnswerVariantBtn,
+ 20, 20, 20)
+ .addComponent(
+ moveDownAnswerVariantBtn,
+ 20, 20, 20)
+ .addComponent(
+ insertAnswerVariantBtn,
+ 20, 20, 20)
+ .addComponent(
+ deleteAnswerVariantBtn,
+ 20, 20, 20)
+ .addComponent(
+ editAnswerVariantInHtmlEditor,
+ 20, 20, 20))
+ .addContainerGap()));
- jPanel4Layout
- .setVerticalGroup(jPanel4Layout
- .createParallelGroup(
+ 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()
+ .addGroup(
+ layout
+ .createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(
- jPanel4Layout
- .createSequentialGroup()
- .addContainerGap()
- .addComponent(
- jScrollPane1,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- 111, Short.MAX_VALUE)
- .addContainerGap(10, 10)
- .addGroup(
- jPanel4Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(
- moveUpAnswerVariantBtn,
- 20, 20, 20)
- .addComponent(
- moveDownAnswerVariantBtn,
- 20, 20, 20)
- .addComponent(
- insertAnswerVariantBtn,
- 20, 20, 20)
- .addComponent(
- deleteAnswerVariantBtn,
- 20, 20, 20)
- .addComponent(
- editAnswerVariantInHtmlEditor,
- 20, 20, 20))
- .addContainerGap()));
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
- getContentPane());
- getContentPane().setLayout(layout);
- layout
- .setHorizontalGroup(layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(
+ .addComponent(
+ partsPanel,
+ 600, 600,
+ Short.MAX_VALUE)
+ .addComponent(
+ captionPanel,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ Short.MAX_VALUE)
+ .addComponent(
+ generalPanel,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ Short.MAX_VALUE)
+ .addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
layout
- .createSequentialGroup()
- .addContainerGap()
- .addGroup(
- layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(
- partsPanel,
- 600,
- 600,
- Short.MAX_VALUE)
- .addComponent(
- captionPanel,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- Short.MAX_VALUE)
- .addComponent(
- generalPanel,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- Short.MAX_VALUE)
- .addGroup(
- javax.swing.GroupLayout.Alignment.TRAILING,
- layout
- .createSequentialGroup()
- .addComponent(
- okButton)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(
- cancelButton)))
- .addContainerGap()));
- layout
- .setVerticalGroup(layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(
- layout
- .createSequentialGroup()
- .addContainerGap()
- .addComponent(
- generalPanel,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(
- captionPanel,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(
- partsPanel,
- 300,
- 300,
- 300)
- .addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(
- layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(
- cancelButton,
- 20, 20, 20)
- .addComponent(okButton,
- 20, 20, 20))
- .addContainerGap(
- javax.swing.GroupLayout.DEFAULT_SIZE,
- Short.MAX_VALUE)));
+ .createSequentialGroup()
+ .addComponent(
+ okButton)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(
+ cancelButton)))
+ .addContainerGap()));
+ layout
+ .setVerticalGroup(layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(
+ generalPanel,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(
+ captionPanel,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(partsPanel, 300, 300, 300)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(
+ layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(
+ cancelButton,
+ 20, 20, 20)
+ .addComponent(okButton,
+ 20, 20, 20))
+ .addContainerGap(
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ Short.MAX_VALUE)));
- this.getRootPane().setDefaultButton(okButton);
+ this.getRootPane().setDefaultButton(okButton);
- pack();
- }
+ pack();
+ }
- @Override
- protected void saveChanges() {
- CompileQModel itemModel = new CompileQModel();
-
- manifestItem.setTitle(titleTextField.getText());
+ @Override
+ protected void saveChanges() {
+ stopCellEditing();
+ CompileQModel itemModel = new CompileQModel();
- CompileQData data = itemModel.getData(manifestItem);
+ manifestItem.setTitle(titleTextField.getText());
- if (sameAsTitleCheckBox.isSelected()) {
- data.setCaption(titleTextField.getText());
- } else {
- data.setCaption(captionTextField.getText());
- }
+ CompileQData data = itemModel.getData(manifestItem);
- data.setParts(simpleQuestionAnswersDataModel);
-
- itemModel.updateItemResource(manifestItem, true);
+ if (sameAsTitleCheckBox.isSelected()) {
+ data.setCaption(titleTextField.getText());
+ } else {
+ data.setCaption(captionTextField.getText());
}
- @Override
- public void stateChanged(ChangeEvent e) {
- if (e.getSource() == sameAsTitleCheckBox) {
- if (sameAsTitleCheckBox.isSelected()
- && captionTextField.isEnabled()) {
- captionTextField.setText(titleTextField.getText());
- }
- captionTextField.setEnabled(!sameAsTitleCheckBox.isSelected());
- }
+ data.setParts(compileQTableDataModel);
+
+ itemModel.updateItemResource(manifestItem, true);
+ }
+
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ if (e.getSource() == sameAsTitleCheckBox) {
+ if (sameAsTitleCheckBox.isSelected()
+ && captionTextField.isEnabled()) {
+ captionTextField.setText(titleTextField.getText());
+ }
+ captionTextField.setEnabled(!sameAsTitleCheckBox.isSelected());
}
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-18 11:46:28 UTC (rev 141)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-18 13:47:32 UTC (rev 142)
@@ -1,8 +1,6 @@
package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ;
import java.awt.Component;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
import javax.swing.AbstractCellEditor;
import javax.swing.BorderFactory;
@@ -12,22 +10,10 @@
import javax.swing.table.TableCellEditor;
public class MultiLineTableCellEditor extends AbstractCellEditor implements
- TableCellEditor, KeyListener {
- @Override
- public void keyPressed(KeyEvent e) {
- }
+ TableCellEditor {
- @Override
- public void keyReleased(KeyEvent e) {
- }
-
- @Override
- public void keyTyped(KeyEvent e) {
-
-// cellSizeUpdate(false);
- }
-
protected int tableRow;
+ protected int tableCol;
protected JTable table;
private void cellSizeUpdate(boolean fullUpdate) {
@@ -59,12 +45,10 @@
myEditor.setWrapStyleWord(true);
myEditor.setLineWrap(true);
myEditor.setOpaque(true);
- myEditor.addKeyListener(this);
myScrollPane = new JScrollPane(myEditor);
myScrollPane.setBorder(BorderFactory.createEmptyBorder());
- myScrollPane
- .setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+ myScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
myScrollPane.getVerticalScrollBar().setFocusable(false);
myScrollPane.getHorizontalScrollBar().setFocusable(false);
}
@@ -73,6 +57,7 @@
boolean isSelected, int row, int column) {
this.table = table;
this.tableRow = row;
+ this.tableCol = column;
myEditor.setBackground(isSelected ? table.getSelectionBackground()
: table.getBackground());
@@ -91,4 +76,12 @@
public Object getCellEditorValue() {
return myEditor.getText();
}
+
+ public int getTableRow() {
+ return tableRow;
+ }
+
+ public int getTableCol() {
+ return tableCol;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|