bjgf issueshttps://gitlab.bluej.org/bluej/bjgf/-/issues2020-02-17T13:05:53Zhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1003[BLUEJ-1023] Stride shows white gap in diamond operator2020-02-17T13:05:53ZNeil Brown[BLUEJ-1023] Stride shows white gap in diamond operatorIf you create a generic object and leave the inner type blank, Stride permanently shows an ugly white gap. We should spot this as a special case and make the slot transparent:
!image-2017-06-22-10-36-53-056.png|thumbnail!
---
**I...If you create a generic object and leave the inner type blank, Stride permanently shows an ugly white gap. We should spot this as a special case and make the slot transparent:
!image-2017-06-22-10-36-53-056.png|thumbnail!
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/912[BLUEJ-929] Allow Git remote repository to be changed2019-01-15T13:37:32ZNeil Brown[BLUEJ-929] Allow Git remote repository to be changedAt the moment, the Teamwork interface doesn't permit changing the remote repository once set up. But in Git it makes sense to allow this to be changed arbitrarily. Especially if we implement BLUEJ-928, which would allow a Git repositor...At the moment, the Teamwork interface doesn't permit changing the remote repository once set up. But in Git it makes sense to allow this to be changed arbitrarily. Especially if we implement BLUEJ-928, which would allow a Git repository to be created without even setting a remote repository.
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/911[BLUEJ-928] Add function to initialise Git repository for current project2019-01-15T13:34:34ZNeil Brown[BLUEJ-928] Add function to initialise Git repository for current projectWe now have Git support. Unlike SVN, Git doesn't need a remote repository to get started. You can just make a Git repository for the current files without a remote to push to. I think it would make sense to have a button (or an option...We now have Git support. Unlike SVN, Git doesn't need a remote repository to get started. You can just make a Git repository for the current files without a remote to push to. I think it would make sense to have a button (or an option under the Share button) in BlueJ to create an in-place Git repository for the current project.
---
**Issue metadata**
- Issue type: Task
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/908[BLUEJ-925] CodePad needs indicator that variables are no longer valid after ...2019-01-15T13:33:26ZNeil Brown[BLUEJ-925] CodePad needs indicator that variables are no longer valid after re-compileIn previous versions of BlueJ, when a class was recompiled the CodePad would clear out, providing an indication that variables were no longer valid.
In version 4.0.0, the CodePad no longer blanks out, misleading the user into thinking...In previous versions of BlueJ, when a class was recompiled the CodePad would clear out, providing an indication that variables were no longer valid.
In version 4.0.0, the CodePad no longer blanks out, misleading the user into thinking the variables are still available. There needs to be some visual indication, such as a line, to show that variables have been reset.
---
**Issue metadata**
- Issue type: Bug
- Priority: Mediumhttps://gitlab.bluej.org/bluej/bjgf/-/issues/851[BLUEJ-866] Empty import canvas doesn't fold right in Stride editor for Java ...2020-02-17T12:53:58ZNeil Brown[BLUEJ-866] Empty import canvas doesn't fold right in Stride editor for Java previewIf you have an empty imports canvas in the Stride editor, then when you *exit* Java preview (entering is fine), it briefly animates to nothing, then reappears again, making all the source code (all of which is below the imports) bump up ...If you have an empty imports canvas in the Stride editor, then when you *exit* Java preview (entering is fine), it briefly animates to nothing, then reappears again, making all the source code (all of which is below the imports) bump up and back down again. Probably wasn't noticed before because all Greenfoot Stride classes usually have the greenfoot.* import, so this mainly comes up in BlueJ.
---
**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: Lowhttps://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/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/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/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/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/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/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/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/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: Medium