bjgf issueshttps://gitlab.bluej.org/bluej/bjgf/-/issues2018-02-19T15:58:00Zhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1994[GREENFOOT-659] Creation of new world subclass creates uncompilable class2018-02-19T15:58:00ZDavin McCall[GREENFOOT-659] Creation of new world subclass creates uncompilable classCreating a world subclass isn't working properly at the moment - the constructor doesn't contain the appropriate {{super(width, height, cellsize)}} call.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumCreating a world subclass isn't working properly at the moment - the constructor doesn't contain the appropriate {{super(width, height, cellsize)}} call.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1993[GREENFOOT-658] Class state of new classes not always shown correctly in clas...2018-02-20T11:45:58ZDavin McCall[GREENFOOT-658] Class state of new classes not always shown correctly in class diagramI am seeing inconsistent class states in the class diagram after creating new classes. Eg create a new world subclass, edit it, move cursor to another line, state does not display as compiled. Create a new actor subclass, edit it, state ...I am seeing inconsistent class states in the class diagram after creating new classes. Eg create a new world subclass, edit it, move cursor to another line, state does not display as compiled. Create a new actor subclass, edit it, state does not show as uncompiled.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1992[GREENFOOT-657] New Class dialog small images are expanded2018-07-27T11:50:14ZDavin McCall[GREENFOOT-657] New Class dialog small images are expandedIn the "New Class" dialog small images (eg ant image in ants scenario) are currently expanded to the size of the list cell. They should appear at actual size.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumIn the "New Class" dialog small images (eg ant image in ants scenario) are currently expanded to the size of the list cell. They should appear at actual size.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumAmjad AltadmriAmjad Altadmrihttps://gitlab.bluej.org/bluej/bjgf/-/issues/1991[GREENFOOT-656] Invoking act() method from Actor submenu doesn't close first ...2018-07-27T11:50:49ZDavin McCall[GREENFOOT-656] Invoking act() method from Actor submenu doesn't close first menu(Tested on Linux).
Right click an actor to bring up the method call menu, then open the "Actor" superclass submenu and choose the "act()" method. The method executes and the submenu closes, but the main popup menu stays open.
---
**...(Tested on Linux).
Right click an actor to bring up the method call menu, then open the "Actor" superclass submenu and choose the "act()" method. The method executes and the submenu closes, but the main popup menu stays open.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumHamza HamzaHamza Hamzahttps://gitlab.bluej.org/bluej/bjgf/-/issues/1990[GREENFOOT-655] Save the world: actor movement, static method calls not recorded2018-06-07T13:04:16ZDavin McCall[GREENFOOT-655] Save the world: actor movement, static method calls not recordedAs part of the JavaFX UI transition, it looks like the actor movement recording isn't wired up. Also static method calls aren't recorded, though I'm not sure if that was ever working.
---
**Issue metadata**
- Issue type: Task
- P...As part of the JavaFX UI transition, it looks like the actor movement recording isn't wired up. Also static method calls aren't recorded, though I'm not sure if that was ever working.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1989[GREENFOOT-654] Most recent project not being saved2018-02-20T15:53:41ZDavin McCall[GREENFOOT-654] Most recent project not being savedThe most recent project is not being saved currently. Need to test before release that it works correctly. (At the moment, the same project is opened every time you start Greenfoot).
---
**Issue metadata**
- Issue type: Task
- Pr...The most recent project is not being saved currently. Need to test before release that it works correctly. (At the moment, the same project is opened every time you start Greenfoot).
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1988[GREENFOOT-653] "About" should not be in Help menu on MacOS2018-02-20T12:34:37ZDavin McCall[GREENFOOT-653] "About" should not be in Help menu on MacOS"About Greenfoot" should be in the application menu on MacOS, not in the help menu.
---
**Issue metadata**
- Issue type: Task
- Priority: Medium"About Greenfoot" should be in the application menu on MacOS, not in the help menu.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1987[GREENFOOT-652] Greenfoot does not always quit properly (MacOS)2018-06-07T13:16:37ZMichael Kölling[GREENFOOT-652] Greenfoot does not always quit properly (MacOS)When quitting Greenfoot on Mac with more than one scenario open, the main process does not quit properly.
---
**Issue metadata**
- Issue type: Bug
- Priority: Medium
- Fix versions: 3.5.0When quitting Greenfoot on Mac with more than one scenario open, the main process does not quit properly.
---
**Issue metadata**
- Issue type: Bug
- Priority: Medium
- Fix versions: 3.5.0https://gitlab.bluej.org/bluej/bjgf/-/issues/1984[GREENFOOT-649] Preferences menu item in edit menu must be converted (non Mac)2018-07-27T11:55:20ZDavin McCall[GREENFOOT-649] Preferences menu item in edit menu must be converted (non Mac)The preferences menu item is not yet in the JavaFX gui. It should appear for non-Mac only. (For Mac the preferences should be accessible via the application menu).
---
**Issue metadata**
- Issue type: Task
- Priority: MediumThe preferences menu item is not yet in the JavaFX gui. It should appear for non-Mac only. (For Mac the preferences should be accessible via the application menu).
---
**Issue metadata**
- Issue type: Task
- Priority: MediumHamza HamzaHamza Hamzahttps://gitlab.bluej.org/bluej/bjgf/-/issues/1983[GREENFOOT-648] Run the thread checker on Greenfoot2018-05-21T14:49:02ZNeil Brown[GREENFOOT-648] Run the thread checker on GreenfootAfter we have done most of the rewrite, we should be able to run the thread checker on the Greenfoot source. I think most of it will run on the Simulation thread once we are done, but it would be good to have it thread checked if possib...After we have done most of the rewrite, we should be able to run the thread checker on the Greenfoot source. I think most of it will run on the Simulation thread once we are done, but it would be good to have it thread checked if possible. (I wonder if the AWT/Swing drawing on the Simulation thread may cause an issue, is that technically not thread safe?)
---
**Issue metadata**
- Issue type: Task
- Priority: MediumNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1982[GREENFOOT-647] Convert the remaining Controls and Help menu to JavaFX2018-02-19T12:00:39ZNeil Brown[GREENFOOT-647] Convert the remaining Controls and Help menu to JavaFXThere are a few actions on the Controls menu which are implemented (Run, Reset) but just need to be added. Also, all the Help menu and contents (which mainly just open web browsers for certain links) need to be moved across to a menu on...There are a few actions on the Controls menu which are implemented (Run, Reset) but just need to be added. Also, all the Help menu and contents (which mainly just open web browsers for certain links) need to be moved across to a menu on the JavaFX side.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1981[GREENFOOT-646] Move the set-player dialog to JavaFX2018-07-27T11:57:11ZNeil Brown[GREENFOOT-646] Move the set-player dialog to JavaFXIf you press Cmd-Shift-P (Ctrl-Shift-P on non-Mac) you get the dialog that lets you set the player name for UserInfo. (This dialog is not very discoverable : there is no menu option for it, but the shortcut is listed in the preferences....If you press Cmd-Shift-P (Ctrl-Shift-P on non-Mac) you get the dialog that lets you set the player name for UserInfo. (This dialog is not very discoverable : there is no menu option for it, but the shortcut is listed in the preferences.)
---
**Issue metadata**
- Issue type: Task
- Priority: MediumAmjad AltadmriAmjad Altadmrihttps://gitlab.bluej.org/bluej/bjgf/-/issues/1980[GREENFOOT-645] Add the new-scenario action (incl wizard) to JavaFX interface2018-02-20T11:33:48ZNeil Brown[GREENFOOT-645] Add the new-scenario action (incl wizard) to JavaFX interfaceThe new scenario action, including its wizard, needs to be moved across to the JavaFX interface. I suspect its implementation will become a lot simpler, because it will no longer need to cross the VM boundary and pass that wizard parame...The new scenario action, including its wizard, needs to be moved across to the JavaFX interface. I suspect its implementation will become a lot simpler, because it will no longer need to cross the VM boundary and pass that wizard parameter when making the debug VM. All that old code should be removed as part of this ticket.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumHamza HamzaHamza Hamzahttps://gitlab.bluej.org/bluej/bjgf/-/issues/1979[GREENFOOT-644] Add the scenario open/recent/close/save/save-as menu items in FX2018-02-13T16:01:55ZNeil Brown[GREENFOOT-644] Add the scenario open/recent/close/save/save-as menu items in FXThe Open, Open Recent, Close, Save, Save As, Share and Quit items in the old Greenfoot UI all needed to be moved across to the JavaFX interface. They will be on the server VM, which should make their implementation easier (especially sa...The Open, Open Recent, Close, Save, Save As, Share and Quit items in the old Greenfoot UI all needed to be moved across to the JavaFX interface. They will be on the server VM, which should make their implementation easier (especially save-as, since that is basically close+open). There will be a separate ticket for new-scenario.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1978[GREENFOOT-643] Convert speed slider to JavaFX2018-05-16T09:08:14ZNeil Brown[GREENFOOT-643] Convert speed slider to JavaFXWe need to add the speed slider to the new JavaFX interface (and make it work, of course). I think this can just use the shared memory mechanism to do the communication.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumWe need to add the speed slider to the new JavaFX interface (and make it work, of course). I think this can just use the shared memory mechanism to do the communication.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumHamza HamzaHamza Hamzahttps://gitlab.bluej.org/bluej/bjgf/-/issues/1976[GREENFOOT-641] Greenfoot never deletes properties2018-04-09T16:01:30ZNeil Brown[GREENFOOT-641] Greenfoot never deletes propertiesThe way that Greenfoot handles properties at the moment is not ideal. The GreenfootProjectFile class saves properties by loading in existing ones from disk, overwriting with any new values, then saving again. Thus, no properties ever get...The way that Greenfoot handles properties at the moment is not ideal. The GreenfootProjectFile class saves properties by loading in existing ones from disk, overwriting with any new values, then saving again. Thus, no properties ever get deleted from the file, and old properties (e.g. BlueJ properties referring to deleted classes) live on. Now that the server VM is holding the canonical copy of the Greenfoot properties, we should be able to refactor this to be more like BlueJ does it: on load, everything harvests what it needs from the property file, and unused properties are ignored. Then when saving, we reconstitute a new properties file by getting everyone involved (Project, Package, etc) to save anything relevant.
We could do this already now, but it will break everything not yet processed by Greenfoot on the server VM. So it should at least wait until we have done GREENFOOT-635 (converting class diagram), as it is the class diagram which handles most of the Greenfoot properties.
Addendum: as part of this ticket, sort out the image management for duplicate-class and import-class, which currently don't set the images for the new classes as they should do.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1975[GREENFOOT-640] Tidy up the Simulation thread code2018-04-24T23:24:37ZNeil Brown[GREENFOOT-640] Tidy up the Simulation thread codeThe Simulation thread on the debug VM is a bit muddled at the moment. Previously, it had code for doing Swing painting at the appropriate intervals along with various world locks. I wonder if the world locks may be removed now (since a...The Simulation thread on the debug VM is a bit muddled at the moment. Previously, it had code for doing Swing painting at the appropriate intervals along with various world locks. I wonder if the world locks may be removed now (since all code on the debug VM that touches anything world-related should run on the Simulation thread, I think we can treat being on the simulation thread as an implicit mutex?).
I think we can get rid of the SimulationListener mechanism eventually (the only use which will remain is one use in GreenfootScenarioViewer, I think, which probably doesn't need a whole listener/event mechanism).
I think it probably makes sense for Davin to either do this or review this, since I think he probably understands that code better than the rest of us. But this is probably best done a bit later on in the rewrite after chunks of the IDE code have been removed and it's clearer what is still needed, so not assigning it yet.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumDavin McCallDavin McCallhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1974[GREENFOOT-639] Convert execution twirler to JavaFX2018-07-27T11:57:37ZNeil Brown[GREENFOOT-639] Convert execution twirler to JavaFXThe old IDE interface had an execution twirler (greenfoot.gui.ExecutionTwirler). This should be converted to JavaFX and added to GreenfootStage, along with adding its usages from the old GreenfootFrame into equivalent code in GreenfootS...The old IDE interface had an execution twirler (greenfoot.gui.ExecutionTwirler). This should be converted to JavaFX and added to GreenfootStage, along with adding its usages from the old GreenfootFrame into equivalent code in GreenfootStage.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumNeil BrownNeil Brownhttps://gitlab.bluej.org/bluej/bjgf/-/issues/1973[GREENFOOT-638] Convert new-class dialog to JavaFX2018-05-16T09:08:44ZNeil Brown[GREENFOOT-638] Convert new-class dialog to JavaFXMost classes in Greenfoot are created by right-clicking Actor/World and selecting new subclass. However, there is also a menu option Edit->New Class... which shows a simple dialog for creating other classes. This is in greenfoot.gui.Ne...Most classes in Greenfoot are created by right-clicking Actor/World and selecting new subclass. However, there is also a menu option Edit->New Class... which shows a simple dialog for creating other classes. This is in greenfoot.gui.NewClassDialog and should get converted to JavaFX (into *.guifx.*). You may want to use DialogPaneAnimateError as part of this (see e.g. BlueJ's bluej.pkgmgr.NewClassDialog, but that dialog is different enough that we don't want to re-use the whole dialog).
As part of this change, you will also need to convert the surrounding uses of the dialog. They currently use GPackage/GClass to create the class. This should be switched to using Package and co -- see use of BlueJ's NewClassDialog in PkgMgrFrame for some relevant code.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumHamza HamzaHamza Hamzahttps://gitlab.bluej.org/bluej/bjgf/-/issues/1972[GREENFOOT-637] Convert import class dialog to JavaFX2018-05-16T09:06:00ZNeil Brown[GREENFOOT-637] Convert import class dialog to JavaFXGreenfoot has an import-class feature, which uses greenfoot.gui.ImportClassWindow (move to *.guifx.* as you convert). The main improvement that we will get from converting is that we can use JavaFX's WebView for the right-hand side docs...Greenfoot has an import-class feature, which uses greenfoot.gui.ImportClassWindow (move to *.guifx.* as you convert). The main improvement that we will get from converting is that we can use JavaFX's WebView for the right-hand side docs, which will improve things. Only niggle to note is that this currently shares use of the ClassButton, which is what is used in the class diagram. You'll have to see based on the outcome of the class diagram conversion (GREENFOOT-635) whether this makes sense, or whether we just want to share some CSS between the two to make sure they look the same.
Update: there is now a ClassDisplay class which you can use for displaying the left-hand list of classes. You will probably want to use ClassDisplaySelectionManager to manage the selection (and maybe turn the selected item into an observable property, so you can listen to the change and update the WebView). You may even want to use ClassGroup which will handle the case that one of the classes inherits from another, and just generally provides a way to show a list of ClassDisplay. Do NOT use ClassDiagram though, as that has all sorts of context menus etc that we don't want when just displaying classes to import.
---
**Issue metadata**
- Issue type: Task
- Priority: MediumNeil BrownNeil Brown