QListView Class
La classe QListView permet d'afficher un modèle sous forme de liste ou d'icônes. En savoir plus...
| En-tête : | #include <QListView> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite de : | QAbstractItemView |
| Hérité par : |
Types publics
| enum | Flow { LeftToRight, TopToBottom } |
| enum | LayoutMode { SinglePass, Batched } |
| enum | Movement { Static, Free, Snap } |
| enum | ResizeMode { Fixed, Adjust } |
| enum | ViewMode { ListMode, IconMode } |
Propriétés
|
|
Fonctions publiques
| QListView(QWidget *parent = nullptr) | |
| virtual | ~QListView() |
| int | batchSize() const |
| void | clearPropertyFlags() |
| QListView::Flow | flow() const |
| QSize | gridSize() const |
| bool | isRowHidden(int row) const |
| bool | isSelectionRectVisible() const |
| bool | isWrapping() const |
| Qt::Alignment | itemAlignment() const |
| QListView::LayoutMode | layoutMode() const |
| int | modelColumn() const |
| QListView::Movement | movement() const |
| QListView::ResizeMode | resizeMode() const |
| void | setBatchSize(int batchSize) |
| void | setFlow(QListView::Flow flow) |
| void | setGridSize(const QSize &size) |
| void | setItemAlignment(Qt::Alignment alignment) |
| void | setLayoutMode(QListView::LayoutMode mode) |
| void | setModelColumn(int column) |
| void | setMovement(QListView::Movement movement) |
| void | setResizeMode(QListView::ResizeMode mode) |
| void | setRowHidden(int row, bool hide) |
| void | setSelectionRectVisible(bool show) |
| void | setSpacing(int space) |
| void | setUniformItemSizes(bool enable) |
| void | setViewMode(QListView::ViewMode mode) |
| void | setWordWrap(bool on) |
| void | setWrapping(bool enable) |
| int | spacing() const |
| bool | uniformItemSizes() const |
| QListView::ViewMode | viewMode() const |
| bool | wordWrap() const |
Fonctions publiques réimplémentées
| virtual QModelIndex | indexAt(const QPoint &p) const override |
| virtual void | scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override |
| virtual void | setRootIndex(const QModelIndex &index) override |
| virtual QRect | visualRect(const QModelIndex &index) const override |
Signaux
| void | indexesMoved(const QModelIndexList &indexes) |
Fonctions protégées
| QRect | rectForIndex(const QModelIndex &index) const |
| void | setPositionForIndex(const QPoint &position, const QModelIndex &index) |
Fonctions protégées réimplémentées
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override |
| virtual void | dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>()) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *event) override |
| virtual bool | event(QEvent *e) override |
| virtual int | horizontalOffset() const override |
| virtual void | initViewItemOption(QStyleOptionViewItem *option) const override |
| virtual bool | isIndexHidden(const QModelIndex &index) const override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual QModelIndex | moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override |
| virtual void | rowsInserted(const QModelIndex &parent, int start, int end) override |
| virtual void | scrollContentsBy(int dx, int dy) override |
| virtual QModelIndexList | selectedIndexes() const override |
| virtual void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override |
| virtual void | startDrag(Qt::DropActions supportedActions) override |
| virtual void | timerEvent(QTimerEvent *e) override |
| virtual void | updateGeometries() override |
| virtual int | verticalOffset() const override |
| virtual QSize | viewportSizeHint() const override |
| virtual QRegion | visualRegionForSelection(const QItemSelection &selection) const override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Description détaillée

Une classe QListView présente les éléments stockés dans un modèle, soit sous la forme d'une simple liste non hiérarchique, soit sous la forme d'une collection d'icônes. Cette classe est utilisée pour fournir des listes et des vues d'icônes qui étaient auparavant fournies par les classes QListBox et QIconView, mais en utilisant l'approche plus flexible offerte par l'architecture modèle/vue de Qt.
La classe QListView fait partie des classes modèle/vue et s'inscrit dans le cadre modèle/vue de Qt.
Cette vue n’affiche pas d’en-têtes horizontaux ou verticaux ; pour afficher une liste d’éléments avec un en-tête horizontal, utilisez plutôt QTreeView.
QListView implémente les interfaces définies par la classe QAbstractItemView afin de pouvoir afficher les données fournies par des modèles dérivés de la classe QAbstractItemModel.
Les éléments d’une vue de liste peuvent être affichés selon l’un des deux modes de vue suivants : en mode « ListMode », les éléments sont affichés sous la forme d’une simple liste ; en mode « IconMode », la vue de liste prend la forme d’une vue par icônes dans laquelle les éléments sont affichés avec des icônes, à l’instar des fichiers dans un gestionnaire de fichiers. Par défaut, la vue de liste est en mode « ListMode ». Pour modifier le mode d’affichage, utilisez la fonction ` setViewMode()` ; pour déterminer le mode d’affichage actuel, utilisez ` viewMode()`.
Les éléments de ces vues sont disposés dans la direction spécifiée par la méthode ` flow()` de la vue de liste. Les éléments peuvent être fixés à leur emplacement ou autorisés à se déplacer, selon l’état de la propriété ` movement()` de la vue.
Si les éléments du modèle ne peuvent pas être entièrement disposés dans le sens du flux, ils peuvent être renvoyés à la ligne à la limite du widget de vue ; cela dépend de la propriété ` isWrapping()`. Cette propriété est utile lorsque les éléments sont représentés par une vue d’icônes.
Les propriétés « resizeMode() » et « layoutMode() » déterminent comment et quand les éléments sont disposés. Les éléments sont espacés en fonction de leur propriété « spacing() » et peuvent s’inscrire dans une grille théorique dont la taille est spécifiée par la propriété « gridSize() ». Les éléments peuvent être affichés sous forme d’icônes grandes ou petites en fonction de leur propriété « iconSize() ».
Amélioration des performances
Il est possible de fournir à la vue des indications sur les données qu’elle traite afin d’améliorer ses performances lors de l’affichage d’un grand nombre d’éléments. Une approche possible pour les vues destinées à afficher des éléments de taille égale consiste à définir la propriété uniformItemSizes sur true.
Voir également Classes de vues, QTreeView, QTableView et QListWidget.
Documentation sur les types de membres
enum QListView::Flow
| Constante | Valeur | Description |
|---|---|---|
QListView::LeftToRight | 0 | Les éléments sont disposés dans la vue de gauche à droite. |
QListView::TopToBottom | 1 | Les éléments sont disposés dans la vue de haut en bas. |
enum QListView::LayoutMode
| Constante | Valeur | Description |
|---|---|---|
QListView::SinglePass | 0 | Les éléments sont affichés en une seule fois. |
QListView::Batched | 1 | Les articles sont répartis par lots de batchSize. |
Voir aussi « batchSize ».
enum QListView::Movement
| Constante | Valeur | Description |
|---|---|---|
QListView::Static | 0 | Les éléments ne peuvent pas être déplacés par l’utilisateur. |
QListView::Free | 1 | L'utilisateur peut déplacer librement les éléments. |
QListView::Snap | 2 | Les éléments s'alignent sur la grille spécifiée lorsqu'ils sont déplacés ; voir setGridSize(). |
enum QListView::ResizeMode
| Constante | Valeur | Description |
|---|---|---|
QListView::Fixed | 0 | Les éléments ne seront disposés que lors de la première affichage de la vue. |
QListView::Adjust | 1 | Les éléments seront réorganisés à chaque fois que la vue sera redimensionnée. |
enum QListView::ViewMode
| Constante | Valeur | Description |
|---|---|---|
QListView::ListMode | 0 | Les éléments sont disposés selon un flux « TopToBottom », avec une taille « Small » et un mouvement « Static » |
QListView::IconMode | 1 | Les éléments sont disposés selon un flux « LeftToRight », avec une taille « Grande » et un mouvement « Libre » |
Documentation sur les propriétés
batchSize : int
Cette propriété indique le nombre d'éléments affichés dans chaque lot si l'option « layoutMode » est définie sur « Batched ».
La valeur par défaut est 100.
Fonctions d’accès :
| int | batchSize() const |
| void | setBatchSize(int batchSize) |
flow : Flow
Cette propriété définit le sens dans lequel les éléments doivent s'afficher.
Si cette propriété est définie sur « LeftToRight », les éléments seront disposés de gauche à droite. Si la propriété « isWrapping » est définie sur « true », la disposition s'enroulera lorsqu'elle atteindra le bord droit de la zone visible. Si cette propriété est définie sur « TopToBottom », les éléments seront disposés à partir du haut de la zone visible et s'enrouleront lorsqu'ils atteindront le bas.
La définition de cette propriété lorsque la vue est visible entraînera un réagencement des éléments.
Par défaut, cette propriété est définie sur « TopToBottom ».
Fonctions d’accès :
| QListView::Flow | flow() const |
| void | setFlow(QListView::Flow flow) |
Voir également viewMode.
gridSize : QSize
Cette propriété définit la taille de la grille de mise en page
Cette propriété correspond à la taille de la grille dans laquelle les éléments sont disposés. La valeur par défaut est une taille nulle, ce qui signifie qu’il n’y a pas de grille et que la mise en page ne s’effectue pas selon une grille. Définir cette propriété sur une taille non nulle active la mise en page en grille. (Lorsqu’une mise en page en grille est active, la propriété ` spacing ` est ignorée.)
La définition de cette propriété lorsque la vue est visible entraîne un réagencement des éléments.
Fonctions d'accès :
| QSize | gridSize() const |
| void | setGridSize(const QSize &size) |
Voir également viewMode.
isWrapping : bool
Cette propriété détermine si la mise en page des éléments doit s'ajuster.
Cette propriété détermine si la disposition doit s'ajuster lorsqu'il n'y a plus d'espace disponible dans la zone visible. Le point à partir duquel la disposition s'ajuste dépend de la propriété « flow ».
La définition de cette propriété lorsque la vue est visible entraîne un réagencement des éléments.
Par défaut, cette propriété est définie sur « false ».
Fonctions d'accès :
| bool | isWrapping() const |
| void | setWrapping(bool enable) |
Voir également viewMode.
itemAlignment : Qt::Alignment
Cette propriété définit l'alignement de chaque élément dans sa cellule
Cette fonctionnalité n'est prise en charge que dans ListMode avec un flux de texte de type « TopToBottom » et lorsque le retour à la ligne automatique est activé. L'alignement par défaut est 0, ce qui signifie qu'un élément occupe entièrement sa cellule.
Fonctions d’accès :
| Qt::Alignment | itemAlignment() const |
| void | setItemAlignment(Qt::Alignment alignment) |
layoutMode : LayoutMode
détermine si la mise en page des éléments doit s'effectuer immédiatement ou être différée.
Cette propriété définit le mode de disposition des éléments. Lorsque le mode est « SinglePass » (par défaut), les éléments sont tous disposés en une seule fois. Lorsque le mode est « Batched », les éléments sont disposés par lots de batchSize éléments, au fur et à mesure du traitement des événements. Cela permet de visualiser et d’interagir instantanément avec les éléments visibles pendant que les autres sont en cours de disposition.
Fonctions d'accès :
| QListView::LayoutMode | layoutMode() const |
| void | setLayoutMode(QListView::LayoutMode mode) |
Voir également viewMode.
modelColumn : int
Cette propriété indique la colonne du modèle qui est visible
Par défaut, cette propriété contient la valeur 0, ce qui indique que la première colonne du modèle sera affichée.
Fonctions d'accès :
| int | modelColumn() const |
| void | setModelColumn(int column) |
movement : Movement
Cette propriété indique si les éléments peuvent être déplacés librement, s'ils sont alignés sur une grille ou s'ils ne peuvent pas être déplacés du tout.
Cette propriété détermine la manière dont l'utilisateur peut déplacer les éléments dans la vue. « Static » signifie que les éléments ne peuvent pas être déplacés par l'utilisateur. « Free » signifie que l'utilisateur peut glisser-déposer les éléments à n'importe quelle position dans la vue. « Snap » signifie que l'utilisateur peut glisser-déposer les éléments, mais uniquement vers les positions d'une grille imaginaire définie par la propriété « gridSize ».
La définition de cette propriété lorsque la vue est visible entraîne un réagencement des éléments.
Par défaut, cette propriété est définie sur « Static ».
Fonctions d'accès :
| QListView::Movement | movement() const |
| void | setMovement(QListView::Movement movement) |
Voir également gridSize, resizeMode et viewMode.
resizeMode : ResizeMode
Cette propriété détermine si les éléments sont réorganisés lorsque la taille de la vue est modifiée.
Si cette propriété est définie sur « Adjust », les éléments seront réorganisés lorsque la vue sera redimensionnée. Si la valeur est « Fixed », les éléments ne seront pas réorganisés lorsque la vue sera redimensionnée.
Par défaut, cette propriété est définie sur « Fixed ».
Fonctions d’accès :
| QListView::ResizeMode | resizeMode() const |
| void | setResizeMode(QListView::ResizeMode mode) |
Voir également movement, gridSize et viewMode.
selectionRectVisible : bool
si le rectangle de sélection doit être visible
Si cette propriété est définie sur « true », le rectangle de sélection est visible ; dans le cas contraire, il est masqué.
Remarque : le rectangle de sélection n'est visible que si le mode de sélection permet de sélectionner plusieurs éléments ; en d'autres termes, aucun rectangle de sélection n'est affiché si le mode de sélection est défini sur « QAbstractItemView::SingleSelection ».
Par défaut, cette propriété est définie sur « false ».
Fonctions d'accès :
| bool | isSelectionRectVisible() const |
| void | setSelectionRectVisible(bool show) |
spacing : int
Cette propriété définit l'espace autour des éléments dans la mise en page
Cette propriété correspond à la taille de l'espace vide qui entoure un élément dans la mise en page.
La définition de cette propriété lorsque la vue est visible entraîne un réagencement des éléments.
Par défaut, cette propriété a pour valeur 0.
Fonctions d'accès :
| int | spacing() const |
| void | setSpacing(int space) |
Voir également viewMode.
uniformItemSizes : bool
Cette propriété indique si tous les éléments de la liste ont la même taille
Cette propriété ne doit être définie sur « true » que s'il est garanti que tous les éléments de la vue ont la même taille. Cela permet à la vue d'effectuer certaines optimisations à des fins de performances.
Par défaut, cette propriété est définie sur « false ».
Fonctions d'accès :
| bool | uniformItemSizes() const |
| void | setUniformItemSizes(bool enable) |
viewMode : ViewMode
Cette propriété définit le mode d'affichage de l'QListView.
Cette propriété modifie les autres propriétés non définies afin de les adapter au mode d’affichage défini. Les propriétés spécifiques à QListView qui ont déjà été définies ne seront pas modifiées, sauf si la méthode clearPropertyFlags() a été appelée.
La définition du mode d’affichage active ou désactive le glisser-déposer en fonction du mouvement sélectionné. Pour ListMode, le mouvement par défaut est Static (glisser-déposer désactivé) ; pour IconMode, le mouvement par défaut est Free (glisser-déposer activé).
Fonctions d’accès :
| QListView::ViewMode | viewMode() const |
| void | setViewMode(QListView::ViewMode mode) |
Voir également isWrapping, spacing, gridSize, flow, movement et resizeMode.
wordWrap : bool
Cette propriété définit la politique de retour à la ligne du texte de l'élément
Si cette propriété est définie sur « true », le texte de l'élément est renvoyé à la ligne si nécessaire aux points de coupure de mot ; dans le cas contraire, il n'est pas renvoyé à la ligne. Cette propriété est définie par défaut sur « false ».
Veuillez noter que même si le retour à la ligne est activé, la cellule ne sera pas agrandie pour faire de la place au texte. Elle affichera des points de suspension pour le texte qui ne peut pas être affiché, conformément à l'textElideMode de la vue.
Fonctions d'accès :
| bool | wordWrap() const |
| void | setWordWrap(bool on) |
Documentation des fonctions membres
[explicit] QListView::QListView(QWidget *parent = nullptr)
Crée un nouveau QListView avec l'parent e spécifiée pour afficher un modèle. Utilisez setModel() pour définir le modèle.
[virtual noexcept] QListView::~QListView()
Ça gâche la vue.
void QListView::clearPropertyFlags()
Efface les indicateurs de propriété spécifiques à QListView. Voir viewMode.
Les propriétés héritées de ` QAbstractItemView ` ne sont pas concernées par ces indicateurs de propriété. Plus précisément, ` dragEnabled ` et ` acceptsDrops ` sont calculées par ` QListView ` lors de l’appel de ` setMovement()` ou ` setViewMode()`.
[override virtual protected] void QListView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
Réimplémente : QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous).
[override virtual protected] void QListView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
Réimplémente : QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles).
[override virtual protected] void QListView::dragLeaveEvent(QDragLeaveEvent *e)
Réimplémente : QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QListView::dragMoveEvent(QDragMoveEvent *e)
Réimplémente : QAbstractItemView::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QListView::dropEvent(QDropEvent *event)
Réimplémente : QAbstractItemView::dropEvent(QDropEvent *event).
[override virtual protected] bool QListView::event(QEvent *e)
Réimplémente : QAbstractItemView::event(QEvent *event).
[override virtual protected] int QListView::horizontalOffset() const
Réimplémente : QAbstractItemView::horizontalOffset() const.
[override virtual] QModelIndex QListView::indexAt(const QPoint &p) const
Réimplémente : QAbstractItemView::indexAt(const QPoint &point) const.
[signal] void QListView::indexesMoved(const QModelIndexList &indexes)
Ce signal est émis lorsque les « indexes » spécifiés sont déplacés dans la vue.
[override virtual protected] void QListView::initViewItemOption(QStyleOptionViewItem *option) const
Réimplémente : QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const.
[override virtual protected] bool QListView::isIndexHidden(const QModelIndex &index) const
Réimplémente : QAbstractItemView::isIndexHidden(const QModelIndex &index) const.
bool QListView::isRowHidden(int row) const
Renvoie « true » si l’ row est masquée ; sinon, renvoie « false ».
[override virtual protected] void QListView::mouseMoveEvent(QMouseEvent *e)
Réimplémente : ` QAbstractItemView::mouseMoveEvent(QMouseEvent *event)`.
[override virtual protected] void QListView::mouseReleaseEvent(QMouseEvent *e)
Réimplémente : QAbstractItemView::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] QModelIndex QListView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
Réimplémente : QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers).
[override virtual protected] void QListView::paintEvent(QPaintEvent *e)
Réimplémente : QAbstractScrollArea::paintEvent(QPaintEvent *event).
[protected] QRect QListView::rectForIndex(const QModelIndex &index) const
Renvoie le rectangle de l'élément situé à la position index dans le modèle. Le rectangle est exprimé en coordonnées du contenu.
Voir également visualRect().
[override virtual protected] void QListView::resizeEvent(QResizeEvent *e)
Réimplémente : QAbstractItemView::resizeEvent(QResizeEvent *event).
[override virtual protected] void QListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
Réimplémente : QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end).
[override virtual protected] void QListView::rowsInserted(const QModelIndex &parent, int start, int end)
Réimplémente : QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end).
[override virtual protected] void QListView::scrollContentsBy(int dx, int dy)
Réimplémente : QAbstractScrollArea::scrollContentsBy(int dx, int dy).
Faites défiler le contenu de la vue à l'aide de dx et dy.
[override virtual] void QListView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)
Réimplémente : QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint).
[override virtual protected] QModelIndexList QListView::selectedIndexes() const
Réimplémente : QAbstractItemView::selectedIndexes() const.
[override virtual protected] void QListView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Réimplémente : QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected).
[protected] void QListView::setPositionForIndex(const QPoint &position, const QModelIndex &index)
Définit la position de l'élément situé à l'adresse index dans le modèle sur l'adresse position. Si le mode de déplacement de la vue de liste est « Statique » ou si son mode d'affichage est « ListView », cette fonction n'aura aucun effet.
[override virtual] void QListView::setRootIndex(const QModelIndex &index)
Réimplémente : QAbstractItemView::setRootIndex(const QModelIndex &index).
void QListView::setRowHidden(int row, bool hide)
Si la valeur de « hide » est « true », l'row ion indiquée sera masquée ; dans le cas contraire, l'row ion sera affichée.
Voir également isRowHidden().
[override virtual protected] void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)
Réimplémente : QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).
[override virtual protected] void QListView::startDrag(Qt::DropActions supportedActions)
Réimplémente : QAbstractItemView::startDrag(Qt::DropActions supportedActions).
[override virtual protected] void QListView::timerEvent(QTimerEvent *e)
Réimplémente : QAbstractItemView::timerEvent(QTimerEvent *event).
[override virtual protected] void QListView::updateGeometries()
Réimplémente : QAbstractItemView::updateGeometries().
[override virtual protected] int QListView::verticalOffset() const
Réimplémente : QAbstractItemView::verticalOffset() const.
[override virtual protected] QSize QListView::viewportSizeHint() const
Réimplémente : QAbstractItemView::viewportSizeHint() const.
[override virtual] QRect QListView::visualRect(const QModelIndex &index) const
Réimplémente : QAbstractItemView::visualRect(const QModelIndex &index) const.
[override virtual protected] QRegion QListView::visualRegionForSelection(const QItemSelection &selection) const
Réimplémente : ` QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const`.
Depuis la version 4.7, la région renvoyée ne contient que les rectangles qui coupent (ou sont inclus dans) la fenêtre d'affichage.
[override virtual protected] void QListView::wheelEvent(QWheelEvent *e)
Réimplémente : QAbstractScrollArea::wheelEvent(QWheelEvent *e).
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.