-
Notifications
You must be signed in to change notification settings - Fork 30
UXNode
-
class
UXnode(php\gui\UXNode)
Базовый класс для всех визуальных компонентов в DevelNext. От этого класса наследуются кнопки, тексты, списки и все остальное. Это означает, что все визуальные компоненты имеют методы и свойства описанные ниже!
- Системные
- Внешний вид
- Позиция и размеры
- x, y, position, screenX, screenY, translateX, translateY, translateZ, width, height, size, scaleX, scaleY, layoutBounds, boundsInParent, managed
- Другое
Доступ к свойствам компонента выполняется следующим образом:
$var = $button->id; // id - это свойство компонента от класса UXNode.
// или
$var = $this->button->id;
// для изменения свойства достаточно следующего:
$this->button->id = 'new_value';Идентификатор.
CSS стили компонента в одну строку.
parent (UXParent)
Родительский компонент.
effects (UXEffectPipeline)
Эффекты компонента.
clip (UXNode)
Компонент, по очертанию которого обрезается текущий компонент, по-умолчанию null.
scene (UXScene)
Сцена, на которой находится компонент.
form (UXForm)
Форма, на которой находится компонент.
window (UXWindow)
Окно, на котором находится компонент.
Позиция по оси X (горизонтальная).
Позиция по оси Y (вертикальная).
Массив [x, y], позиция по x и y.
$button->position = [10, 30]; // 10 - x, 30 - y
list($x, $y) = $button->position;Смещение по X от начального значения.
Смещение по Y от начального значения.
Смещение по Z от начального значения.
Масштабирование по X, в процентах от 0 до 1 и выше.
$button->scaleX = 2.0; // растянуть кнопку в 2 раза, 200% - от начального размера.Масштабирование по Y, в процентах от 0 до 1 и выше.
Абсолютная позиция компонента по X (горизонтали) на экране.
Абсолютная позиция компонента по Y (вертикали) на экране.
Ширина компонента.
Высота компонента.
Размеры компонента [width, height] в виде массива.
$button->size = [100, 30]; // ширина 100, высота 30
list($width, $height) = $button->size;Видимость компонента, по-умолчанию true.
Учитывать ли размеры компонента при расчете в различных лэйаутах (layout), по-умолчанию true.
Доступность компонента, по-умолчанию true.
Полупрозрачность компонента, от 0 до 1, где 0 - полная невидимость, 1 - полная непрозрачность. По-умолчанию 1.0.
$button->opacity = 0.7; // 70% от видимости объекта.Угол наклона компонента, от 0 до 360 градусов, по-умолчанию 0.
Только для чтения
Стоит ли на компоненте фокус, да - true, нет - false.
Доступность фокусировки через клавишу tab, по-умолчанию true.
classes (UXList)
Список css классов для применения JavaFX стилей.
$button->classes->add('my-button');Список css классов в виде одной строки, а не UXList, где все классы отделены между собой пробелом.
$button->classesString = 'my-button other-class';
Любые пользовательские данные, которые необходимо хранить внутри компонента. См. также метод data().
$button->userData = 'my data string';
$button->userData = ['abcd', 'xyz', 3478];Свойство может хранить любые значения - строки, числа, массивы, объекты и т.д.
Игнорирование действий курсора, по-умолчанию false. Если опция включения, компонент перестанет реагировать на любые клики мышкой, хотя останется видимым и реагирующим на другие события.
cursor (string / UXImage)
Курсор при наведении на компонент, по-умолчанию DEFAULT. Либо строка (символьный код курсора), либо изображение (UXImage) - изображение курсора.
Только для чтения Размеры и позиция компонента внутри его лэйаута (layout), массив вида:
['x' => 0.0, 'y' => 0.0, 'z' => 0.0, 'width' => 0.0, 'height' => 0.0, 'depth' => 0.0]Размеры и позиция компонента относительно его родительского компонента, массив вида:
['x' => 0.0, 'y' => 0.0, 'z' => 0.0, 'width' => 0.0, 'height' => 0.0, 'depth' => 0.0]Конструктор компонента, не имеет параметров, публичный.
data(string $name[, mixed $value]): mixedМетод для хранения и получения пользовательских данных из компонента. Позволяет хранить любые данные, связанные с компонентов.
При использовании метода
data(), свойствоuserDataбудет перезаписано и очищено.
// запись данных
$button->data('key', 'my value');
// получение данных
$value = $button->data('key');screenToLocal(double $x, double $y): arrayПереводит координаты (x, y) из абсолютных (экранных) в локальные. Возвращает массив координат [x, y].
snapshot(): UXImageДелает скриншот компонента и возвращает его в виде картинки объекта UXImage.
lookup(string $selector): UXNodeИщет первый компонент среди содержимого по css селектору и возвращает его. Если ничего не найдено, возвращает null.
lookupAll($selector): UXNode[]Ищет все компоненты среди содержимого по css селектору и возвращает их. Если ничего не найдено, возвращает пустой массив.
resize(double $width, double $height)Меняет ширину и высотку компонента. См. также свойство [size](#size-array).
relocate(double $x, double $y)Меняет позицию (x, y) компоненту. См. также свойство [position](#position-array).
Переместить компонент поверх всех объектов.
Переместить компонент под все объекты.
Перевести фокус на объект.
Скрыть объект, см. также свойство [visible](#visible-bool).
Показать объект, см. также свойство visible.
Показать объект если он скрыт и скрыть объект если он отображается, см. также свойство visible.
php isFree(): bool
Возвращает true, если объект не находится ни на каком другом объекте.
/**
* Возвращает true, если объект не находится ни на каком другом объекте.
* @return bool
*/
public function isFree()
{
}
/**
* Уничтожить объект.
*/
public function free()
{
}
/**
* Start drag and drop
*/
public function startFullDrag()
{
}
/**
* @param array $modes variants MOVE, COPY, LINK
* @return UXDragboard
*/
public function startDrag(array $modes)
{
}
/**
* @param string|array $name (optional)
* @param string $value (optional)
* @return string|array|void
*/
public function css($name, $value)
{
}
/**
* @param string $event
* @param callable $handler
* @param string $group
*/
public function on($event, callable $handler, $group = 'general')
{
}
/**
* @param string $event
* @param string $group (optional)
*/
public function off($event, $group)
{
}
/**
* @param string $event
* @param UXEvent $e (optional)
*/
public function trigger($event, UXEvent $e)
{
}
/**
* Use observer() ..
* @deprecated
* @param string $property
* @param callable $listener (UXNode $self, $property, $oldValue, $newValue)
*/
public function watch($property, callable $listener)
{
}
/**
* @param string $property
* @return UXValue
* @throws IllegalArgumentException
*/
public function observer($property)
{
}
}