UNPKG

@nodegui/nodegui

Version:

A cross-platform library to build native desktop apps.

100 lines (91 loc) 3.53 kB
import { QWidget, QWidgetSignals } from './QWidget'; import { NativeElement } from '../core/Component'; import { SizeAdjustPolicy } from '../QtEnums'; import { QIcon } from '../QtGui/QIcon'; import { QVariant } from '../QtCore/QVariant'; import { QStandardItemModel } from './QStandardItemModel'; import { QSize } from '../QtCore/QSize'; import { QModelIndex } from '../QtCore/QModelIndex'; /** > Create and control a selectable drop down menu. * **This class is a JS wrapper around Qt's [QComboBox class](https://doc.qt.io/qt-5/qcombobox.html)** A `QComboBox` provides a means of presenting a list of options to the user. ### Example ```javascript const { QComboBox } = require("@nodegui/nodegui"); const comboBox = new QComboBox(); comboBox.addItem(undefined, 'comboBox item 0'); comboBox.addItem(undefined, 'comboBox item 1'); comboBox.addItem(undefined, 'comboBox item 2'); comboBox.addItem(undefined, 'comboBox item 3'); comboBox.addEventListener('currentTextChanged', (text) => { console.log('currentTextChanged: ' + text); }); comboBox.addEventListener('currentIndexChanged', (index) => { console.log('currentIndexChanged: ' + index); }); ``` */ export declare class QComboBox extends QWidget<QComboBoxSignals> { constructor(arg?: QWidget<QWidgetSignals> | NativeElement); addItem(icon: QIcon | undefined, text: string, userData?: QVariant): void; addItems(texts: string[]): void; count(): number; currentIndex(): number; currentText(): string; duplicatesEnabled(): boolean; hasFrame(): boolean; hidePopup(): void; iconSize(): QSize; insertItem(index: number, icon: QIcon | undefined, text: string, userData?: QVariant): void; insertItems(index: number, texts: string[]): void; insertPolicy(): InsertPolicy; insertSeparator(index: number): void; isEditable(): boolean; itemData(index: number): QVariant; itemText(index: number): string; maxCount(): number; maxVisibleItems(): number; minimumContentsLength(): number; modelColumn(): number; removeItem(index: number): void; rootModelIndex(): QModelIndex; setDuplicatesEnabled(enable: boolean): void; setEditable(editable: boolean): void; setFrame(showFrame: boolean): void; setIconSize(size: QSize): void; setInsertPolicy(policy: InsertPolicy): void; setItemText(index: number, text: string): void; setMaxCount(max: number): void; setMaxVisibleItems(index: number): void; setMinimumContentsLength(characters: number): void; setModel(model: QStandardItemModel): void; setModelColumn(visibleColumn: number): void; setRootModelIndex(index: QModelIndex): void; setSizeAdjustPolicy(policy: SizeAdjustPolicy): void; sizeAdjustPolicy(): number; showPopup(): void; clear(): void; clearEditText(): void; setCurrentIndex(index: number): void; setCurrentText(text: string): void; setEditText(text: string): void; } export declare enum InsertPolicy { NoInsert = 0, InsertAtTop = 1, InsertAtCurrent = 2, InsertAtBottom = 3, InsertAfterCurrent = 4, InsertBeforeCurrent = 5, InsertAlphabetically = 6 } export interface QComboBoxSignals extends QWidgetSignals { activated: (index: number) => void; currentIndexChanged: (index: number) => void; currentTextChanged: (text: string) => void; editTextChanged: (text: string) => void; highlighted: (index: number) => void; textActivated: (text: string) => void; textHighlighted: (text: string) => void; }