...
Principle
The common things displayed in the portlets are:
Result Matrix for displaying data in a table.
ResultHighchart for many types of charts.
DashboardController for various action buttons or HTML output.
You are returning those objects from the dashboard logic elements, and then the system will display those objects as portlets in the dashboard.
All the objects have common interface - Portlet. This interface has methods, allowing you to set initial values for dimensions of the object, and thus the dimensions of the portlet.
The initial values will be overridden by user’s manual changes of the sizes, and also by saved Preferences.
...