|
From: Márcio V. d. S. <mv...@us...> - 2007-11-02 01:21:39
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/autocomplete In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16327/src/java/net/sf/tails/swing/frame/autocomplete Modified Files: AutoCompleteFrame.java Added Files: CodeSnippetFrame.java AutoCompleteRenderer.java Removed Files: ColorCellRenderer.java Log Message: --- NEW FILE: AutoCompleteRenderer.java --- package net.sf.tails.swing.frame.autocomplete; import java.awt.Color; import java.awt.Component; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; public class AutoCompleteRenderer extends DefaultTableCellRenderer { /** * */ private static final long serialVersionUID = -5977175180156763334L; private int indicatorsLength; private int strategysLength; private int rubyLength; public AutoCompleteRenderer(int indicatorsLength, int strategysLength, int rubyLength) { super(); this.indicatorsLength = 4; this.strategysLength = 9; this.rubyLength = 10; this.indicatorsLength = indicatorsLength; this.strategysLength = strategysLength; this.rubyLength = rubyLength; } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (row <= indicatorsLength ) { this.setForeground(new Color(3964139)); } else if (row <= indicatorsLength + strategysLength + 1) { this.setForeground(new Color(205, 0, 0)); }else if (row <= indicatorsLength + strategysLength + rubyLength + 2){ this.setForeground(Color.black); } return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } } --- NEW FILE: CodeSnippetFrame.java --- package net.sf.tails.swing.frame.autocomplete; import java.awt.Color; import java.awt.Font; import java.awt.Point; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Collection; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Map; import javax.swing.GroupLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.text.BadLocationException; import net.sf.tails.dsl.CodeSnippetLoader; import org.gjt.sp.jedit.syntax.JEditTextArea; /* * NovoJFrame.java * * Created on 10 de Outubro de 2007, 14:08 */ /** * * @author Marcio */ public class CodeSnippetFrame extends JFrame { private static Map<String, String> snippets; private JEditTextArea jTextArea; private static final long serialVersionUID = 8339682604292292370L; private JScrollPane jScrollPane1; private JTable jTable1; private String lastWord; static{ snippets = new CodeSnippetLoader().getSnippets(); } public CodeSnippetFrame(JEditTextArea textArea, String lastWord){ this.jTextArea = textArea; this.lastWord = lastWord; initComponents(); Point p = textArea.getLocationOnScreen(); p.translate(textArea.getCaretPosition(), textArea.getCaretLine()); this.setLocation(p); jTable1.setForeground(Color.red); } private List<String> filterData(Collection<String> list, String prefix) { List<String> result = new LinkedList<String>(); for (String word : list) { if(word.startsWith(prefix)) result.add(word); } Collections.sort(result); return result; } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" C�digo Gerado "> private void initComponents() { DefaultTableModel dtm = loadAutoCompleteDataModel(); jTable1 = new JTable(dtm); jScrollPane1 = new JScrollPane(); jScrollPane1.setViewportView(jTable1); jTable1.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent evt) { jScrollPane1MouseClicked(evt); } }); jTable1.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { jScrollPane1KeyPressed(e); } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } }); setUndecorated(true); jTable1.setBackground(new Color(255, 255, 204)); jTable1.setFont(new Font("Tahoma", 1, 11)); jTable1.setGridColor(new Color(255, 255, 204)); jTable1.setSelectionBackground(new Color(212, 208, 200)); jTable1.setTableHeader(null); jScrollPane1.setViewportView(jTable1); GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, GroupLayout.DEFAULT_SIZE, 178, Short.MAX_VALUE) ); pack(); }// </editor-fold> private DefaultTableModel loadAutoCompleteDataModel() { DefaultTableModel dtm = new DefaultTableModel(0,1); dtm.addRow(new Object[]{"SNIPPETS"}); for (String s : filterData(snippets.keySet(),lastWord)) { dtm.addRow(new Object[]{s}); } return dtm; } private void jScrollPane1KeyPressed(KeyEvent evt) { switch (evt.getKeyCode()) { case KeyEvent.VK_ESCAPE: this.dispose(); break; case KeyEvent.VK_ENTER: appendMethod(evt); break; default: break; } } private void jScrollPane1MouseClicked(MouseEvent evt) { appendMethod(evt); } private void appendMethod(InputEvent evt) { JTable jt = (JTable)evt.getSource(); try { String selectedSnippet = snippets.get(jt.getValueAt(jt.getSelectedRow(), jt.getSelectedColumn()).toString()); jTextArea.getDocument().replace(jTextArea.getCaretPosition() - lastWord.length() , lastWord.length() ,selectedSnippet,null ); } catch (BadLocationException e) { e.printStackTrace(); } this.dispose(); } } --- ColorCellRenderer.java DELETED --- Index: AutoCompleteFrame.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/autocomplete/AutoCompleteFrame.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AutoCompleteFrame.java 1 Nov 2007 14:41:11 -0000 1.5 --- AutoCompleteFrame.java 2 Nov 2007 01:21:38 -0000 1.6 *************** *** 63,67 **** ! jTable1.getColumnModel().getColumn(0).setCellRenderer(new ColorCellRenderer(filtredTailIndicatorsKeyWords.size(), filtredTailStrategiesKeyWords.size(), filtredRubyKeyWords.size())); // Color.magenta,2) ); } --- 63,67 ---- ! jTable1.getColumnModel().getColumn(0).setCellRenderer(new AutoCompleteRenderer(filtredTailIndicatorsKeyWords.size(), filtredTailStrategiesKeyWords.size(), filtredRubyKeyWords.size())); // Color.magenta,2) ); } |