# Changelog
## Holeg Update 2.1
### Energy Distribution Overhaul
#### Added different Fairness Models
	* EveryoneEqual:	  All HolonObjects will get the same supply
	* MinimumDemandFirst: As many HolonObjects as possible are supplied (partially & fully)
#### Added SupplyBars
	* Each HolonObject got a SupplyBar, which shows how much percent of its needed energy it was supplied with
	* Can be turned off
#### Simulation is more precise now
	* Supply and Color will be calculated per HolonObject instead of Subnet

### HolonBatteries
	* HolonBattery was added
	* Can be added to Categories
	* Can be edited in the Categories
	* Can be added to Canvas
	* Can be saved (including it's states)
	* Will charge if there is overproduction in it's Subnet
	* Will discharge if there is underproduction in it's Subnet (and it is partially filled)
	* Has a small Bar, which shows how much it is charged

### IterationLimit was removed
	* The Maximum number of Iterations can be increased up to 100000
	* Each HolonElement can have an own Graph Length
	* HolonElements can be set to copy the Global Iteration Length
	* HolonElement Local Iterations will be saved
	
### Template Functionality
	* It is possible to create Templates of HolonObjects in the Category Menu
	* HolonObject including Elements/Graphs/Lengths will be saved
	* right click on HolonObject

### Drag & Drop Replacements
	* AbstractCpsObjects can be replaced by Dragged ...
		+ Category Objects
		+ Canvas Objects
	* Objects that would be Replaced when the mouse is released are highlighted Red

### Small Quality of Life Improvements
#### Starting Holeg without Gradle
	* Added Possibility to start it from Eclipse/classes or any other IDE
	* Starting via Gradle remains possible
#### Improved SpeedSlider
	* Left is slow (~1 step/sec)
	* Right Side is fast (~ 64steps/sec)
	* Logarithmic Scale 1,2,4,8,16,32,64
#### Sorting the HolonElement List
	* Can be sorted by Columns
#### Improved Help Menu
	* Added Links to the Wiki, User Manual etc.
#### Play Button improvement
	* Will reset the Simulation and start over, if simulation is over
#### Simple Align Feature
	* Adds possibility to align all objects (option menu)
	* Or just the selected ones (rightclick on selected)
#### Many UI Improvements
	* Improved New/Delete Buttons, PupOps etc.
	* Renamed Frame
	* Added some ToolTips
	* Added Draw Edges Hints
	* Some Improved PopUps
	* HolonElementTable Items that should not be edited, can not be edited
	* New Icon: HOLEG Light Bulb

### Performance Improvements
#### Simulation
	* around 30% faster
#### Loading of Images refactored
	* Often Used Images will be stored
	* Works inside Jar and simple .class Files
	
### Many Bugfixes
	* Hundreds of NullPointers fixed (e.g. pressing buttons, when mouse isn't on canvas)
	* Saving/Loading improved (e.g. Graphs)
	* Some Group Cable Bugs
	* Added closing invalid UpperNodeTabs (on Redo/Undo etc.)
	* No more Cells in EditModus, without a corresponding Table
	* Added some missing repaints/recalculates
	* removed Possibility to remove Graph End Points
	* Fixes most crashes
#### Language refactored
	* Languages Arrays moved to resource Files
	* uses UTF8 Labels on all operating systems
	* no more unknown charset console spam

### General Changes
#### Added [License](https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons/src/master/license.md)
#### Added [Git Readme](https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons/src/master/README.md)