declare namespace Titanium { namespace UI { /** * Base event for class Titanium.UI.Picker */ interface PickerBaseEvent extends Ti.Event { /** * Source object that fired the event. */ source: Titanium.UI.Picker; } /** * Fired when the device detects a click against the view. */ interface Picker_click_Event extends PickerBaseEvent { /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the device detects a double click against the view. */ interface Picker_dblclick_Event extends PickerBaseEvent { /** * Returns `true` if the double click passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the device detects a double tap against the view. */ interface Picker_doubletap_Event extends PickerBaseEvent { /** * Returns `true` if the double tap passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the view element gains focus. */ interface Picker_focus_Event extends PickerBaseEvent { } /** * Fired when a hardware key is pressed in the view. */ interface Picker_keypressed_Event extends PickerBaseEvent { /** * The code for the physical key that was pressed. For more details, see [KeyEvent](https://developer.android.com/reference/android/view/KeyEvent.html). This API is experimental and subject to change. */ keyCode: number; } /** * Fired when the device detects a long click. */ interface Picker_longclick_Event extends PickerBaseEvent { } /** * Fired when the device detects a long press. */ interface Picker_longpress_Event extends PickerBaseEvent { /** * Returns `true` if the long press passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the device detects a pinch gesture. */ interface Picker_pinch_Event extends PickerBaseEvent { /** * The average distance between each of the pointers forming the gesture in progress through * the focal point. */ currentSpan: number; /** * The average X distance between each of the pointers forming the gesture in progress through * the focal point. */ currentSpanX: number; /** * The average Y distance between each of the pointers forming the gesture in progress through * the focal point. */ currentSpanY: number; /** * The X coordinate of the current gesture's focal point. */ focusX: number; /** * The Y coordinate of the current gesture's focal point. */ focusY: number; /** * Returns `true` if a scale gesture is in progress, `false` otherwise. */ inProgress: boolean; /** * The previous average distance between each of the pointers forming the gesture in progress through * the focal point. */ previousSpan: number; /** * The previous average X distance between each of the pointers forming the gesture in progress through * the focal point. */ previousSpanX: number; /** * The previous average Y distance between each of the pointers forming the gesture in progress through * the focal point. */ previousSpanY: number; /** * The scale factor relative to the points of the two touches in screen coordinates. */ scale: number; /** * The event time of the current event being processed. */ time: number; /** * The time difference in milliseconds between the previous accepted scaling event and the * current scaling event. */ timeDelta: number; /** * The velocity of the pinch in scale factor per second. */ velocity: number; } /** * Fired when a layout cycle is finished. */ interface Picker_postlayout_Event extends PickerBaseEvent { } /** * Fired when the device detects a single tap against the view. */ interface Picker_singletap_Event extends PickerBaseEvent { /** * Returns `true` if the single tap passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the device detects a swipe gesture against the view. */ interface Picker_swipe_Event extends PickerBaseEvent { /** * Direction of the swipe--either 'left', 'right', 'up', or 'down'. */ direction: string; /** * Returns `true` if the swipe passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * X coordinate of the event's endpoint from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event's endpoint from the `source` view's coordinate system. */ y: number; } /** * Fired when a touch event is interrupted by the device. */ interface Picker_touchcancel_Event extends PickerBaseEvent { /** * A value which indicates the stylus angle on the screen. If the stylus is perpendicular to the screen or no stylus is * being used, the value will be Pi/2. If the stylus is parallel to the screen, the value will be 0. * Note: This property is only available for iOS devices that support 3D-Touch and are 9.1 or later. */ altitudeAngle: number; /** * The x value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewX: number; /** * The y value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewY: number; /** * The current force value of the touch event. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later and on some Android devices. */ force: number; /** * Maximum possible value of the force property. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ maximumPossibleForce: number; /** * Returns `true` if the touch passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * The current size of the touch area. Note: This property is only available on some Android devices. */ size: number; /** * The time (in seconds) when the touch was used in correlation with the system start up. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ timestamp: number; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when a touch event is completed. */ interface Picker_touchend_Event extends PickerBaseEvent { /** * A value which indicates the stylus angle on the screen. If the stylus is perpendicular to the screen or no stylus is * being used, the value will be Pi/2. If the stylus is parallel to the screen, the value will be 0. * Note: This property is only available for iOS devices that support 3D-Touch and are 9.1 or later. */ altitudeAngle: number; /** * The x value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewX: number; /** * The y value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Penciland are 9.1 or later. */ azimuthUnitVectorInViewY: number; /** * The current force value of the touch event. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later and on some Android devices. */ force: number; /** * Maximum possible value of the force property. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ maximumPossibleForce: number; /** * Returns `true` if the touch passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * The current size of the touch area. Note: This property is only available on some Android devices. */ size: number; /** * The time (in seconds) when the touch was used in correlation with the system start up. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ timestamp: number; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired as soon as the device detects movement of a touch. */ interface Picker_touchmove_Event extends PickerBaseEvent { /** * A value which indicates the stylus angle on the screen. If the stylus is perpendicular to the screen or no stylus is * being used, the value will be Pi/2. If the stylus is parallel to the screen, the value will be 0. * Note: This property is only available for iOS devices that support 3D-Touch and are 9.1 or later. */ altitudeAngle: number; /** * The x value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewX: number; /** * The y value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewY: number; /** * The current force value of the touch event. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later and on some Android devices. */ force: number; /** * Maximum possible value of the force property. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ maximumPossibleForce: number; /** * Returns `true` if the touch passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * The current size of the touch area. Note: This property is only available on some Android devices. */ size: number; /** * The time (in seconds) when the touch was used in correlation with the system start up. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ timestamp: number; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired as soon as the device detects a touch gesture. */ interface Picker_touchstart_Event extends PickerBaseEvent { /** * A value which indicates the stylus angle on the screen. If the stylus is perpendicular to the screen or no stylus is * being used, the value will be Pi/2. If the stylus is parallel to the screen, the value will be 0. * Note: This property is only available for iOS devices that support 3D-Touch and are 9.1 or later. */ altitudeAngle: number; /** * The x value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewX: number; /** * The y value of the unit vector that points in the direction of the azimuth of the stylus. * Note: This property is only available for iOS devices that support the Apple Pencil and are 9.1 or later. */ azimuthUnitVectorInViewY: number; /** * The current force value of the touch event. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later and on some Android devices. */ force: number; /** * Maximum possible value of the force property. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ maximumPossibleForce: number; /** * Returns `true` if the touch passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * The current size of the touch area. Note: This property is only available on some Android devices. */ size: number; /** * The time (in seconds) when the touch was used in correlation with the system start up. * Note: This property is only available for iOS devices that support 3D-Touch and run 9.0 or later. */ timestamp: number; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the device detects a two-finger tap against the view. */ interface Picker_twofingertap_Event extends PickerBaseEvent { /** * Returns `true` if the tap passed through an overlapping window belonging to another app. * This is a security feature to protect an app from "tapjacking", where a malicious app can use a * system overlay to intercept touch events in your app or to trick the end-user to tap on UI * in your app intended for the overlay. */ obscured: boolean; /** * X coordinate of the event from the `source` view's coordinate system. */ x: number; /** * Y coordinate of the event from the `source` view's coordinate system. */ y: number; } /** * Fired when the value of any column's row is changed. */ interface Picker_change_Event extends PickerBaseEvent { /** * The column object. On iOS, only applicable to * picker types. */ column: Titanium.UI.PickerColumn; /** * Selected column index. On iOS, only applicable to * picker types. */ columnIndex: number; /** * The selected duration in milliseconds. Applicable to picker types. */ countDownDuration: number; /** * The row object. On iOS, only applicable to picker types. */ row: Titanium.UI.PickerRow; /** * Selected row index. On iOS, only applicable to * picker types. */ rowIndex: number; /** * Array of selected values, one element per column in the picker. Applicable to * picker types. */ selectedValue: string[]; /** * The selected value. Applicable to date/time pickers only. This property is read-only * on Android. */ value: string; } interface PickerEventMap extends ProxyEventMap { change: Picker_change_Event; click: Picker_click_Event; dblclick: Picker_dblclick_Event; doubletap: Picker_doubletap_Event; focus: Picker_focus_Event; keypressed: Picker_keypressed_Event; longclick: Picker_longclick_Event; longpress: Picker_longpress_Event; pinch: Picker_pinch_Event; postlayout: Picker_postlayout_Event; singletap: Picker_singletap_Event; swipe: Picker_swipe_Event; touchcancel: Picker_touchcancel_Event; touchend: Picker_touchend_Event; touchmove: Picker_touchmove_Event; touchstart: Picker_touchstart_Event; twofingertap: Picker_twofingertap_Event; } /** * A control used to select one or more fixed values. */ class Picker extends Titanium.UI.View { /** * Coordinate of the view about which to pivot an animation. */ anchorPoint: never; /** * Background color of the picker, as a color name or hex triplet. */ backgroundColor: string | Titanium.UI.Color; /** * Disabled background color of the view, as a color name or hex triplet. */ backgroundDisabledColor: never; /** * Disabled background image for the view, specified as a local file path or URL. */ backgroundDisabledImage: never; /** * Focused background color of the view, as a color name or hex triplet. */ backgroundFocusedColor: never; /** * Focused background image for the view, specified as a local file path or URL. */ backgroundFocusedImage: never; /** * A background gradient for the view. */ backgroundGradient: never; /** * Background image for the view, specified as a local file path or URL. */ backgroundImage: never; /** * Size of the left end cap. */ backgroundLeftCap: never; /** * Determines whether to tile a background across a view. */ backgroundRepeat: never; /** * Selected background color of the view, as a color name or hex triplet. */ backgroundSelectedColor: never; /** * Selected background image url for the view, specified as a local file path or URL. */ backgroundSelectedImage: never; /** * Size of the top end cap. */ backgroundTopCap: never; /** * Border style to use when picker is shown as a text field or drop-down field. */ borderStyle: number; /** * Determines whether the calenderView is visible. */ calendarViewShown: boolean; /** * View's center position, in the parent view's coordinates. */ center: never; /** * Array of this view's child views. */ readonly children: never; /** * Columns used for this picker, as an array of objects. */ columns: Titanium.UI.PickerColumn[]; /** * Duration in milliseconds used for a Countdown Timer picker. */ countDownDuration: number; /** * Determines how a date or time picker should appear. */ datePickerStyle: number; /** * Sets the text color of date- and time-pickers. */ dateTimeColor: string | Titanium.UI.Color; /** * Font to use for text. */ font: Font; /** * Determines whether the Time pickers display in 24-hour or 12-hour clock format. */ format24: boolean; /** * Text to be shown above date/time when picker is shown as a text field or drop-down field. */ hintText: string; /** * Specifies how the view positions its children. * One of: 'composite', 'vertical', or 'horizontal'. */ layout: never; /** * Locale used when displaying Date and Time picker values. */ locale: string; /** * Maximum date displayed when a Date picker is in use. */ maxDate: Date; /** * Minimum date displayed when a Date picker is in use. */ minDate: Date; /** * Interval in minutes displayed when one of the Time types of pickers is in use. */ minuteInterval: number; /** * Determines if a multicolumn spinner or single column drop-down picker should be used. */ nativeSpinner: boolean; /** * Determines whether the visual selection indicator is shown. * @deprecated This property is ignored as of Titanium 10.0.1. */ selectionIndicator: boolean; /** * Determines whether calling the method `setSelectedRow` opens when called */ selectionOpens: boolean; /** * The view's tintColor */ tintColor: never; /** * Determines the type of picker displayed */ type: number; /** * Determines if a multicolumn spinner or single column drop-down picker should be used. */ useSpinner: boolean; /** * Date and time value for Date and Time pickers. */ value: Date; /** * Number of visible rows to display. This is only applicable to a plain picker and when the * `useSpinner` is `true`. * @deprecated This property is ignored as of Titanium 10.0.1. */ visibleItems: number; /** * Z-index stack order position, relative to other sibling views. */ zIndex: never; /** * Adds rows or columns to the picker. */ add(data: Titanium.UI.PickerRow[] | Titanium.UI.PickerRow | Titanium.UI.PickerColumn[] | Titanium.UI.PickerColumn): void; /** * Adds the specified callback as an event listener for the named event. */ addEventListener(name: K, callback: (this: Titanium.UI.Picker, event: PickerEventMap[K]) => void): void; /** * Adds the specified callback as an event listener for the named event. */ addEventListener(name: string, callback: (param0: Titanium.Event) => void): void; /** * Fires a synthesized event to any registered listeners. */ fireEvent(name: K, event?: PickerEventMap[K]): void; /** * Fires a synthesized event to any registered listeners. */ fireEvent(name: string, event?: any): void; /** * Gets the selected row for a column, or `null` if none exists. */ getSelectedRow(index: number): Titanium.UI.PickerRow; /** * Repopulates values for a column. */ reloadColumn(column: Titanium.UI.PickerColumn): void; /** * Removes a child view from this view's hierarchy. */ remove: never; /** * Removes all child views from this view's hierarchy. */ removeAllChildren: never; /** * Removes the specified callback as an event listener for the named event. */ removeEventListener(name: K, callback: (this: Titanium.UI.Picker, event: PickerEventMap[K]) => void): void; /** * Removes the specified callback as an event listener for the named event. */ removeEventListener(name: string, callback: (param0: Titanium.Event) => void): void; /** * Replaces a view at the specified position in the [children](Titanium.UI.View.children) array. */ replaceAt: never; /** * Selects a column's row. */ setSelectedRow(column: number, row: number, animated?: boolean): void; /** * Sets the date and time value property for Date pickers. * @deprecated Use the property instead */ setValue: never; /** * Shows Date picker as a modal dialog. */ showDatePickerDialog(dictObj: any): void; /** * Shows Time picker as a modal dialog. */ showTimePickerDialog(dictObj: any): void; } } }