Есть ли в gwt встроенный парсер для преобразования строк на основе CSS в Java-конструкции?
IE. Мне интересно написать собственный виджет, который принимает, например, высоту / ширину:
public class MyWidget extends Composite{
private double width;
private Style.Unit widthUnit;
private double height;
private Style.Unit heightUnit;
/**
* @width - width of my widget in CSS dimensions (ie. "10px", "1em" ...)
* @height - height of my widget in CSS dimensions (ie. "10px", "1em" ...)
*/
public MyWidget(String width, String height){
// Parse out strings and set dimensions / units
}
}
Я мог бы легко сделать некоторое регулярное выражение в этом, но я подумал, что увижу, есть ли какой-то встроенный механизм для этого, я бы не хотел заново изобретать ...
Кроме того, я, конечно, думал о том, чтобы просто принять double width, Style.Unit widthUnit
в конструкторе, но setWidth
UiObject принимает строку CSS, так что мне все еще нужно выполнить некоторые операции с String, хотя и наоборот. В идеале у меня было бы 2 конструктора для реализации обеих возможностей с простым механизмом правильного разбора строк / размеров и единиц.
EDIT:
Забыл упомянуть ПРИЧИНУ, что я хотел бы разобрать эти значения:
Я пытаюсь написать простую панель прокрутки (например, iphone nav), поэтому, когда пользователь нажимает кнопку, новый «элемент» прокручивается справа.
На сервере это будет:
1) Получить новый элемент прокрутки
2) Расширьте упаковку прокрутки, чтобы сопровождать новый элемент (это где мне нужны фактические ширины)
2) Добавить к элементу прокрутки оболочки
3) Анимированная оболочка прокрутки (сдвинув влево на ширину 1 элемента), чтобы отобразить вновь добавленный элемент в видимой области панели оболочки
Причина, по которой мне нужны исходные значения ширины, заключается в том, что я хотел бы расширить панель прокрутки на ширину добавляемого элемента. Если я просто получаю строки, я не могу точно сказать setWidth( currentWidth + itemWidth)
В основном я пытаюсь имитировать JQuery Tools Scroller