Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8203 bubble chart improvements #8350

Open
wants to merge 43 commits into
base: master
Choose a base branch
from

Conversation

par456
Copy link
Collaborator

@par456 par456 commented Oct 13, 2023

Resolves #8203

This view was only half implemented when it was created with lots of comments through it with things missing. This branch will address those problems and generally improve the interface so that people can actually use it.

To do list:

  • Rewrite View to use a glade file for structure, and functions to build the separate boxes that are displayed.
  • Place node at cursor when created
  • Make default color randomized
  • Resizeable script panes on arc selections
  • Show script errors when they happen
  • Make Arcs easier to click on
  • Fix arcs position/curve when node is moved
  • Fix Intellisense positioning
  • Use Node Ids instead of names
  • Generate ids for nodes
  • Use property presenter for variables that can be changed
  • Allow right clicking on node to both select it and then open a context menu
  • Click and Drag to select multiple nodes/arcs at the same time
  • Fix the GetLine function
  • Hover Effects

@par456
Copy link
Collaborator Author

par456 commented Jan 11, 2024

Currently waiting on functionality added in #8529 to be merged in so I can use it here. I need to be able to store the cursor position in the code editors between the view refreshing.

Otherwise this branch is very close to being completed.

@par456
Copy link
Collaborator Author

par456 commented Jan 18, 2024

This is probably at a point now where it can use some testing by other folks. See what breaks in the interface and suggest some sections that we could put unit tests on to make sure it continues into the future.

@ric394
Copy link
Contributor

ric394 commented Feb 6, 2024

Notes/Improvements

  • The context menu will appear at any location when a node is selected. This should only appear when the user right-clicks that specific node. Also occurs for arcs.
  • Dragging a node outside of the visible 'canvas' makes the node no longer viewable/selectable. Changing to another node in the ExplorerView and then reselecting RotationManager does not reset the nodes in the 'canvas'.
  • The arc name field does not behaviour as expected. Changing the name in the field does not update the arc name in the canvas instantly, and does not always update the name. This also occurs for node names.
  • Changing an arc's name and clicking away makes the 'name' field lose the entered text and does not update the arc's name. This also occurs when changing node names.
  • Changing a node's description field and clicking away makes the field lose the entered text.
  • Entering text into a node's description field and then pressing enter does not update the description.
  • Entering text into a node's description field without any other action does not retain the new description text
  • Selecting a new node colour from the drop down does not take effect until the user moves the mouse onto the 'canvas'.

# Conflicts:
#	APSIM.Shared/Utilities/StringUtilities.cs
#	Models/Core/ApsimFile/Converter.cs
#	Models/Resources/AGPBrowntop.json
#	Models/Resources/AGPCocksfoot.json
#	Models/Resources/AGPKikuyu.json
#	Models/Resources/AGPLucerne.json
#	Models/Resources/AGPPaspalum.json
#	Models/Resources/AGPPhalaris.json
#	Models/Resources/AGPRedClover.json
#	Models/Resources/AGPRhodes.json
#	Models/Resources/AGPRyegrass.json
#	Models/Resources/AGPTallFescue.json
#	Models/Resources/AGPWhiteClover.json
#	Models/Resources/Barley.json
#	Models/Resources/Canola.json
#	Models/Resources/Chickpea.json
#	Models/Resources/Chicory.json
#	Models/Resources/Eucalyptus.json
#	Models/Resources/Fertiliser.json
#	Models/Resources/FodderBeet.json
#	Models/Resources/Gliricidia.json
#	Models/Resources/Grapevine.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Angus.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Beef Shorthorn.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Brahman.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/British x Brahman.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/British x Charolais.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/British x Friesian.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/British x Holstein.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Charolais x Friesian.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Charolais x Holstein.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Charolais.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Chianina.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Hereford.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Limousin.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Simmental.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/South Devon.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Ujimqin Cattle.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Ujimqin x Angus (1st cross).json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Ujimqin x Angus (2nd cross).json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Ujimqin x Charolais (1st cross).json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Beef/Ujimqin x Charolais (2nd cross).json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Ayrshire.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Brown Swiss.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Dairy Shorthorn.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Friesian.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Guernsey.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Holstein.json
#	Models/Resources/GrazPlan/Genotypes/Cattle/Dairy/Jersey.json
#	Models/Resources/GrazPlan/Genotypes/Goats/Ujimqin Goats.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Crossbreds/Border Leicester x Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Crossbreds/Dorset x Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Crossbreds/Mongolian x Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Blackface x Whiteface.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Border Leicester.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Cheviot.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Columbia.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Dorset.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Finnsheep.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Hampshire.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Polypay.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Rambouillet.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Ryeland.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Southdown (US).json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Southdown.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Suffolk (US).json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Suffolk.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Texel.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Meat breeds/Ujimqin Sheep.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Corriedale.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Delaine-Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Large Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Medium Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Polwarth.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Romney.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Small Merino.json
#	Models/Resources/GrazPlan/Genotypes/Sheep/Wool breeds/Targhee.json
#	Models/Resources/Maize.json
#	Models/Resources/Mungbean.json
#	Models/Resources/Nutrient.json
#	Models/Resources/Oats.json
#	Models/Resources/OilPalm.json
#	Models/Resources/Peanut.json
#	Models/Resources/Pinus.json
#	Models/Resources/PlantainForage.json
#	Models/Resources/Potato.json
#	Models/Resources/RedClover.json
#	Models/Resources/SCRUM.json
#	Models/Resources/Slurp.json
#	Models/Resources/Sorghum.json
#	Models/Resources/Soybean.json
#	Models/Resources/Sugarcane.json
#	Models/Resources/SurfaceOrganicMatter.json
#	Models/Resources/WaterBalance.json
#	Models/Resources/Wheat.json
#	Models/Resources/WhiteClover.json
#	Tests/Simulation/MultiZoneManagement/MultiPaddock.apsimx
@par456
Copy link
Collaborator Author

par456 commented Mar 25, 2024

Presenter and GUI are in a good state now. Need to add unit tests to the parts that can use them.

@par456 par456 requested a review from hol353 May 2, 2024 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BubbleChartPresenter has unfinished parts
2 participants