YogaWidget

Abstract class to add common functionality related to Flex layout to all Widgets.

*This class implements methods related to flex layout required to be present in all widgets**

YogaWidget is an abstract class and hence no instances of the same should be created. It exists so that we can add similar functionalities related to flex layout to all widget's easily. We implement flex layout using a library called Yoga. As part of yoga every widget needs to store its own flex properties such as alignItems, flexDirection etc. This is done with the help of YogaWidget.

const { QWidget } = require("@nodegui/nodegui");
const view = new QWidget();
// getFlexNode is a method from YogaWidget
const flexNode = view.getFlexNode();

YogaWidget helps in storing all flex properties of a widget.

Type parameters

Signals: QObjectSignals

Hierarchy

QObject‹Signals›

YogaWidget

QWidget

Index

Constructors

Properties

Methods

Constructors

constructor

+ new YogaWidget(nativeElementOrParent?: NativeElement | QObject): YogaWidget

Inherited from QObject.constructor

Overrides EventWidget.constructor

Parameters:

NameType
nativeElementOrParent?NativeElement | QObject

Returns: YogaWidget

Properties

native

native: NativeElement | null

Inherited from Component.native

Methods

_id

_id(): number

Inherited from QObject._id

Get an ID identifying the underlying C++ object.

This can be useful when debugging memory problems with help from setLogCreateQObject() and setLogDestroyQObject(). The number is hash of the memory address of the C++ object.

Returns: number

a unique number which is valid for the lifetime of the C++ object.


addEventListener

addEventListenerSignalType›(signalType: SignalType, callback: Signals[SignalType], options?: EventListenerOptions): void

Inherited from EventWidget.addEventListener

Type parameters:

SignalType: keyof Signals

Parameters:

NameTypeDescription
signalTypeSignalTypeSignalType is a signal from the widgets signals interface.
callbackSignals[SignalType]Corresponding callback for the signal as mentioned in the widget's signal interface
options?EventListenerOptionsExtra optional options controlling how this event listener is added.

Returns: void

void

For example in the case of QPushButton:

const button = new QPushButton();
button.addEventListener('clicked',(checked)=>console.log("clicked"));
// here clicked is a value from QPushButtonSignals interface

addEventListener(eventType: WidgetEventTypes, callback: function, options?: EventListenerOptions): void

Inherited from EventWidget.addEventListener

Parameters:

eventType: WidgetEventTypes

callback: function

▸ (event?: NativeRawPointer‹"QEvent"›): void

Parameters:

NameType
event?NativeRawPointer‹"QEvent"›

Optional options: EventListenerOptions

Extra optional options controlling how this event listener is added.

For example in the case of QPushButton:

const button = new QPushButton();
button.addEventListener(WidgetEventTypes.HoverEnter,()=>console.log("hovered"));

Returns: void


children

children(): QObject[]

Inherited from QObject.children

Returns: QObject[]


delete

delete(): void

Inherited from QObject.delete

Returns: void


deleteLater

deleteLater(): void

Inherited from QObject.deleteLater

Returns: void


dumpObjectInfo

dumpObjectInfo(): void

Inherited from QObject.dumpObjectInfo

Returns: void


dumpObjectTree

dumpObjectTree(): void

Inherited from QObject.dumpObjectTree

Returns: void


eventProcessed

eventProcessed(): boolean

Inherited from EventWidget.eventProcessed

Get the state of the event processed flag

See setEventProcessed().

Returns: boolean

boolean True if the current event is flagged as processed.


getFlexNode

getFlexNode(): FlexNode

Returns: FlexNode


inherits

inherits(className: string): boolean

Inherited from QObject.inherits

Parameters:

NameType
classNamestring

Returns: boolean


killTimer

killTimer(timerId: number): void

Inherited from QObject.killTimer

Parameters:

NameType
timerIdnumber

Returns: void


objectName

objectName(): string

Inherited from QObject.objectName

Returns: string


parent

parent(): QObject

Inherited from QObject.parent

Returns: QObject


property

property(name: string): QVariant

Inherited from QObject.property

Parameters:

NameType
namestring

Returns: QVariant


removeEventListener

removeEventListenerSignalType›(signalType: SignalType, callback: Signals[SignalType], options?: EventListenerOptions): void

Inherited from EventWidget.removeEventListener

Type parameters:

SignalType: keyof Signals

Parameters:

NameType
signalTypeSignalType
callbackSignals[SignalType]
options?EventListenerOptions

Returns: void

removeEventListener(eventType: WidgetEventTypes, callback: function, options?: EventListenerOptions): void

Inherited from EventWidget.removeEventListener

Parameters:

eventType: WidgetEventTypes

callback: function

▸ (event?: NativeRawPointer‹"QEvent"›): void

Parameters:

NameType
event?NativeRawPointer‹"QEvent"›

Optional options: EventListenerOptions

Returns: void


setEventProcessed

setEventProcessed(isProcessed: boolean): void

Inherited from EventWidget.setEventProcessed

Mark the current event as having been processed

This method is used to indicate that the currently dispatched event has been processed and no further processing by superclasses is required. It only makes sense to call this method from an event handler.

When set, this flag will cause NodeGui's QObject::event() method to return true and not call the superclass event(), effectively preventing any further processing on this event.

Parameters:

NameTypeDescription
isProcessedbooleantrue if the event has been processed.

Returns: void


setFlexNodeSizeControlled

setFlexNodeSizeControlled(isSizeControlled: boolean): void

sets whether the widget's size is controlled by someone else (for example a window's size is controlled by its frame when dragged).

Parameters:

NameTypeDescription
isSizeControlledboolean

Returns: void


setObjectName

setObjectName(objectName: string): void

Inherited from QObject.setObjectName

Parameters:

NameType
objectNamestring

Returns: void


setParent

setParent(parent: QObject): void

Inherited from QObject.setParent

Parameters:

NameType
parentQObject

Returns: void


setProperty

setProperty(name: string, value: QVariantType): boolean

Inherited from QObject.setProperty

Parameters:

NameType
namestring
valueQVariantType

Returns: boolean


startTimer

startTimer(intervalMS: number, timerType: TimerType): number

Inherited from QObject.startTimer

Parameters:

NameTypeDefault
intervalMSnumber-
timerTypeTimerTypeTimerType.CoarseTimer

Returns: number