Перейти к содержимому

Плейсхолдеры

Плейсхолдеры можно использовать в TextPlaceholder или в каллбеках.

Каллбек всегда является JsonObject и для всех ключей, которые начинаются с % и их значения строки - будут обработаны как плесхолдеры.

JsonObject callback = new JsonObject();
callback.addProperty("%text", "Result of 1+2 = %eval_1+2%"); // will be replaced with "Result of 1+2 = 3.0"
callback.addProperty("%shift_pressed", "%eval_{ q.shift_pressed() }%"); // will be replaced with "1.0" or "0.0"
callback.addProperty("normal_key", "This key is not a placeholder");
el.on(Trigger.MOUSE_CLICK_LEFT, new Edit().callback(callback));

Выполняет выражение и возвращает его результат.

%eval_<expr>%
%eval_{ <expr> }% - так как {} доступны в выражениях, то для понятности можно писать так
%eval_1+2% = 3.0

Выполняет выражение и возвращает его результат, отформатированный в указанном формате. Форматирование происходит с помощью String.format("%"+format, value). Символ процента % в формате писать не нужно, он добавится автоматически.

%evalf_<format>_<expr>%
%evalf_<format>_{ <expr> }%
%evalf_.2f_1/3% = 0.33
%evalf_.0f_{ pi }% = 3