В основном мне нужен редактор для логического утверждения, уравнения или условия.
Я пытаюсь сделать что-то похожее на то, что показано в http://www.youtube.com/watch?v=xFUWtztPibs через 1 мин 20 с и далее, и я подумал, что, может быть, я заново изобрету колесо, и оно уже там в качестве элемента управления, который вы можете просто использовать.
Пример: есть класс со следующими свойствами:
- имя_переменной (строка)
- компаратор (перечисление)
- значение (объект)
Этот класс представляет условие вида:
If <variable_name> <comparator> <value>
, который может содержать такие условия, как:
If x != 0
If temp <= 100
If currentChapter > 3
и т.д.
Это может быть более сложным - например, If 3dpoint(x,y,z) is outside a sphere(x,y,z,r)
или даже что-то вроде if (a>b) and ((3d point is inside a rectangle) or (not(b<c)))
и т. Д.
Пользователь должен иметь возможность редактировать эти условия (в частности, свойства класса) таким образом, как показано в видео - условие отображается в виде простого текста (например, элемента управления Label), с выделением изменяемых «частей» и clickable (ярлык, который является гиперссылкой), при щелчке по ним открывается модальное окно, в котором можно изменить их.
Например, когда вы выбираете новое условие из моего примера, оно показывает:
If <variable_name> <comparator> <value>
Если вы нажмете <comparator>
, вам будет разрешено выбрать из =, !=, >, <
и т. Д., А если вы нажмете <variable_name>
, вы сможете выбрать из списка уже используемых переменных или ввести новую. После того, как вы укажете его, метки изменятся на:
If variable_1 != <value>
Конечно, я могу сам создать такой интерфейс, динамически добавляя и удаляя метки внутри некоторого элемента управления TabLayout, подключая события OnClick к тем меткам, которые представляют изменяемые части, но, может быть, просто может быть что-то подобное уже сделано и доступны
Заранее спасибо!