mirror of
https://github.com/processing/processing4.git
synced 2026-02-12 10:00:42 +01:00
minor tweaks
This commit is contained in:
@@ -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){
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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[];
|
||||
|
||||
Reference in New Issue
Block a user