-
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] /**
* UXNode constructor.
*/
public function __construct()
{
}
/**
* Getter and Setter for object data
* @param string $name
* @param mixed $value (optional)
* @return mixed
*/
public function data($name, $value)
{
}
/**
* @param $x
* @param $y
* @return array [x, y]
*/
public function screenToLocal($x, $y)
{
}
/**
* Возвращает скриншот компонента.
* @return UXImage
*/
public function snapshot()
{
}
/**
* Ищет и возвращает один компонент по css селектору.
*
* @param string $selector
*
* @return UXNode
*/
public function lookup($selector)
{
}
/**
* Ищет и возвращает все компоненты по css селектору.
*
* @param $selector
*
* @return UXNode[]
*/
public function lookupAll($selector)
{
}
/**
* @param double $width
* @param double $height
*/
public function resize($width, $height)
{
}
/**
* @param double $x
* @param double $y
*/
public function relocate($x, $y)
{
}
/**
* Переместить компонент поверх объектов.
*/
public function toFront()
{
}
/**
* Переместить компонент под объекты.
*/
public function toBack()
{
}
/**
* Перевести фокус на объект.
*/
public function requestFocus()
{
}
/**
* Скрыть объект.
*/
public function hide()
{
}
/**
* Показать объект.
*/
public function show()
{
}
/**
* Скрыть объект если он видимый, показать если невидим.
*/
public function toggle()
{
}
/**
* Возвращает 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)
{
}
}