21#ifndef __qMRMLColorModel_h
22#define __qMRMLColorModel_h
25#include <QStandardItemModel>
29#include <ctkVTKObject.h>
32#include "qMRMLWidgetsExport.h"
39class qMRMLColorModelPrivate;
47 Q_PROPERTY(
bool noneEnabled READ noneEnabled WRITE setNoneEnabled)
54 Q_PROPERTY(
int colorColumn READ colorColumn WRITE setColorColumn)
59 Q_PROPERTY(
int labelColumn READ labelColumn WRITE setLabelColumn)
64 Q_PROPERTY(
int opacityColumn READ opacityColumn WRITE setOpacityColumn)
70 Q_PROPERTY(
int checkableColumn READ checkableColumn WRITE setCheckableColumn)
80 ColorEntryRole = Qt::UserRole,
109 inline int colorFromIndex(
const QModelIndex &index)
const;
118 inline QColor qcolorFromIndex(
const QModelIndex& nodeIndex)
const;
119 inline QColor qcolorFromItem(QStandardItem* nodeItem)
const;
131 QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const override;
145 void* client_data,
void* call_data);
147 QScopedPointer<qMRMLColorModelPrivate>
d_ptr;
QModelIndexList indexes(int color) const
virtual void updateItemFromColor(QStandardItem *item, int color, int column)
virtual void updateColorFromItem(int color, QStandardItem *item)
QStandardItem * itemFromColor(int color, int column=0) const
int colorFromItem(QStandardItem *item) const
void setColorColumn(int column)
int colorFromIndex(const QModelIndex &index) const
QAbstractItemModel Superclass
virtual void updateNode()
QString nameFromColor(int colorEntry) const
int opacityColumn() const
void setLabelColumn(int column)
void onMRMLColorNodeModified(vtkObject *node)
void setCheckableColumn(int column)
QColor qcolorFromItem(QStandardItem *nodeItem) const
QColor qcolorFromColor(int color) const
void setNoneEnabled(bool enable)
qMRMLColorModel(qMRMLColorModelPrivate *pimpl, QObject *parent=nullptr)
QColor qcolorFromIndex(const QModelIndex &nodeIndex) const
void onItemChanged(QStandardItem *item)
static void onMRMLNodeEvent(vtkObject *vtk_obj, unsigned long event, void *client_data, void *call_data)
void setMRMLColorNode(vtkMRMLColorNode *node)
vtkMRMLColorNode * mrmlColorNode() const
void setOpacityColumn(int column)
QScopedPointer< qMRMLColorModelPrivate > d_ptr
int checkableColumn() const
int colorFromName(const QString &name) const
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
MRML logic class for color manipulation.
Abstract MRML node to represent color information.
Abstract Superclass for all specific types of MRML nodes.