bjgf issueshttps://gitlab.bluej.org/bluej/bjgf/-/issues2018-10-19T16:01:40Zhttps://gitlab.bluej.org/bluej/bjgf/-/issues/257[BLUEJ-257] Code completion does not work in code pad2018-10-19T16:01:40ZNeil Brown[BLUEJ-257] Code completion does not work in code pad...but probably should.
---
**Issue metadata**
- Issue type: Bug
- Priority: Medium...but probably should.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1748[GREENFOOT-404] Volume-methods for SoundStreams is dysfunctional2018-10-19T16:11:30ZNeil Brown[GREENFOOT-404] Volume-methods for SoundStreams is dysfunctionalthe setVolume\- and getVolume-methods in class SoundStream does not match their expected behaviours.
I: (Package sound, class SoundStream)
setVolume delegates a change of the volume to a logarithmic transformed value to the audio line....the setVolume\- and getVolume-methods in class SoundStream does not match their expected behaviours.
I: (Package sound, class SoundStream)
setVolume delegates a change of the volume to a logarithmic transformed value to the audio line.
getVolume however directly returns the volume of the audioline.
Thus, for a given GreenfootSound-reference "gsound" resulting from an mp3-file the following odd behaviour occurs:
{noformat}
gsound.setVolume(5);
System.out.println(gsound.getVolume()); // result: 34
{noformat}
Basically, if you give a specific value to the setVolume-methode, the getVolume-method should return exactly that value after that.
II: (Package sound, class SoundUtils)
Also, for performing the logarithmic transformation the method logToLin in class SoundUtils is used. This method claims to convert a value between 0-100 to a value in the same range.
Actually, if 0 is the given parameter, this is incorrect. Instead, Math.log(0) is conducted and thus, the resulting value is something resulting from an operation on "negative infinity" (e.g. \-2147483648); see javadoc of Math.log.
{noformat}
gsound.setVolume(0);
System.out.println(gsound.getVolume()); // result: -2147483648
{noformat}
---
**Issue metadata**
- Issue type: Bug
- Priority: MediumNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1754[GREENFOOT-410] Allow UserInfo.getTop(...) to function when not logged in (ap...2018-10-19T16:11:41ZDavin McCall[GREENFOOT-410] Allow UserInfo.getTop(...) to function when not logged in (applets on greenfoot.org website)See this discussion:
http://www.greenfoot.org/topics/7595/0
Implementing this feature request would require:
\\- updating Greenfoot itself (the relevant functionality is in the shared public jar, so would not require a Greenfoot releas...See this discussion:
http://www.greenfoot.org/topics/7595/0
Implementing this feature request would require:
\\- updating Greenfoot itself (the relevant functionality is in the shared public jar, so would not require a Greenfoot release to activate)
\\- update the storage server
\\- update Greenfoot documentation
---
**Issue metadata**
- Issue type: Task
- Priority: LowNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1767[GREENFOOT-423] Narrow Worlds do not display correctly on greenfoot.org site2018-10-19T16:08:03ZDavin McCall[GREENFOOT-423] Narrow Worlds do not display correctly on greenfoot.org siteNarrow Worlds do not display correctly on greenfoot.org site. Eg this scenario:
http://www.greenfoot.org/scenarios/14846
World width is 300, but the size of the applet is increased to accommodate the control buttons. The world should b...Narrow Worlds do not display correctly on greenfoot.org site. Eg this scenario:
http://www.greenfoot.org/scenarios/14846
World width is 300, but the size of the applet is increased to accommodate the control buttons. The world should be centered in the available space with everything outside the world a flat gray. Instead objects that cross the world boundary are painted completely, and the world is left-justified within the space it occupies.
---
**Issue metadata**
- Issue type: Bug
- Priority: LowMichael KöllingMichael Köllinghttps://gitlab.bluej.org/bluej/bjgf/-/issues/1779[GREENFOOT-435] Editor preferences need rethinking2020-02-17T13:07:45ZMichael Kölling[GREENFOOT-435] Editor preferences need rethinkingThe editor preference pane currently applies to the Java editor only.
We either need another one for the Stride editor, or two sections in the editor pref pane \\- maybe the font size should apply to both.
In any case, there should be ...The editor preference pane currently applies to the Java editor only.
We either need another one for the Stride editor, or two sections in the editor pref pane \\- maybe the font size should apply to both.
In any case, there should be a numerical preference setting for font size in preferences that applies to the Stride editor.
---
**Issue metadata**
- Issue type: Task
- Priority: LowNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1782[GREENFOOT-438] Move debug-log and other auxiliary files2018-10-19T16:07:25ZMichael Kölling[GREENFOOT-438] Move debug-log and other auxiliary filesMake Greenfoot more self-contained: Move the debug log and config files from ~/Library into the Greenfoot.app folder (on Mac).
(Although need to consider how this affects update experience: custom config would get lost between updates ...Make Greenfoot more self-contained: Move the debug log and config files from ~/Library into the Greenfoot.app folder (on Mac).
(Although need to consider how this affects update experience: custom config would get lost between updates \\- is that good or bad?)
Apple now recommends keeping all files together (so that simple app deletion cleans up).
---
**Issue metadata**
- Issue type: Task
- Priority: LowNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/573[BLUEJ-573] Debugger does not show local variables2018-10-05T13:40:23ZNeil Brown[BLUEJ-573] Debugger does not show local variablesDebugger does not show local variables (including parameters) when stepping through a method in a class with generic type.
---
**Issue metadata**
- Issue type: Bug
- Priority: MediumDebugger does not show local variables (including parameters) when stepping through a method in a class with generic type.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1812[GREENFOOT-468] Add class and method comments to all classes2020-02-17T13:07:41ZMichael Kölling[GREENFOOT-468] Add class and method comments to all classesA subtask should be created for every task where the documentation is currently incomplete.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumA subtask should be created for every task where the documentation is currently incomplete.
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1819[GREENFOOT-478] Display bracket shortcuts in cheat sheet2020-02-17T13:07:42ZNeil Brown[GREENFOOT-478] Display bracket shortcuts in cheat sheetIn Stride, one functionality that is not obvious is being able to select text and press bracket to surround it with a bracket. We could make this more discoverable by showing it in the cheat sheet once a selection is made. (And similar...In Stride, one functionality that is not obvious is being able to select text and press bracket to surround it with a bracket. We could make this more discoverable by showing it in the cheat sheet once a selection is made. (And similarly, show delete-bracket-with/without-content when we are near a bracket).
---
**Issue metadata**
- Issue type: Task
- Priority: LowNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1881[GREENFOOT-543] Reduce amount of code regeneration2020-02-17T13:07:42ZNeil Brown[GREENFOOT-543] Reduce amount of code regenerationIn the Stride editor we call regenerateAndReparse whenever we need to be sure the code is up to date. At the moment, this plays safe, and regenerates the code every time. I think we can improve this to reduce the amount of regeneration...In the Stride editor we call regenerateAndReparse whenever we need to be sure the code is up to date. At the moment, this plays safe, and regenerates the code every time. I think we can improve this to reduce the amount of regeneration (and especially, the amount of reparsing). I'm hesitant to make a big change to this just before the 3.0.3 release, but it's something to do for the release after.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/609[BLUEJ-620] Enum value with body messes up object bench/codepad2018-10-19T16:01:41ZNeil Brown[BLUEJ-620] Enum value with body messes up object bench/codepadPretty obscure bug. If you use an enum with a body, it is technically given a different type by the Java runtime, I believe. If you try to "Get" this enum value on to the object bench, the codepad will no longer work (returning "<ident...Pretty obscure bug. If you use an enum with a body, it is technically given a different type by the Java runtime, I believe. If you try to "Get" this enum value on to the object bench, the codepad will no longer work (returning "<identifier expected>" for "1+2"), I presume because we are generating bad code in the shell class. To reproduce, use this code:
{code:java}
enum Color
{
RED(255,0,0), // Constructor arguments
GRAY(128,128,128) // Individual body:
{
public String toString() { return "gray/grey"; }
},
BLACK(0,0,0);
// Group body:
int red, green, blue;
private Color(int red, int green, int blue)
{
this.red=red;this.green=green;this.blue=blue;
}
}
{code}
Then inspect the Color class, and try to "Get" the middle enum (grey) to the object bench, then use the codepad.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/618[BLUEJ-629] Make code completion for generic types insert <,,>2018-10-19T16:01:41ZNeil Brown[BLUEJ-629] Make code completion for generic types insert <,,>When you auto-complete a generic type like ArrayList, the name is inserted as if it is the complete type, and focus moved on. As Fabio pointed out, this isn't really right; we should insert ArrayList<> with the cursor in the angle brack...When you auto-complete a generic type like ArrayList, the name is inserted as if it is the complete type, and focus moved on. As Fabio pointed out, this isn't really right; we should insert ArrayList<> with the cursor in the angle brackets (similarly, Map<,> with comma and cursor before comma). Inserting the angle brackets is straightforward, but we also need to upgrade AssistContent to record and expose knowledge about generic type's type parameters.
Our decision was that as soon as the type slot contains a recognised generic type, we will automatically add the <,,> afterwards, a bit like we already adjust the commas in the method call parameters when we recognise a method name. (Difference being we will add the brackets this time, rather than them already being there.)
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/620[BLUEJ-631] When Stride font size is increased, text spacing is not2020-02-17T12:38:12ZNeil Brown[BLUEJ-631] When Stride font size is increased, text spacing is notFor example, the gaps between items in a method field header, or in a var frame. These are probably currently done in pixels, but should be em, or otherwise scaled up by font size.
---
**Issue metadata**
- Issue type: Task
- Priority...For example, the gaps between items in a method field header, or in a var frame. These are probably currently done in pixels, but should be em, or otherwise scaled up by font size.
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/622[BLUEJ-633] Improve printing support in Stride2020-02-17T12:54:17ZNeil Brown[BLUEJ-633] Improve printing support in StrideThere is now printing support in Stride, but it only works if the class fits neatly on to one page. Really, this needs doing like the Java printing, scrolling down/clipping&translating to put one bit on each page, with the editor resize...There is now printing support in Stride, but it only works if the class fits neatly on to one page. Really, this needs doing like the Java printing, scrolling down/clipping&translating to put one bit on each page, with the editor resized to fit width.
The difficult part is that we really need to make an off-screen copy to avoid JavaFX's printing issues with printing real visible items. We do already have that makeDisplayClone mechanism (or whatever it is called) for some threads, so maybe we just need to expand that to whole frames.
---
**Issue metadata**
- Issue type: Task
- Priority: Lowhttps://gitlab.bluej.org/bluej/bjgf/-/issues/624[BLUEJ-635] Enums in Stride2018-12-14T13:22:55ZNeil Brown[BLUEJ-635] Enums in StrideAdd support for enums into Stride.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumAdd support for enums into Stride.
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1894[GREENFOOT-556] Creating variables with diamond notation and autocomplete, sh...2020-02-17T13:07:42ZNeil Brown[GREENFOOT-556] Creating variables with diamond notation and autocomplete, should have focus on the generic typeWhen creating a variable of a class that uses the diamond notation
using autocomplete (e.g.: ArrayList), after selecting the type, the
focus go straight to the name of the variable. This may be the most
common case, but if the clas...When creating a variable of a class that uses the diamond notation
using autocomplete (e.g.: ArrayList), after selecting the type, the
focus go straight to the name of the variable. This may be the most
common case, but if the class has a diamond notation wouldn't be better
to somehow indicate this?
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1924[GREENFOOT-586] Spacing too tight with larger font sizes2020-02-17T13:07:42ZMichael Kölling[GREENFOOT-586] Spacing too tight with larger font sizesWhen increasing font sizes (e.g. for projection), the spacing between some elements is too small.
For example, in field declarations: between type and field name. Also between access modifier and type.
Other elements should also b...When increasing font sizes (e.g. for projection), the spacing between some elements is too small.
For example, in field declarations: between type and field name. Also between access modifier and type.
Other elements should also be checked (class declaration header, etc.)
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/791[BLUEJ-806] Show Stride inherited foldout arrow for all classes?2020-02-17T12:33:09ZNeil Brown[BLUEJ-806] Show Stride inherited foldout arrow for all classes?If I make a Stride class inherit from say, JavaFX's Application, it's really handy to be able to foldout the methods and right-click on one to override. This isn't easily possible if the class has no explicit parent (and thus has Object...If I make a Stride class inherit from say, JavaFX's Application, it's really handy to be able to foldout the methods and right-click on one to override. This isn't easily possible if the class has no explicit parent (and thus has Object as a parent). If you want to override say toString(), you have to click into the header, which does show the foldout arrow next to the empty extends field. You can fold it out and override, but once the header with blank extends field disappears (due to losing focus), it stays folded out with no way to fold it back up.
I'd suggest a simple fix: we always show the foldout extends arrow to the right of the class name even if it has no explicit parent.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/841[BLUEJ-856] Should bird's eye view hide fields?2020-02-17T12:53:39ZNeil Brown[BLUEJ-856] Should bird's eye view hide fields?Should the fields be hidden in the bird's eye view? My instinct is to say yes.
One cannot navigate into them in bird's eye, so they don't aid in navigation, and is seeing them really of use if we consider this documentation? (Certainl...Should the fields be hidden in the bird's eye view? My instinct is to say yes.
One cannot navigate into them in bird's eye, so they don't aid in navigation, and is seeing them really of use if we consider this documentation? (Certainly private ones do not belong...)
---
**Issue metadata**
- Issue type: Bug
- Priority: Lowhttps://gitlab.bluej.org/bluej/bjgf/-/issues/849[BLUEJ-864] lang.stride.Utility.makeRange(..,..) gets converted literally2020-02-17T12:40:08ZNeil Brown[BLUEJ-864] lang.stride.Utility.makeRange(..,..) gets converted literallyIn conversion to Stride, can we convert a well-formed 'makeRange' call to a Stride foreach loop?
This way one could convert to Java and back. (Not needed if convert to Java creates standard for loops.)
---
**Issue metadata**
- Issue ...In conversion to Stride, can we convert a well-formed 'makeRange' call to a Stride foreach loop?
This way one could convert to Java and back. (Not needed if convert to Java creates standard for loops.)
---
**Issue metadata**
- Issue type: Bug
- Priority: Low