Skip to content
Dmitriy Zayceff edited this page Feb 1, 2017 · 70 revisions
  • class UXnode (php\gui\UXNode)

Базовый класс для всех визуальных компонентов в DevelNext. От этого класса наследуются кнопки, тексты, списки и все остальное. Это означает, что все визуальные компоненты имеют методы и свойства описанные ниже!

Свойства

Методы


Доступ к свойствам компонента выполняется следующим образом:

$var = $button->id; // id - это свойство компонента от класса UXNode.
// или
$var = $this->button->id;

// для изменения свойства достаточно следующего:
$this->button->id = 'new_value';

Свойства

id (string)

Идентификатор.


style (string)

CSS стили компонента в одну строку.


parent (UXParent)

Родительский компонент.


effects (UXEffectPipeline)

Эффекты компонента.


clip (UXNode)

Компонент, по очертанию которого обрезается текущий компонент, по-умолчанию null.


scene (UXScene)

Сцена, на которой находится компонент.


form (UXForm)

Форма, на которой находится компонент.


window (UXWindow)

Окно, на котором находится компонент.


x (double)

Позиция по оси X (горизонтальная).


y (double)

Позиция по оси Y (вертикальная).


position (array)

Массив [x, y], позиция по x и y.

$button->position = [10, 30]; // 10 - x, 30 - y

list($x, $y) = $button->position;

translateX (double)

Смещение по X от начального значения.


translateY (double)

Смещение по Y от начального значения.


translateZ (double)

Смещение по Z от начального значения.


scaleX (double)

Масштабирование по X, в процентах от 0 до 1 и выше.

$button->scaleX = 2.0; // растянуть кнопку в 2 раза, 200% - от начального размера.

scaleY (double)

Масштабирование по Y, в процентах от 0 до 1 и выше.


screenX (double)

Абсолютная позиция компонента по X (горизонтали) на экране.


screenY (double)

Абсолютная позиция компонента по Y (вертикали) на экране.


width (double)

Ширина компонента.


height (double)

Высота компонента.


size (array)

Размеры компонента [width, height] в виде массива.

$button->size = [100, 30]; // ширина 100, высота 30

list($width, $height) = $button->size;

visible (bool)

Видимость компонента, по-умолчанию true.


managed (bool)

Учитывать ли размеры компонента при расчете в различных лэйаутах (layout), по-умолчанию true.


enabled (bool)

Доступность компонента, по-умолчанию true.


opacity (bool)

Полупрозрачность компонента, от 0 до 1, где 0 - полная невидимость, 1 - полная непрозрачность. По-умолчанию 1.0.

$button->opacity = 0.7; // 70% от видимости объекта.

rotate (double)

Угол наклона компонента, от 0 до 360 градусов, по-умолчанию 0.


focused (bool)

Только для чтения

Стоит ли на компоненте фокус, да - true, нет - false.


focusTraversable (bool)

Доступность фокусировки через клавишу tab, по-умолчанию true.


classes (UXList)

Список css классов для применения JavaFX стилей.

$button->classes->add('my-button');

classesString (string)

Список css классов в виде одной строки, а не UXList, где все классы отделены между собой пробелом.

$button->classesString = 'my-button other-class';

userData (mixed)

Любые пользовательские данные, которые необходимо хранить внутри компонента. См. также метод data().

$button->userData = 'my data string';
$button->userData = ['abcd', 'xyz', 3478];

Свойство может хранить любые значения - строки, числа, массивы, объекты и т.д.


mouseTransparent (bool)

Игнорирование действий курсора, по-умолчанию false. Если опция включения, компонент перестанет реагировать на любые клики мышкой, хотя останется видимым и реагирующим на другие события.


cursor (string / UXImage)

Курсор при наведении на компонент, по-умолчанию DEFAULT. Либо строка (символьный код курсора), либо изображение (UXImage) - изображение курсора.


layoutBounds (array)

Только для чтения Размеры и позиция компонента внутри его лэйаута (layout), массив вида:

['x' => 0.0, 'y' => 0.0, 'z' => 0.0, 'width' => 0.0, 'height' => 0.0, 'depth' => 0.0]

boundsInParent (array)

Размеры и позиция компонента относительно его родительского компонента, массив вида:

['x' => 0.0, 'y' => 0.0, 'z' => 0.0, 'width' => 0.0, 'height' => 0.0, 'depth' => 0.0]

Методы

__construct()

Конструктор компонента, не имеет параметров, публичный.


data()

data(string $name[, mixed $value]): mixed

Метод для хранения и получения пользовательских данных из компонента. Позволяет хранить любые данные, связанные с компонентов.

При использовании метода data(), свойство userData будет перезаписано и очищено.

// запись данных
$button->data('key', 'my value');

// получение данных
$value = $button->data('key');

screenToLocal()

screenToLocal(double $x, double $y): array

Переводит координаты (x, y) из абсолютных (экранных) в локальные. Возвращает массив координат [x, y].


snapshot()

snapshot(): UXImage

Делает скриншот компонента и возвращает его в виде картинки объекта UXImage.


lookup()

lookup(string $selector): UXNode

Ищет первый компонент среди содержимого по css селектору и возвращает его. Если ничего не найдено, возвращает null.


lookupAll

lookupAll($selector): UXNode[]

Ищет все компоненты среди содержимого по css селектору и возвращает их. Если ничего не найдено, возвращает пустой массив.


resize()

resize(double $width, double $height)

Меняет ширину и высотку компонента. См. также свойство [size](#size-array).


relocate()

relocate(double $x, double $y)

Меняет позицию (x, y) компоненту. См. также свойство [position](#position-array).


toFront()

Переместить компонент поверх всех объектов.


toBack()

Переместить компонент под все объекты.


requestFocus()

Перевести фокус на объект.


hide()

Скрыть объект, см. также свойство [visible](#visible-bool).


show()

Показать объект, см. также свойство visible.


toggle()

Показать объект если он скрыт и скрыть объект если он отображается, см. также свойство visible.


isFree()

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)
    {
    }
}
Clone this wiki locally