minor tweaks

This commit is contained in:
Manindra Moharana
2013-08-18 12:20:24 +05:30
parent 3f7efd4da5
commit a6af2cf54a
3 changed files with 45 additions and 31 deletions

View File

@@ -982,6 +982,7 @@ public class ASTGenerator {
}
private void showPredictions(final String word) {
if(sketchOutline.isVisible()) return;
Collections.sort(candidates);
CompletionCandidate[][] candi = new CompletionCandidate[candidates.size()][1];
DefaultListModel defListModel = new DefaultListModel();
@@ -2069,10 +2070,10 @@ public class ASTGenerator {
}
}
protected SketchOutline sko;
protected SketchOutline sketchOutline;
protected void showSketchOutline(){
sko = new SketchOutline(codeTree, errorCheckerService);
sko.show();
sketchOutline = new SketchOutline(codeTree, errorCheckerService);
sketchOutline.show();
}
public int javaCodeOffsetToLineStartOffset(int line, int jOffset){

View File

@@ -1,6 +1,7 @@
package processing.mode.experimental;
import static processing.mode.experimental.ExperimentalMode.log;
import static processing.mode.experimental.ExperimentalMode.logE;
import java.awt.EventQueue;
import java.io.File;
@@ -881,6 +882,7 @@ public class ErrorCheckerService implements Runnable{
}
public String getPDECodeAtLine(int tab, int linenumber){
if(linenumber < 0) return null;
editor.getSketch().setCurrentCode(tab);
return editor.ta.getLineText(linenumber);
}
@@ -1116,16 +1118,16 @@ public class ErrorCheckerService implements Runnable{
* @return true - if highlighting happened correctly.
*/
public boolean highlightNode(ASTNodeWrapper awrap){
int pdeoffsets[] = awrap.getPDECodeOffsets(this);
int javaoffsets[] = awrap.getJavaCodeOffsets(this);
try {
int pdeoffsets[] = awrap.getPDECodeOffsets(this);
int javaoffsets[] = awrap.getJavaCodeOffsets(this);
scrollToErrorLine(editor, pdeoffsets[0],
pdeoffsets[1],javaoffsets[1],
javaoffsets[2]);
return true;
} catch (Exception e) {
e.printStackTrace();
logE("Scrolling failed for " + awrap);
// e.printStackTrace();
}
return false;
}

View File

@@ -126,17 +126,20 @@ public class SketchOutline {
return;
internalSelection = true;
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {
close();
}
else if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
if (soTree.getLastSelectedPathComponent() != null) {
DefaultMutableTreeNode tnode = (DefaultMutableTreeNode) soTree
.getLastSelectedPathComponent();
if (tnode.getUserObject() instanceof ASTNodeWrapper) {
ASTNodeWrapper awrap = (ASTNodeWrapper) tnode.getUserObject();
errorCheckerService.highlightNode(awrap);
close();
}
}
return;
}
else if (evt.getKeyCode() == KeyEvent.VK_UP) {
if (soTree.getLastSelectedPathComponent() == null) {
@@ -155,7 +158,6 @@ public class SketchOutline {
.getValue() - step));
}
soTree.setSelectionRow(x);
return;
}
else if (evt.getKeyCode() == KeyEvent.VK_DOWN) {
if (soTree.getLastSelectedPathComponent() == null) {
@@ -174,28 +176,28 @@ public class SketchOutline {
.getValue() + step));
}
soTree.setSelectionRow(x);
return;
}
SwingWorker worker = new SwingWorker() {
protected Object doInBackground() throws Exception {
return null;
}
protected void done() {
String text = searchField.getText().toLowerCase();
tempNode = new DefaultMutableTreeNode();
filterTree(text, tempNode, soNode);
soTree.setModel(new DefaultTreeModel(tempNode));
((DefaultTreeModel) soTree.getModel()).reload();
for (int i = 0; i < soTree.getRowCount(); i++) {
soTree.expandRow(i);
else {
SwingWorker worker = new SwingWorker() {
protected Object doInBackground() throws Exception {
return null;
}
internalSelection = true;
soTree.setSelectionRow(0);
}
};
worker.execute();
protected void done() {
String text = searchField.getText().toLowerCase();
tempNode = new DefaultMutableTreeNode();
filterTree(text, tempNode, soNode);
soTree.setModel(new DefaultTreeModel(tempNode));
((DefaultTreeModel) soTree.getModel()).reload();
for (int i = 0; i < soTree.getRowCount(); i++) {
soTree.expandRow(i);
}
internalSelection = true;
soTree.setSelectionRow(0);
}
};
worker.execute();
}
}
});
@@ -316,6 +318,15 @@ public class SketchOutline {
frmOutlineView.setVisible(true);
}
public void close(){
frmOutlineView.setVisible(false);
frmOutlineView.dispose();
}
public boolean isVisible(){
return frmOutlineView.isVisible();
}
protected class CustomCellRenderer extends DefaultTreeCellRenderer {
// ImageIcon icons[];