sclass DynBigNumber extends DynModule { S description; Number value; int fontSize = 40; transient bool triggerOnChange; transient SimpleLiveValue lvText = new(S); transient SimpleLiveValue lvDesc = new(S); void setValue(S field, O value) { if (eq(get(this, field), value)) ret; set(this, field, value); if (triggerOnChange) dm_generalUpdate(); } // PUBLIC API void setValue(long i) { setValue('value, i); makeTexts(); } void setDescription(S desc) { setValue('description, desc); makeTexts(); } // END PUBLIC API void makeTexts() { lvText.set(value == null ? "-" : str(value)); lvDesc.set(description); } void start { makeTexts(); } JComponent visualize() { ret jLiveValueSection(lvDesc, centerLabel(makeBold(setFontSize(fontSize, jLiveValueLabel(lvText))))); } }