MetaDone
|
Public Member Functions | |
SpringFlowLayout (SerialAlignment align, boolean verticalOrientation, int gap) | |
SerialAlignment | getSerialAlignment () |
int | getGap () |
boolean | getVerticalOrientation () |
boolean | isSpringWidgetClass (Widget widget) |
void | layout (Widget widget) |
boolean | requiresJustification (Widget widget) |
void | justify (Widget widget) |
Protected Member Functions | |
double | getSpringWeight (Widget widget) |
void | layout (Widget widget, Rectangle parentBounds) |
Static Protected Member Functions | |
static int | getMinSizeConstraint (Widget w) |
Private Member Functions | |
int | layoutPlaceChild (int pos, int size, SerialAlignment align, boolean verticalOrientation, Widget child, Point location, Rectangle bounds) |
Private Attributes | |
SerialAlignment | align |
int | gap |
boolean | verticalOrientation |
Spring flow layout places elements in-line (horizontally or vertically) while aligning them in the opposite direction and it contains dynamically expanding elements (springs).
Places elements in line leaving some gap between them. If there is some free space left, the spring elements are extended to fill the entire space. Also, the alignment in the opposite direction may be given.
Example:
// a widget with vertically distributed children which are horizontally centered Widget w = new Widget(scene); w.setLayout(new SpringFlowLayout(SerialAlign.CENTER, true, 0); w.add(child1); w.add(new W_Spring(scene), 50); // here 50 is the minimum size of this spring w.add(child2); w.add(new W_Spring(scene)); // normal spring
metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.SpringFlowLayout | ( | SerialAlignment | align, |
boolean | verticalOrientation, | ||
int | gap | ||
) |
Creates a new spring layout.
align | The opposite alignment of elements (if null , JUSTIFY is used) |
verticalOrientation | Whether the orientation is vertical |
gap | The gap between elements |
References metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.align, metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.gap, and metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.verticalOrientation.
int metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getGap | ( | ) |
static int metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getMinSizeConstraint | ( | Widget | w | ) | [static, protected] |
Returns the minimum size constraint for a widget.
w | The widget |
Referenced by metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layoutPlaceChild().
SerialAlignment metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getSerialAlignment | ( | ) |
double metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getSpringWeight | ( | Widget | widget | ) | [protected] |
Gets the widgets weight.
If the widget has an Integer constraint, it is used as the minimal size of the spring.
widget | The spring widget |
References metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.isSpringWidgetClass().
Referenced by metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.justify().
boolean metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getVerticalOrientation | ( | ) |
References metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.verticalOrientation.
Referenced by metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.justify(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layout(), and metadone.client.grasyla2.visuallibrary.widgets.W_Box.setLayout().
boolean metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.isSpringWidgetClass | ( | Widget | widget | ) |
Checks if a widget is a spring instance.
widget | The widget |
true
only if the widget is a spring widget Referenced by metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getSpringWeight(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.justify(), and metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layoutPlaceChild().
void metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.justify | ( | Widget | widget | ) |
References metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getSpringWeight(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getVerticalOrientation(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.isSpringWidgetClass(), and metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layout().
void metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layout | ( | Widget | widget, |
Rectangle | parentBounds | ||
) | [protected] |
Same as layout(Widget), but cares optionally about the parent bounds.
widget | The widget |
parentBounds | The bounds of the given widget or null |
References metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.align, metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.gap, metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getGap(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getSerialAlignment(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getVerticalOrientation(), metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layoutPlaceChild(), and metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.verticalOrientation.
void metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layout | ( | Widget | widget | ) |
int metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layoutPlaceChild | ( | int | pos, |
int | size, | ||
SerialAlignment | align, | ||
boolean | verticalOrientation, | ||
Widget | child, | ||
Point | location, | ||
Rectangle | bounds | ||
) | [private] |
References metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.getMinSizeConstraint(), and metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.isSpringWidgetClass().
Referenced by metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.layout().
boolean metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.requiresJustification | ( | Widget | widget | ) |
SerialAlignment metadone.client.grasyla2.visuallibrary.widgets.layouts.SpringFlowLayout.align [private] |