A method of controlling graphical elements of a display having a plurality of pixels with one or more processors, the method including
- defining by said one or more processors a graphical main shape on the display representing a total volume of a root node,
- defining by said one or more processors within the graphical main shape a number of graphical node shapes on the display, the number of node shapes being at least one and each node shape representing a volume of a parent node, wherein the volumes of all parent nodes sum up to the total volume, wherein at least one of the parent nodes includes at least one child node having a volume, wherein the volumes of all child nodes of the parent node sum up to the volume of the parent node and wherein at least one of the child nodes includes at least one grandchild node having a volume, wherein the volumes of all grandchild nodes of a child node sum up to the volume of said child node,
- controlling by said one or more processors the pixels of the graphical main shape to visually present the graphical main shape on the display,
- controlling by said one or more processors the pixels of the graphical node shapes to visually present the graphical node shapes on the display,
- receiving by said one or more processors an input signal from an input device indicating a selection of a parent node, and
- in response to said receiving
- determining by said one or more processors a possible range for the volume of the selected parent node by determining a minimum value and a maximum value of the range,
- defining by said one or more processors a graphical dialog shape on the display representing the possible range for the volume of the selected parent node,
- defining by said one or more processors a graphical shifter shape within the graphical dialog shape representing a current value of the volume of the selected parent node,
- controlling by said one or more processors the pixels of the graphical dialog shape to visually present the graphical dialog shape on the display and
- controlling by said one or more processors the pixels of the graphical shifter shape to visually present the graphical shifter shape on the display,
- receiving by said one or more processors a second input signal from an input device indicating manipulating of the graphical shifter shape with the input device, the manipulating defining a target volume of the selected parent node and
- in response to said manipulating
- determining by said one or more processors a target volume for each parent node, wherein the target volumes of all parent nodes sum up to the total volume,
- redefining by said one or more processors the graphical node shapes to represent the target volumes of the parent nodes and
- controlling by said one or more processors the pixels of the graphical node shapes to visually present the redefined graphical node shapes on the display,
- wherein an entirety of the root node, the parent nodes, the child nodes and the grandchild nodes are designated as nodes and wherein an entirety of the grandchild nodes, the child nodes having no grandchild nodes and the parent nodes having no child nodes are designated as products, wherein one of the products is designated as an absorber product having a unit size of zero and wherein the volume of all remaining products is an integer multiple of a product specific unit size, wherein the product specific unit size is a given volume greater than zero,
- wherein all direct sub nodes of a node are designated as a branch and wherein the volumes of the nodes of a branch are expressed as relative volumes in relation to the sum of the volumes of all nodes of that branch such that the sum of the relative volumes of all nodes of a branch equals 1,
- wherein the child nodes and the grandchild nodes of a node N are designated as a subtree of that node, wherein
- in response to said manipulating, a target volume for each node is determined by said one or more processors by
- assigning a relative ideal volume to each node,
- determining an absolute ideal volume for each product by multiplying all relative ideal volumes of all nodes along a path between the root node and the respective product,
- setting the absolute volume of each product to its absolute ideal volume, and
- unless the unit size of the product is zero, flooring the absolute volume of the product to a next integer multiple of its unit size,
- determining a remaining volume by subtracting the absolute volume of each product from the total volume,
- except for the absorber product, ordering the products in descending order of a difference of their absolute ideal volume and the floored absolute volume,
- distributing the remaining volume to the products by, in said order, adding one unit size to each product thereby skipping any product having a unit size exceeding either the then remaining volume or the absolute ideal volume of the absorber product, and
- adding the remaining volume to the absorber product.