[Jreepad-CVS] jreepad/src/jreepad JreepadPrefs.java, 1.22, 1.23 JreepadView.java, 1.37, 1.38
Brought to you by:
danstowell
From: PeWu <pe...@us...> - 2007-02-06 18:33:20
|
Update of /cvsroot/jreepad/jreepad/src/jreepad In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv341/src/jreepad Modified Files: JreepadPrefs.java JreepadView.java Log Message: refactoring: refactored TableViewer from JreepadView Index: JreepadView.java =================================================================== RCS file: /cvsroot/jreepad/jreepad/src/jreepad/JreepadView.java,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** JreepadView.java 6 Feb 2007 11:10:11 -0000 1.37 --- JreepadView.java 6 Feb 2007 18:33:09 -0000 1.38 *************** *** 20,27 **** package jreepad; - import java.awt.Color; - import java.awt.Dimension; - import java.awt.event.ComponentEvent; - import java.awt.event.ComponentListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; --- 20,23 ---- *************** *** 39,53 **** import javax.swing.JScrollPane; import javax.swing.JSplitPane; - import javax.swing.JTable; import javax.swing.JTree; - import javax.swing.event.ChangeEvent; - import javax.swing.event.ChangeListener; - import javax.swing.event.TableModelEvent; - import javax.swing.event.TableModelListener; import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; - import javax.swing.table.DefaultTableModel; import javax.swing.text.BadLocationException; import javax.swing.tree.TreePath; --- 35,43 ---- *************** *** 56,59 **** --- 46,50 ---- import jreepad.editor.HtmlViewer; import jreepad.editor.PlainTextEditor; + import jreepad.editor.TableViewer; import jreepad.editor.TextileViewer; import edu.stanford.ejalbert.BrowserLauncher; *************** *** 62,66 **** import edu.stanford.ejalbert.exception.UnsupportedOperatingSystemException; ! public class JreepadView extends Box implements TableModelListener { --- 53,57 ---- import edu.stanford.ejalbert.exception.UnsupportedOperatingSystemException; ! public class JreepadView extends Box { *************** *** 80,84 **** private HtmlViewer editorPaneHtml; private TextileViewer editorPaneTextile; ! private JTable editorPaneCsv; private JComponent currentArticleView; --- 71,75 ---- private HtmlViewer editorPaneHtml; private TextileViewer editorPaneTextile; ! private TableViewer editorPaneCsv; private JComponent currentArticleView; *************** *** 175,180 **** editorPaneHtml = new HtmlViewer(root.getArticle()); editorPaneTextile = new TextileViewer(root.getArticle()); ! editorPaneCsv = new JTable(new ArticleTableModel()); ! editorPaneCsv.getModel().addTableModelListener(this); articleView = new JScrollPane(getEditorPaneComponent(), JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); --- 166,170 ---- editorPaneHtml = new HtmlViewer(root.getArticle()); editorPaneTextile = new TextileViewer(root.getArticle()); ! editorPaneCsv = new TableViewer(root.getArticle()); articleView = new JScrollPane(getEditorPaneComponent(), JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); *************** *** 638,646 **** { case JreepadArticle.ARTICLEMODE_CSV: ! int x = editorPaneCsv.getSelectedColumn(); ! int y = editorPaneCsv.getSelectedRow(); ! if(x==-1 || y ==-1) ! return ""; ! return editorPaneCsv.getValueAt(y,x).toString(); case JreepadArticle.ARTICLEMODE_HTML: return editorPaneHtml.getSelectedText(); --- 628,632 ---- { case JreepadArticle.ARTICLEMODE_CSV: ! return editorPaneCsv.getSelectedText(); case JreepadArticle.ARTICLEMODE_HTML: return editorPaneHtml.getSelectedText(); *************** *** 1062,1065 **** --- 1048,1052 ---- editorPaneHtml.reloadArticle(); editorPaneTextile.reloadArticle(); + editorPaneCsv.reloadArticle(); setWarnAboutUnsaved(true); } *************** *** 1071,1074 **** --- 1058,1062 ---- editorPaneHtml.reloadArticle(); editorPaneTextile.reloadArticle(); + editorPaneCsv.reloadArticle(); setWarnAboutUnsaved(true); } *************** *** 1096,1100 **** break; case JreepadArticle.ARTICLEMODE_CSV: ! articleToJTable(currentNode.getArticle()); break; default: --- 1084,1088 ---- break; case JreepadArticle.ARTICLEMODE_CSV: ! editorPaneCsv.reloadArticle(); break; default: *************** *** 1112,1149 **** } - public void articleToJTable() - { - String[][] rowData = currentNode.getArticle().interpretContentAsCsv(); - String[] columnNames = null; - - // System.out.println("articleToJTable(): rows=" + rowData.length + ", cols="+rowData[0].length); - initJTable(rowData, columnNames); - } - public void articleToJTable(JreepadArticle a) - { - String[][] rowData = a.interpretContentAsCsv(); - String[] columnNames = new String[rowData[0].length]; - for(int i=0; i<columnNames.length; i++) - columnNames[i] = " "; - - // System.out.println("articleToJTable(s): rows=" + rowData.length + ", cols="+rowData[0].length); - initJTable(rowData, columnNames); - } - - private void initJTable(String[][] rowData, String[] columnNames) - { - editorPaneCsv = new JTable(new ArticleTableModel(rowData, columnNames)); - // editorPaneCsv = new JTable(new ArticleTableModel(rowData, columnNames), - // (getCurrentNode().tblColModel==null ? new ArticleTableColumnModel(): getCurrentNode().tblColModel)); - // editorPaneCsv = new JTable(rowData, columnNames); - // editorPaneCsv.setModel(new ArticleTableModel()); - editorPaneCsv.getModel().addTableModelListener(this); - editorPaneCsv.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); - editorPaneCsv.setGridColor(Color.GRAY); - editorPaneCsv.setShowGrid(true); - editorPaneCsv.setShowVerticalLines(true); - editorPaneCsv.setShowHorizontalLines(true); - } - // The following functions allow us to use either a JEditorPane or a JTable to display article data JComponent getEditorPaneComponent() --- 1100,1103 ---- *************** *** 1187,1191 **** return editorPaneTextile.getText(); case JreepadArticle.ARTICLEMODE_CSV: ! return jTableContentToCsv(); default: System.err.println("getEditorPaneText() says: JreepadNode.getArticleMode() returned an unrecognised value"); --- 1141,1145 ---- return editorPaneTextile.getText(); case JreepadArticle.ARTICLEMODE_CSV: ! return editorPaneCsv.getText(); default: System.err.println("getEditorPaneText() says: JreepadNode.getArticleMode() returned an unrecognised value"); *************** *** 1198,1203 **** editorPaneHtml.setArticle(a); editorPaneTextile.setArticle(a); ! if (a.getArticleMode() == JreepadArticle.ARTICLEMODE_CSV) ! articleToJTable(a); } // End of: functions which should allow us to switch between JEditorPane and JTable --- 1152,1156 ---- editorPaneHtml.setArticle(a); editorPaneTextile.setArticle(a); ! editorPaneCsv.setArticle(a); } // End of: functions which should allow us to switch between JEditorPane and JTable *************** *** 1209,1235 **** } - public String jTableContentToCsv() - { - int w = editorPaneCsv.getColumnCount(); - int h = editorPaneCsv.getRowCount(); - StringBuffer csv = new StringBuffer(); - String quoteMark = getPrefs().addQuotesToCsvOutput ? "\"" : ""; - for(int i=0; i<h; i++) - { - for(int j=0; j<(w-1); j++) - csv.append(quoteMark + (String)editorPaneCsv.getValueAt(i,j) + quoteMark + ","); - csv.append(quoteMark + (String)editorPaneCsv.getValueAt(i,w-1) + quoteMark + "\n"); - } - return csv.toString(); - } - - // Called by the TableModelListener interface - public void tableChanged(TableModelEvent e) - { - // System.out.println(" -- tableChanged() -- "); - if(currentNode.getArticle().getArticleMode() == JreepadArticle.ARTICLEMODE_CSV) - currentNode.getArticle().setContent(jTableContentToCsv()); - } - class JreepadTreeModelListener implements TreeModelListener { --- 1162,1165 ---- *************** *** 1268,1285 **** } } // End of: class JreepadTreeModelListener ! ! ! class ArticleTableModel extends DefaultTableModel { ! public ArticleTableModel(Object[][] data, Object[] columnNames){ ! super(data, columnNames); ! } ! public ArticleTableModel(){ ! super(); ! } ! ! public boolean isCellEditable(int row, int col) { ! return false; ! } ! } // End of: class ArticleTableModel ! ! } \ No newline at end of file --- 1198,1200 ---- } } // End of: class JreepadTreeModelListener ! } Index: JreepadPrefs.java =================================================================== RCS file: /cvsroot/jreepad/jreepad/src/jreepad/JreepadPrefs.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** JreepadPrefs.java 5 Feb 2007 10:56:43 -0000 1.22 --- JreepadPrefs.java 6 Feb 2007 18:33:09 -0000 1.23 *************** *** 119,123 **** boolean autoDetectHtmlArticles; ! boolean addQuotesToCsvOutput; static final int FILETYPE_XML = 0; --- 119,123 ---- boolean autoDetectHtmlArticles; ! public boolean addQuotesToCsvOutput; static final int FILETYPE_XML = 0; |