23#ifndef __vtkMRMLTableNode_h
24#define __vtkMRMLTableNode_h
53 void PrintSelf(ostream& os, vtkIndent indent)
override;
67 void WriteXML(ostream& of,
int indent)
override;
85 vtkGetObjectMacro(
Table, vtkTable);
145 vtkAbstractArray*
AddColumn(vtkAbstractArray* column =
nullptr);
185 bool SetCellText(
int rowIndex,
int columnIndex,
const char* text);
227 void SetColumnTitle(
const std::string& columnName,
const std::string& description);
263 void SetColumnProperty(
const std::string& columnName,
const std::string& propertyName,
const std::string& propertyValue);
264 void SetColumnProperty(
int columnIndex,
const std::string& propertyName,
const std::string& propertyValue);
322 bool SetComponentNames(
const std::string& columnName,
const std::vector<std::string>& componentNames);
A superclass for other storage nodes.
virtual void SetAndObserveSchema(vtkTable *schema)
void ReadXMLAttributes(const char **atts) override
Set node attributes.
bool SetComponentNames(const std::string &columnName, const std::vector< std::string > &componentNames)
Set the component names for the specified column.
void CopyAllColumnProperties(const std::string &sourceColumnName, const std::string &targetColumnName)
Copy all properties from one column to another.
void SetColumnDescription(const std::string &columnName, const std::string &description)
std::string GetColumnUnitLabel(const std::string &columnName)
std::string GetColumnProperty(const std::string &columnName, const std::string &propertyName)
int GetColumnValueTypeFromSchema(const std::string &columnName)
vtkMRMLCopyContentMacro(vtkMRMLTableNode)
vtkIdType GetPropertyRowIndex(const std::string &columnName)
void GetAllColumnPropertyNames(vtkStringArray *propertyNames)
bool SetCellText(int rowIndex, int columnIndex, const char *text)
std::string GetColumnNullValue(const std::string &columnName)
static std::vector< std::string > GetComponentNamesFromArray(vtkAbstractArray *array)
Get component names from a vtkAbstractArray as a vector of string.
void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override
Method to propagate events generated in mrml.
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
vtkMRMLTableNode(const vtkMRMLTableNode &)
bool SetDefaultColumnType(const std::string &type, const std::string &nullValue="")
static int GetValueTypeFromString(std::string valueTypeStr)
Get value type id from string (inverse of vtkImageScalarTypeNameMacro)
~vtkMRMLTableNode() override
virtual void SetAndObserveTable(vtkTable *table)
Get and Set Macros.
bool UseFirstColumnAsRowHeader
void SetColumnNullValue(const std::string &columnName, const std::string &nullValue)
int GetColumnIndex(vtkAbstractArray *column)
int GetNumberOfColumns()
Convenience method for getting number of columns in the table.
std::string GetColumnName(int columnIndex)
std::vector< std::string > GetComponentNamesFromSchema(const std::string &columnName)
std::string GetColumnDescription(const std::string &columnName)
static vtkMRMLTableNode * New()
Data types supported by the table. Used in qMRMLTableModel for visualization.
bool GetUseColumnNameAsColumnHeader()
vtkIdType InsertNextBlankRowWithNullValues(vtkTable *table)
void SetColumnUnitLabel(const std::string &columnName, const std::string &unitLabel)
void SetColumnTitle(const std::string &columnName, const std::string &description)
std::vector< std::string > GetComponentNames(const std::string &columnName)
Get the vector of component names from the.
void SetColumnLongName(const std::string &columnName, const std::string &description)
std::string GetColumnLongName(const std::string &columnName)
std::string GetColumnPropertyInternal(const std::string &columnName, const std::string &propertyName)
Get column property, even for reserved properties.
int GetColumnIndex(const char *columnName)
bool SetColumnType(const std::string &columnName, int typeId)
vtkAbstractArray * AddColumn(vtkAbstractArray *column=nullptr)
static const char * GetDefaultColumnName()
Name of the column that stores default properties that are used when a new column is created.
std::string GetColumnTitle(const std::string &columnName)
vtkMRMLNode * CreateNodeInstance() override
Standard methods for MRML nodes.
bool RenameColumn(int columnIndex, const char *newName)
void RemoveAllColumnProperties(const std::string &columnName)
static std::string GetValueTypeAsString(int valueType)
Get value type id from string (uses vtkImageScalarTypeNameMacro)
void SetColumnProperty(const std::string &columnName, const std::string &propertyName, const std::string &propertyValue)
int GetColumnType(const std::string &columnName)
bool UseColumnTitleAsColumnHeader
void RemoveAllColumnProperties(int columnIndex)
void SetColumnProperty(int columnIndex, const std::string &propertyName, const std::string &propertyValue)
static const std::vector< std::string > GetComponentNamesFromString(const std::string &componentNameString)
Convert the vector of component names from a string of component names separated with the '|' charact...
vtkMRMLStorageNode * CreateDefaultStorageNode() override
Create default storage node or nullptr if does not have one.
int GetColumnIndex(const std::string &columnName)
int GetNumberOfRows()
Convenience method for getting number of rows in the table.
bool RemoveRow(int rowIndex)
void operator=(const vtkMRMLTableNode &)
void PrintSelf(ostream &os, vtkIndent indent) override
static std::string GetComponentNamesAsString(const std::vector< std::string > &componentNames)
Convert the component names as a string of component names separated with the '|' character.
vtkMRMLTableNode()
Constructor and destructor.
void SetColumnPropertyInternal(const std::string &columnName, const std::string &propertyName, const std::string &propertyValue)
Set column property, even for reserved properties.
bool RemoveColumn(int columnIndex)
std::string GetCellText(int rowIndex, int columnIndex)
void SetUseColumnNameAsColumnHeader(bool useColumnTitle)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
void RemoveColumnProperty(const std::string &propertyName)
std::string GetColumnProperty(int columnIndex, const std::string &propertyName)