UNPKG

react-qml

Version:
62 lines (61 loc) 2.72 kB
export declare type AnchorLineProp = 'left' | 'top' | 'right' | 'bottom' | 'horizontalCenter' | 'verticalCenter' | 'baseline'; export declare type AnchorItemProp = 'fill' | 'centerIn'; export declare type AnchorRefProp = AnchorLineProp | AnchorItemProp; export declare function isAnchorLineProp(key: string): boolean; export declare function isAnchorItemProp(key: string): boolean; export declare function isAnchorProp(key: string): boolean; export declare type AnchorPrimitiveKey = 'margins' | 'topMargin' | 'bottomMargin' | 'leftMargin' | 'rightMargin' | 'horizontalCenterOffset' | 'verticalCenterOffset' | 'baselineOffset' | 'alignWhenCentered'; declare type AnchorSubscription = { source: Qml.QmlElement; sourceProp: AnchorRefProp; target?: Qml.QmlElement; targetProp?: AnchorRefProp; onTargetChanged?: () => void; }; export interface AnchorRef { value(): any; isReady(): boolean; type(): string; addSubscription(source: Qml.QmlElement, sourceProp: AnchorRefProp): void; removeSubscription(source: Qml.QmlElement, sourceProp: AnchorRefProp): void; } declare abstract class AbstractAnchorRef implements AnchorRef { protected qmlElement: Qml.QmlElement | null; protected subscriptions: Array<AnchorSubscription>; constructor(qmlElement?: Qml.QmlElement | null); abstract value(): any; abstract type(): string; protected processSubscriptions(): void; setQmlElement(qmlElement: Qml.QmlElement): void; isReady(): boolean; addSubscription(source: Qml.QmlElement, sourceProp: AnchorRefProp): void; removeSubscription(source: Qml.QmlElement, sourceProp: AnchorRefProp): void; } export declare class AnchorLineRef extends AbstractAnchorRef { private line; constructor(line: AnchorLineProp, qmlElement?: Qml.QmlElement | null); value(): any; type(): string; } export declare class Anchor extends AbstractAnchorRef { readonly id: Symbol; readonly left: AnchorLineRef; readonly horizontalCenter: AnchorLineRef; readonly right: AnchorLineRef; readonly top: AnchorLineRef; readonly verticalCenter: AnchorLineRef; readonly baseline: AnchorLineRef; readonly bottom: AnchorLineRef; constructor(); setQmlElement(qmlElement: Qml.QmlElement): void; value(): Qml.QmlElement | undefined; type(): string; static createRef(): Anchor; } export declare class ParentAnchor { private static parentAnchorSubscriptions; private static updateAnchors; static addSubscription(childElement: Qml.QmlElement, childPropName: AnchorRefProp, parentAnchorRef?: string): void; static removeSubscription(childElement: Qml.QmlElement, childPropName: AnchorRefProp): void; } export default Anchor;