status initialiseTextItem(TextItem ti, Name name, Any val, Code msg) { CharArray str; if ( isDefault(name) ) name = getClassNameObject(ti); if ( isDefault(val) ) val = NAME_; createDialogItem(ti, name); assign(ti, message, msg); assign(ti, value_set, DEFAULT); assign(ti, value_width, DEFAULT); assign(ti, print_name, CtoString("")); assign(ti, advance, NAME_next); assign(ti, show_label, ON); assign(ti, value_text, newObject(ClassText, EAV)); assign(ti, editable, ON); assign(ti, default_value, val); assign(ti, selection, getDefaultTextItem(ti)); assign(ti, type, getSelectionTypeTextItem(ti)); assign(ti, auto_value_align, OFF); assign(ti, hor_stretch, toInt(100)); assign(ti, style, NAME_normal); if ( (str = get(ti, NAME_printNameOfValue, val, EAV)) ) valueString(ti->print_name, str); resetTextItem(ti); return requestComputeGraphical(ti, DEFAULT); }
static status selectedJoint(Joint jt, BoolObj selected) { if ( jt->selected != selected ) { CHANGING_GRAPHICAL(jt, assign(jt, selected, selected); requestComputeGraphical(jt, DEFAULT); changedEntireImageGraphical(jt)); }
static status initialiseButton(Button b, Name name, Message msg, Name acc) { createDialogItem(b, name); assign(b, default_button, OFF); assign(b, show_focus_border, ON); assign(b, message, msg); if ( notDefault(acc) ) assign(b, accelerator, acc); return requestComputeGraphical(b, DEFAULT); }
static status initialiseBezier(Bezier b, Point start, Point end, Point c1, Point c2) { initialiseGraphical(b, ZERO, ZERO, ZERO, ZERO); if ( isDefault(c2) ) c2 = NIL; assign(b, start, start); assign(b, end, end); assign(b, control1, c1); assign(b, control2, c2); return requestComputeGraphical(b, DEFAULT); }
status initialiseLine(Line ln, Int xa, Int ya, Int xb, Int yb, Name arrows) { if ( isDefault(xa) ) xa = ZERO; if ( isDefault(ya) ) ya = ZERO; if ( isDefault(xb) ) xb = ZERO; if ( isDefault(yb) ) yb = ZERO; assign(ln, start_x, xa); assign(ln, start_y, ya); assign(ln, end_x, xb); assign(ln, end_y, yb); initialiseJoint((Joint) ln, ZERO, ZERO, ZERO, ZERO, arrows); return requestComputeGraphical(ln, DEFAULT); }
status setArrowsJoint(Joint jt, Graphical first, Graphical second) { if ( isDefault(first) ) first = jt->first_arrow; if ( isDefault(second) ) second = jt->second_arrow; if ( jt->first_arrow == first && jt->second_arrow == second ) succeed; CHANGING_GRAPHICAL(jt, assign(jt, first_arrow, first); assign(jt, second_arrow, second); requestComputeGraphical(jt, DEFAULT); changedEntireImageGraphical(jt)); succeed; }
static status initialiseLabel(Label lb, Name name, Any selection, FontObj font) { if ( isDefault(name) ) name = NAME_reporter; if ( isDefault(selection) ) selection = NAME_; createDialogItem(lb, name); if ( notDefault(font) ) assign(lb, font, font); selectionLabel(lb, selection); assign(lb, width, DEFAULT); assign(lb, wrap, NAME_extend); return requestComputeGraphical(lb, DEFAULT); }
static status initialiseArc(Arc a, Int radius, Real start_angle, Real size_angle) { initialiseJoint((Joint) a, ZERO, ZERO, ZERO, ZERO, DEFAULT); if ( isDefault(radius) ) radius = getClassVariableValueObject(a, NAME_radius); if ( isDefault(start_angle) ) start_angle = CtoReal(0.0); if ( isDefault(size_angle) ) size_angle = CtoReal(90.0); assign(a, size, newObject(ClassSize, radius, radius, EAV)); assign(a, position, newObject(ClassPoint, EAV)); assign(a, start_angle, start_angle); assign(a, size_angle, size_angle); assign(a, close, NAME_none); return requestComputeGraphical(a, DEFAULT); }
static status initialiseSlider(Slider s, Name name, Any low, Any high, Any def, Message msg) { createDialogItem(s, name); assign(s, label_width, DEFAULT); assign(s, show_label, ON); assign(s, show_value, ON); assign(s, low, low); assign(s, high, high); assign(s, message, msg); assign(s, width, toInt(200)); assign(s, drag, OFF); assign(s, format, DEFAULT); assign(s, default_value, def); if ( !restoreSlider(s) ) { assign(s, selection, s->low); displayedValueSlider(s, s->low); } return requestComputeGraphical(s, DEFAULT); }