diff --git a/app/src/processing/mode/java/JavaEditor.java b/app/src/processing/mode/java/JavaEditor.java index 2bdc199da..aa4b50249 100644 --- a/app/src/processing/mode/java/JavaEditor.java +++ b/app/src/processing/mode/java/JavaEditor.java @@ -48,7 +48,8 @@ public class JavaEditor extends Editor { public JMenu buildFileMenu() { - String appTitle = JavaToolbar.getTitle(JavaToolbar.EXPORT, false); + //String appTitle = JavaToolbar.getTitle(JavaToolbar.EXPORT, false); + String appTitle = Language.text("toolbar.export_application"); JMenuItem exportApplication = Toolkit.newJMenuItem(appTitle, 'E'); exportApplication.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -94,9 +95,7 @@ public class JavaEditor extends Editor { public JMenu buildHelpMenu() { - // To deal with a Mac OS X 10.5 bug, add an extra space after the name - // so that the OS doesn't try to insert its slow help menu. - JMenu menu = new JMenu(Language.text("menu.help")+" "); + JMenu menu = new JMenu(Language.text("menu.help")); JMenuItem item; // macosx already has its own about menu @@ -231,7 +230,7 @@ public class JavaEditor extends Editor { * Handler for Sketch → Export Application */ public void handleExportApplication() { - toolbar.activate(JavaToolbar.EXPORT); +// toolbar.activate(JavaToolbar.EXPORT); if (handleExportCheckModified()) { statusNotice("Exporting application..."); @@ -248,7 +247,7 @@ public class JavaEditor extends Editor { e.printStackTrace(); } } - toolbar.deactivate(JavaToolbar.EXPORT); +// toolbar.deactivate(JavaToolbar.EXPORT); } @@ -759,18 +758,16 @@ public class JavaEditor extends Editor { public void handleSave() { - toolbar.activate(JavaToolbar.SAVE); - //handleStop(); +// toolbar.activate(JavaToolbar.SAVE); super.handleSave(true); - toolbar.deactivate(JavaToolbar.SAVE); +// toolbar.deactivate(JavaToolbar.SAVE); } public boolean handleSaveAs() { - toolbar.activate(JavaToolbar.SAVE); - //handleStop(); +// toolbar.activate(JavaToolbar.SAVE); boolean result = super.handleSaveAs(); - toolbar.deactivate(JavaToolbar.SAVE); +// toolbar.deactivate(JavaToolbar.SAVE); return result; } @@ -826,9 +823,9 @@ public class JavaEditor extends Editor { } - public void deactivateExport() { - toolbar.deactivate(JavaToolbar.EXPORT); - } +// public void deactivateExport() { +// toolbar.deactivate(JavaToolbar.EXPORT); +// } public void internalCloseRunner() { diff --git a/app/src/processing/mode/java/JavaToolbar.java b/app/src/processing/mode/java/JavaToolbar.java index 7cf02a68b..f44c4db0a 100644 --- a/app/src/processing/mode/java/JavaToolbar.java +++ b/app/src/processing/mode/java/JavaToolbar.java @@ -22,7 +22,7 @@ package processing.mode.java; import java.awt.Image; import java.awt.event.MouseEvent; -import javax.swing.JPopupMenu; +//import javax.swing.JPopupMenu; import processing.app.Base; import processing.app.Editor; @@ -31,26 +31,13 @@ import processing.app.Language; public class JavaToolbar extends EditorToolbar { - /** Rollover titles for each button. */ -// static final String title[] = { -// "Run", "Stop", "New", "Open", "Save", "Export" -// }; - - /** Titles for each button when the shift key is pressed. */ -// static final String titleShift[] = { -// "Present", "Stop", "New Editor Window", "Open in Another Window", "Save", "Export to Application" -// }; - static protected final int RUN = 0; static protected final int STOP = 1; - static protected final int NEW = 2; - static protected final int OPEN = 3; - static protected final int SAVE = 4; - static protected final int EXPORT = 5; - -// JPopupMenu popup; -// JMenu menu; +// static protected final int NEW = 2; +// static protected final int OPEN = 3; +// static protected final int SAVE = 4; +// static protected final int EXPORT = 5; public JavaToolbar(Editor editor, Base base) { @@ -60,8 +47,10 @@ public class JavaToolbar extends EditorToolbar { public void init() { Image[][] images = loadImages(); - for (int i = 0; i < 6; i++) { - addButton(getTitle(i, false), getTitle(i, true), images[i], i == NEW); +// for (int i = 0; i < 6; i++) { + for (int i = 0; i < 2; i++) { +// addButton(getTitle(i, false), getTitle(i, true), images[i], i == NEW); + addButton(getTitle(i, false), getTitle(i, true), images[i], false); } } @@ -70,11 +59,10 @@ public class JavaToolbar extends EditorToolbar { switch (index) { case RUN: return !shift ? Language.text("toolbar.run") : Language.text("toolbar.present"); case STOP: return Language.text("toolbar.stop"); - case NEW: return Language.text("toolbar.new"); - case OPEN: return Language.text("toolbar.open"); - case SAVE: return Language.text("toolbar.save"); -// case EXPORT: return !shift ? "Export Application" : "Export Applet"; - case EXPORT: return Language.text("toolbar.export_application"); +// case NEW: return Language.text("toolbar.new"); +// case OPEN: return Language.text("toolbar.open"); +// case SAVE: return Language.text("toolbar.save"); +// case EXPORT: return Language.text("toolbar.export_application"); } return null; } @@ -97,6 +85,7 @@ public class JavaToolbar extends EditorToolbar { jeditor.handleStop(); break; + /* case OPEN: // popup = menu.getPopupMenu(); // TODO I think we need a longer chain of accessors here. @@ -123,6 +112,7 @@ public class JavaToolbar extends EditorToolbar { jeditor.handleExportApplication(); // } break; + */ } } } \ No newline at end of file diff --git a/pdex/src/processing/mode/experimental/ASTGenerator.java b/pdex/src/processing/mode/experimental/ASTGenerator.java index 1fdf69e0b..723ba302c 100644 --- a/pdex/src/processing/mode/experimental/ASTGenerator.java +++ b/pdex/src/processing/mode/experimental/ASTGenerator.java @@ -1128,7 +1128,7 @@ public class ASTGenerator { } ArrayList superClassCandidates = new ArrayList(); - if(td.getSuperclassType() instanceof Type){ + if(td.getSuperclassType() != null){ log(getNodeAsString(td.getSuperclassType()) + " <-Looking into superclass of " + tehClass); superClassCandidates = getMembersForType(new ClassMember(td .getSuperclassType()), @@ -1330,7 +1330,7 @@ public class ASTGenerator { protected Class loadClass(String className){ Class tehClass = null; - if(className instanceof String){ + if (className != null) { try { tehClass = Class.forName(className, false, errorCheckerService.getSketchClassLoader()); @@ -1360,12 +1360,12 @@ public class ASTGenerator { log("definedIn3rdPartyClass-> Looking for " + memberName + " in " + tehClass); String memberNameL = memberName.toLowerCase(); - if(tehClass.getDeclaringNode() instanceof TypeDeclaration){ + if (tehClass.getDeclaringNode() instanceof TypeDeclaration) { TypeDeclaration td = (TypeDeclaration) tehClass.getDeclaringNode(); for (int i = 0; i < td.getFields().length; i++) { - List vdfs = td.getFields()[i] - .fragments(); + List vdfs = + td.getFields()[i].fragments(); for (VariableDeclarationFragment vdf : vdfs) { if (vdf.getName().toString().toLowerCase() .startsWith(memberNameL)) @@ -1378,23 +1378,19 @@ public class ASTGenerator { .startsWith(memberNameL)) return new ClassMember(td.getMethods()[i]); } - if(td.getSuperclassType() instanceof Type){ + if (td.getSuperclassType() != null) { log(getNodeAsString(td.getSuperclassType()) + " <-Looking into superclass of " + tehClass); return definedIn3rdPartyClass(new ClassMember(td .getSuperclassType()),memberName); - } - else - { + } else { return definedIn3rdPartyClass(new ClassMember(Object.class),memberName); } } Class probableClass = null; - if(tehClass.getClass_() != null){ + if (tehClass.getClass_() != null) { probableClass = tehClass.getClass_(); - } - else - { + } else { probableClass = findClassIfExists(tehClass.getTypeAsString()); log("Loaded " + probableClass.toString()); } diff --git a/pdex/src/processing/mode/experimental/ASTNodeWrapper.java b/pdex/src/processing/mode/experimental/ASTNodeWrapper.java index f198c51f7..52aa937f5 100644 --- a/pdex/src/processing/mode/experimental/ASTNodeWrapper.java +++ b/pdex/src/processing/mode/experimental/ASTNodeWrapper.java @@ -213,7 +213,7 @@ public class ASTNodeWrapper { * @return */ private int getJavadocOffset(FieldDeclaration fd){ - List list= (List)fd.modifiers(); + List list = (List) fd.modifiers(); SimpleName sn = (SimpleName) getNode(); Type tp = fd.getType(); @@ -247,7 +247,7 @@ public class ASTNodeWrapper { * @return */ private int getJavadocOffset(MethodDeclaration md) { - List list = (List)md.modifiers(); + List list = (List) md.modifiers(); SimpleName sn = (SimpleName) getNode(); int lineNum = getLineNumber(sn); log("SN " + sn + ", " + lineNum); diff --git a/pdex/src/processing/mode/experimental/DebugToolbar.java b/pdex/src/processing/mode/experimental/DebugToolbar.java index b13d83f45..d22f11fab 100755 --- a/pdex/src/processing/mode/experimental/DebugToolbar.java +++ b/pdex/src/processing/mode/experimental/DebugToolbar.java @@ -52,16 +52,16 @@ public class DebugToolbar extends JavaToolbar { static protected final int STOP = JavaToolbar.STOP; - static protected final int NEW = JavaToolbar.NEW; - static protected final int OPEN = JavaToolbar.OPEN; - static protected final int SAVE = JavaToolbar.SAVE; - static protected final int EXPORT = JavaToolbar.EXPORT; +// static protected final int NEW = JavaToolbar.NEW; +// static protected final int OPEN = JavaToolbar.OPEN; +// static protected final int SAVE = JavaToolbar.SAVE; +// static protected final int EXPORT = JavaToolbar.EXPORT; // the sequence of button ids. (this maps button position = index to button ids) static protected final int[] buttonSequence = { - DEBUG, CONTINUE, STEP, STOP, TOGGLE_BREAKPOINT, TOGGLE_VAR_INSPECTOR, - NEW, OPEN, SAVE, EXPORT + DEBUG, CONTINUE, STEP, STOP, TOGGLE_BREAKPOINT, TOGGLE_VAR_INSPECTOR +// NEW, OPEN, SAVE, EXPORT }; @@ -118,6 +118,7 @@ public class DebugToolbar extends JavaToolbar { return buttonImages; } + /** * Initialize buttons. Loads images and adds the buttons to the toolbar. */ @@ -126,7 +127,8 @@ public class DebugToolbar extends JavaToolbar { Image[][] images = loadDebugImages(); for (int idx = 0; idx < buttonSequence.length; idx++) { int id = buttonId(idx); - addButton(getTitle(id, false), getTitle(id, true), images[idx], id == NEW || id == TOGGLE_BREAKPOINT); + //addButton(getTitle(id, false), getTitle(id, true), images[idx], id == NEW || id == TOGGLE_BREAKPOINT); + addButton(getTitle(id, false), getTitle(id, true), images[idx], id == TOGGLE_BREAKPOINT); } } @@ -144,14 +146,14 @@ public class DebugToolbar extends JavaToolbar { return JavaToolbar.getTitle(JavaToolbar.RUN, shift); case STOP: return JavaToolbar.getTitle(JavaToolbar.STOP, shift); - case NEW: - return JavaToolbar.getTitle(JavaToolbar.NEW, shift); - case OPEN: - return JavaToolbar.getTitle(JavaToolbar.OPEN, shift); - case SAVE: - return JavaToolbar.getTitle(JavaToolbar.SAVE, shift); - case EXPORT: - return JavaToolbar.getTitle(JavaToolbar.EXPORT, shift); +// case NEW: +// return JavaToolbar.getTitle(JavaToolbar.NEW, shift); +// case OPEN: +// return JavaToolbar.getTitle(JavaToolbar.OPEN, shift); +// case SAVE: +// return JavaToolbar.getTitle(JavaToolbar.SAVE, shift); +// case EXPORT: +// return JavaToolbar.getTitle(JavaToolbar.EXPORT, shift); case DEBUG: if (shift) { return "Run"; @@ -194,22 +196,22 @@ public class DebugToolbar extends JavaToolbar { Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Stop' toolbar button"); super.handlePressed(e, JavaToolbar.STOP); break; - case NEW: - Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'New' toolbar button"); - super.handlePressed(e, JavaToolbar.NEW); - break; - case OPEN: - Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Open' toolbar button"); - super.handlePressed(e, JavaToolbar.OPEN); - break; - case SAVE: - Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Save' toolbar button"); - super.handlePressed(e, JavaToolbar.SAVE); - break; - case EXPORT: - Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Export' toolbar button"); - super.handlePressed(e, JavaToolbar.EXPORT); - break; +// case NEW: +// Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'New' toolbar button"); +// super.handlePressed(e, JavaToolbar.NEW); +// break; +// case OPEN: +// Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Open' toolbar button"); +// super.handlePressed(e, JavaToolbar.OPEN); +// break; +// case SAVE: +// Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Save' toolbar button"); +// super.handlePressed(e, JavaToolbar.SAVE); +// break; +// case EXPORT: +// Logger.getLogger(DebugToolbar.class.getName()).log(Level.INFO, "Invoked 'Export' toolbar button"); +// super.handlePressed(e, JavaToolbar.EXPORT); +// break; case DEBUG: deditor.handleStop(); // Close any running sketches deditor.showProblemListView(XQConsoleToggle.CONSOLE); diff --git a/pdex/src/processing/mode/experimental/TextArea.java b/pdex/src/processing/mode/experimental/TextArea.java index 7280b6bbb..639689f2c 100644 --- a/pdex/src/processing/mode/experimental/TextArea.java +++ b/pdex/src/processing/mode/experimental/TextArea.java @@ -36,7 +36,6 @@ import java.util.HashMap; import java.util.Map; import javax.swing.DefaultListModel; -import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import processing.app.syntax.JEditTextArea; @@ -195,6 +194,7 @@ public class TextArea extends JEditTextArea { log("BK Key"); break; case KeyEvent.VK_SPACE: + System.out.println("space: " + evt); if (suggestion != null) if (suggestion.isVisible()) { log("Space bar, hide completion list"); @@ -207,20 +207,22 @@ public class TextArea extends JEditTextArea { } super.processKeyEvent(evt); - if(editor.hasJavaTabs) return; // code completion disabled if java tabs + if (editor.hasJavaTabs) return; // code completion disabled if java tabs + if (evt.getID() == KeyEvent.KEY_TYPED) { - char keyChar = evt.getKeyChar(); - if (keyChar == KeyEvent.VK_ENTER || keyChar == KeyEvent.VK_ESCAPE) { - return; - } else if (keyChar == KeyEvent.VK_TAB - || keyChar == KeyEvent.CHAR_UNDEFINED) { + if (keyChar == KeyEvent.VK_ENTER || + keyChar == KeyEvent.VK_ESCAPE || + keyChar == KeyEvent.VK_TAB || + keyChar == KeyEvent.CHAR_UNDEFINED) { return; } final KeyEvent evt2 = evt; + System.out.println("type: " + evt); if (evt.isAltDown() || evt.isControlDown() || evt.isMetaDown()) { - if (ExperimentalMode.ccTriggerEnabled && keyChar == KeyEvent.VK_SPACE - && (evt.isControlDown() || evt.isMetaDown())) { + if (ExperimentalMode.ccTriggerEnabled && + keyChar == KeyEvent.VK_SPACE && + (evt.isControlDown() || evt.isMetaDown())) { SwingWorker worker = new SwingWorker() { protected Object doInBackground() throws Exception { // Provide completions only if it's enabled @@ -747,6 +749,9 @@ public class TextArea extends JEditTextArea { }); }*/ + + // appears unused, removed when looking to change completion trigger [fry 140801] + /* public void showSuggestionLater(final DefaultListModel defListModel, final String word) { SwingUtilities.invokeLater(new Runnable() { @Override @@ -756,6 +761,7 @@ public class TextArea extends JEditTextArea { }); } + */ /** * Calculates location of caret and displays the suggestion popup at the location. diff --git a/todo.txt b/todo.txt index 4432341a8..d4faa7578 100644 --- a/todo.txt +++ b/todo.txt @@ -1,10 +1,14 @@ 0230 pde (3.0a3) -earlier -X repo cleanup -X remove non-web stuff from web -X remove non-android stuff from android -X remove web and android from the main repo +gsoc +X fixes for mode/tool installation +X https://github.com/processing/processing/pull/2705 +X fix mode updating to work properly +X https://github.com/processing/processing/issues/2579 +X temp folders not always deleting +X https://github.com/processing/processing/issues/2606 +X problem when removing a mode +X https://github.com/processing/processing/issues/2507 pulls X Add polling to detect file system changes @@ -14,7 +18,7 @@ X huge i18n patch X https://github.com/processing/processing/issues/632 X https://github.com/processing/processing/pull/2084 X http://code.google.com/p/processing/issues/detail?id=593 -_ need to make sure the .properties files are read properly as UTF-8 +X need to make sure the .properties files are read properly as UTF-8 X Indent breaks when hitting enter before spaces X https://github.com/processing/processing/issues/2004 X https://github.com/processing/processing/pull/2690 @@ -31,10 +35,19 @@ X Dutch https://github.com/processing/processing/pull/2694 X French https://github.com/processing/processing/pull/2695 X Portugese https://github.com/processing/processing/pull/2701 +earlier +X repo cleanup +X remove non-web stuff from web +X remove non-android stuff from android +X remove web and android from the main repo +X separate prefs and sketch state info? +X this would mean prefs being rewritten far less + high _ export application ubuntu -> windows not working (2.2.1) _ https://github.com/processing/processing/issues/2698 +_ might be something with libraries (native or otherwise) pending @@ -651,15 +664,14 @@ _ when are prefs saved? could instead save whenever changes are made _ and then if the file gets modified, it'll put up an error message _ also, this may be part of why other sketches aren't reloading properly _ simple prefs implementation to set key/value pairs using a JTable -_ separate prefs and sketch state info? -_ this would mean prefs being rewritten far less _ prefs window doesn't swap ok/cancel properly for mac vs. windows/linux _ don't bother having a "cancel" for the prefs window -_ rewrite preferences window to use proper layout? -_ is there already a bug for this? +_ rewrite preferences window to use proper layout +_ https://github.com/processing/processing/issues/67 +_ https://github.com/processing/processing/issues/2708 _ make prefs dialog modal? _ split Preferences and PreferencesFrame? -_ http://code.google.com/p/processing/issues/detail?id=29 +X http://code.google.com/p/processing/issues/detail?id=29 _ preferences window has been hit with the ugly stick _ redo panel to use proper Box layout etc _ also needs to look good across all platforms