''' Created on Mar 25, 2011 @author: Moritz Wade ''' import logging #from PySide.QtCore import * from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from PySide.QtGui import QFont from basics.helpers import enum import libsbml ROW = enum.enum("ROW", "ID, ACTIVE, SELECTED") # this effectively orders the rows; Param ID rows will be appended numAdditionalRows = 3 # Columns will be defined by the available ParameterSets class ParameterSetsTableModel(QAbstractTableModel): ''' Fills the Parameter Set tab of the Simulation Workbench with data. @param listOfParameterSets: List-like object with parameter sets (see parameter_sets.py) @type listOfParams: ListOfParameterSets @since: 2011-03-25 ''' __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2011" def __init__(self, listOfParameterSets, paramEntities):
from PySide.QtCore import QAbstractTableModel, Signal, Qt, QModelIndex, SIGNAL from sbml_model.sbml_entities import SBMLEntity import libsbml from basics.helpers import enum COLUMN = enum.enum( 'ROW', 'NAME, ID, COMPARTMENTTYPE, SPATIALDIMENSIONS, SIZE, UNITS, OUTSIDE, CONSTANT' ) # this effectively orders the columns ############### # # NOTE: Don't use, this is outdated. Still works but changes will not be reflected by # Views working on the newer SBMLMainTreeModel. # ############### class SBMLCompartmentTableModel(QAbstractTableModel): """ Obsolete! This has been replaced by SBMLMainTreeModel (which wraps all the Species types at once) and only remains here for future reference. This class encapsulates the ListOfCompartments of an SBML file/model. """ def GetDirty(self): return self.__Dirty
""" Created on Jun 25, 2010 @author: bzfwadem """ #from PySide.QtCore import * import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum #COLUMN = enum.enum("ROW", "NUMBER, ID, NAME, COMPARTMENT, INITIALQUANTITY, UNIT, SCALE, QUANTITYTYPE, ISCONSTANT, ISBC, COMPUTESENSITIVITY") # this effectively orders the columns COLUMN = enum.enum( "ROW", "NUMBER, ID, NAME, COMPARTMENT, INITIALQUANTITY, SCALE, ISBC, COMPUTESENSITIVITY" ) # this effectively orders the columns NUM_COLUMNS = 8 # keep in sync with COLUMN! class SpeciesTableModel(QAbstractTableModel): """ Model for filling the Species table of the Simulation Workbench with data. @param speciesList: List of SBML entities that wrap libSBML Species objects @type speciesList: [] @since: 2010-06-25 """ __author__ = "Moritz Wade"
import logging #from PySide.QtCore import * from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum import libsbml #COLUMN = enum.enum("ROW", "NUMBER, SCOPE, ID, NAME, INITIALVALUE, UNIT, SCALE, ISCONSTANT, COMPUTESENSITIVITY, ESTIMATE") # this effectively orders the columns COLUMN = enum.enum("ROW", "NUMBER, SCOPE, ID, NAME, INITIALVALUE, SCALE, COMPUTESENSITIVITY, ESTIMATE") # this effectively orders the columns NUM_COLUMNS = 8 # keep in sync with COLUMN! class ParameterTableModel(QAbstractTableModel): """ Fills the Parameter tab of the Simulation Workbench with data. @param listOfParams: List of sbmlEntities wrapping libSBML Parameter objects @type listOfParams: [] @since: 2010-06-25 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010" def __init__(self, listOfParams, mainModel): """ Simple Constructor, just setting up some instance variables. """ super(ParameterTableModel, self).__init__() self.paramList = listOfParams self.mainModel = mainModel
from PySide.QtCore import QAbstractItemModel, SIGNAL, Qt, QModelIndex, Signal import libsbml from basics.helpers import enum from sbml_model import sbml_entities from sbml_model.definitions import CHANGETYPE from sbml_model.sbml_entities import SBMLEntity COLUMN = enum.enum('ROW', 'ID, NAME') # this effectively orders the columns class SBMLMainTreeModel(QAbstractItemModel): """ This model wraps a libsbml model completely. The information about the type of individual entities (Species, Reaction, ...) is encoded in the Type property of any SBMLEntity. This model only provides two columns: ID and Name. Any detailed information (that differs for different types of entities is provided by the EntityTableModel that is bound to a table view (EntityTableView). Idea: Views (e.g. TableViews) that should show only part of the model (e.g. only Species) use an intermediate QAbstractProxyModel. Note: There is some code commented out that has to do with actually changing the model's structure (e.g. adding nodes). For example, the method self.mainModelChanged(...). This code is left there as a future reference once structural changes might be reenabled in the GUI (+/- buttons, etc.). @param mainModel: The main model which wraps a SBML file
import logging from PySide.QtCore import QAbstractTableModel, Signal, Qt, QModelIndex from basics.helpers.enum import enum from sbml_model.sbml_entities import SBMLEntity from sbml_model import sbml_entities import libsbml from basics.helpers import typehelpers import sbml_mainmodel COLUMN = enum("COLUMN", "PROPERTY, VALUE") COLUMN_COUNT = 2 COMPARTMENT_ROW = enum('ROW', 'ID, NAME, SIZE') COMPARTMENT_ROW_COUNT = 3 SPECIES_ROW = enum("ROW", "ID, NAME, COMPARTMENT, INITIALQUANTITY, SUBSTANCEUNITS, QUANTITYTYPE, CONSTANT, BC") SPECIES_ROW_COUNT = 8 REACTION_ROW = enum('ROW', 'ID, NAME, REACTANTS, PRODUCTS, MATH') REACTION_ROW_COUNT = 5 PARAMETER_ROW = enum('ROW', 'ID, NAME, VALUE, UNITS, CONSTANT, SCOPE') PARAMETER_ROW_COUNT = 6 RULE_ROW = enum('ROW', 'ID, NAME, MATH, VARIABLE') RULE_ROW_COUNT = 4 EVENT_ROW = enum('ROW', 'ID, NAME, TARGET, EXPRESSION, TRIGGEREXPRESSION') EVENT_ROW_COUNT = 5
from collections import OrderedDict import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from PySide.QtGui import QBrush import backend from basics.helpers import enum import libsbml COLUMN = enum.enum("ROW", "NUMBER, SCOPE, ID, NAME, INITIALVALUE, SCALE, COMPUTESENSITIVITY, ESTIMATE, EMPTY_COL, CONSTRAINT_TYPE, CONSTRAINT_LOWER, CONSTRAINT_UPPER") # this effectively orders the columns NUM_COLUMNS = 12 # keep in sync with COLUMN! class ParameterTableModel(QAbstractTableModel): """ Fills the Parameter tab of the Simulation Workbench with data. @param listOfParams: List of sbmlEntities wrapping libSBML Parameter objects @type listOfParams: [] @since: 2010-06-25 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010" def __init__(self, listOfParams, mainModel): """ Simple Constructor, just setting up some instance variables. """ super(ParameterTableModel, self).__init__()
@author: bzfwadem ''' #from PySide.QtCore import * from PySide.QtCore import QAbstractItemModel, SIGNAL, Qt, QModelIndex, Signal, QObject import libsbml ## #import logging ## from basics.helpers import enum from sbml_model import sbml_entities from sbml_model.definitions import CHANGETYPE from sbml_model.sbml_entities import SBMLEntity COLUMN = enum.enum('ROW', 'ID, NAME') # this effectively orders the columns class SBMLMainTreeModel(QAbstractItemModel): ''' This model wraps a libsbml model completely. The information about the type of individual entities (Species, Reaction, ...) is encoded in the Type property of any SBMLEntity. This model only provides two columns: ID and Name. Any detailed information (that differs for different types of entities is provided by the EntityTableModel that is bound to a table view (EntityTableView). Idea: Views (e.g. TableViews) that should show only part of the model (e.g. only Species) use an intermediate QAbstractProxyModel.
""" The purpose of this file is to provide some CONSTANTs and pseudo-ENUMs to be used within model classes. @since: 2011-05-30 """ from basics.helpers.enum import enum __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2011" CHANGETYPE = enum("CHANGETYPE", "ADD, REMOVE, CHANGE_REACTANTS, CHANGE_PRODUCTS, CHANGE_MODIFIERS") #### defining constant strings for Parameter Set XML #### XML_NAMESPACE_PARAMETER_SETS = "http://sys-bio.org/ParameterSets" XML_LIST_OF_PARAMETER_SETS = "listOfParameterSets" XML_LIST_OF_PARAMETER_SETS_ACTIVE = "active" XML_PARAMETER_SET = "parameterSet" XML_PARAMETER_SET_ID = "id" XML_PARAMETER_SET_NAME = "name" XML_PARAMETER = "parameter" XML_PARAMETER_SBML_ID = "sbmlId" XML_PARAMETER_VALUE = "value" XML_PARAMETER_REACTION_ID = "reaction" XML_PARAMETER_IS_ESTIMATED = "estimated"
from collections import OrderedDict from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum import logging from sbml_model.sbml_entities import SBMLEntity from odehandling.specieswrapper import SpeciesWrapper COLUMN = enum.enum("ROW", "ID, NAME, INITIALVALUE, UNIT, ISCONSTANT") # this effectively orders the columns STATE = enum.enum("STATE", "UNCHECKED, PARTIALLYCHECKED, CHECKED, NODATA") # like Qt.Checkstate + NODATA class DataSourcesTableModel(QAbstractTableModel): """ A data model that wraps an dictionary providing the existing data IDs for several sets of data (obtained from several data files). @since: 2010-06-30 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010" def __init__(self, dataSources): """ Simple Constructor, just setting up some instance variables. """ super(DataSourcesTableModel, self).__init__() self.dataSources = dataSources self.Dirty = False # True if something has been changed
from collections import OrderedDict from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum import logging from sbml_model.sbml_entities import SBMLEntity from odehandling.specieswrapper import SpeciesWrapper COLUMN = enum.enum("ROW", "ID, NAME, INITIALVALUE, UNIT, ISCONSTANT" ) # this effectively orders the columns STATE = enum.enum("STATE", "UNCHECKED, PARTIALLYCHECKED, CHECKED, NODATA" ) # like Qt.Checkstate + NODATA class DataSourcesTableModel(QAbstractTableModel): """ A data model that wraps an dictionary providing the existing data IDs for several sets of data (obtained from several data files). @since: 2010-06-30 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010" def __init__(self, dataSources): """ Simple Constructor, just setting up some instance variables. """ super(DataSourcesTableModel, self).__init__() self.dataSources = dataSources
''' Created on Mar 11, 2010 @author: bzfwadem ''' #from PySide.QtCore import * from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum COLUMN = enum.enum('ROW', 'ID, SHOWEXPERIMENTALDATA, SHOWSIMULATIONDATA' ) # this effectively orders the columns class SourcesTableModel(QAbstractTableModel): ''' Wraps the experimental experimentalData (and later on simulationData) and makes its data IDs accessible read-only to a table view. It also creates checkboxes to tell whether to draw plots of the data. This is just a helper data model. @param experimentalData: The dict with the experimental data @type experimentalData: dict with {dataID: [[time points],[values at time points]]} @since: 2010-03-11 ''' __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010"
import logging #from PySide.QtCore import * from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum import libsbml #COLUMN = enum.enum("ROW", "NUMBER, SCOPE, ID, NAME, INITIALVALUE, UNIT, SCALE, ISCONSTANT, COMPUTESENSITIVITY, ESTIMATE") # this effectively orders the columns COLUMN = enum.enum( "ROW", "NUMBER, SCOPE, ID, NAME, INITIALVALUE, SCALE, COMPUTESENSITIVITY, ESTIMATE" ) # this effectively orders the columns NUM_COLUMNS = 8 # keep in sync with COLUMN! class ParameterTableModel(QAbstractTableModel): """ Fills the Parameter tab of the Simulation Workbench with data. @param listOfParams: List of sbmlEntities wrapping libSBML Parameter objects @type listOfParams: [] @since: 2010-06-25 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010" def __init__(self, listOfParams, mainModel): """ Simple Constructor, just setting up some instance variables. """
''' #import sip from PySide.QtCore import QAbstractTableModel, Signal, Qt, QModelIndex, SIGNAL from sbml_model.sbml_entities import SBMLEntity #sip.setapi('QString', 2) # practically disables QStrings #sip.setapi('QVariant', 2) # practically disables QVariants #from PySide.QtCore import * #from PySide.QtGui import * import libsbml from basics.helpers import enum COLUMN = enum.enum('ROW', 'NAME, ID, COMPARTMENTTYPE, SPATIALDIMENSIONS, SIZE, UNITS, OUTSIDE, CONSTANT') # this effectively orders the columns ############### # # NOTE: Don't use, this is outdated. Still works but changes will not be reflected by # Views working on the newer SBMLMainTreeModel. # ############### class SBMLCompartmentTableModel(QAbstractTableModel): ''' Obsolete! This has been replaced by SBMLMainTreeModel (which wraps all the Species types at once) and only remains here for future reference.
from basics.helpers.enum import enum """ This file defines constants (especially ENUMs) for use throughout the data backend. @since: 2011-12-28 @author: Moritz Wade @copyright: Zuse Institute Berlin, 2011 """ TYPE = "TYPE" TYPES = enum( "TYPE", "NONE, SIM_TIMELINE, MEAS_TIMELINE, SENS_OVERVIEW, SENS_DETAILS_JACOBIAN, SENS_DETAILS_SUBCONDITION, PARAMETER_IDENTIFICATION" ) # fixed meta keys (used in every meta dict) META_KEYS = enum("META", "CREATED, LAST_MODIFIED, %s" % TYPE)
''' Created on Mar 11, 2010 @author: bzfwadem ''' #from PySide.QtCore import * from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum COLUMN = enum.enum('ROW', 'ID, SHOWEXPERIMENTALDATA, SHOWSIMULATIONDATA') # this effectively orders the columns class SourcesTableModel(QAbstractTableModel): ''' Wraps the experimental experimentalData (and later on simulationData) and makes its data IDs accessible read-only to a table view. It also creates checkboxes to tell whether to draw plots of the data. This is just a helper data model. @param experimentalData: The dict with the experimental data @type experimentalData: dict with {dataID: [[time points],[values at time points]]} @since: 2010-03-11 ''' __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010"
from collections import OrderedDict import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from PySide.QtGui import QBrush import backend from basics.helpers import enum import libsbml COLUMN = enum.enum( "ROW", "NUMBER, SCOPE, ID, NAME, INITIALVALUE, SCALE, COMPUTESENSITIVITY, ESTIMATE, EMPTY_COL, CONSTRAINT_TYPE, CONSTRAINT_LOWER, CONSTRAINT_UPPER" ) # this effectively orders the columns NUM_COLUMNS = 12 # keep in sync with COLUMN! class ParameterTableModel(QAbstractTableModel): """ Fills the Parameter tab of the Simulation Workbench with data. @param listOfParams: List of sbmlEntities wrapping libSBML Parameter objects @type listOfParams: [] @since: 2010-06-25 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010" def __init__(self, listOfParams, mainModel): """ Simple Constructor, just setting up some instance variables.
""" The purpose of this file is to provide some CONSTANTs and pseudo-ENUMs to be used within model classes. @since: 2011-05-30 """ from basics.helpers.enum import enum __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2011" CHANGETYPE = enum( "CHANGETYPE", "ADD, REMOVE, CHANGE_REACTANTS, CHANGE_PRODUCTS, CHANGE_MODIFIERS") #### defining constant strings for Parameter Set XML #### XML_NAMESPACE_PARAMETER_SETS = "http://sys-bio.org/ParameterSets" XML_LIST_OF_PARAMETER_SETS = "listOfParameterSets" XML_LIST_OF_PARAMETER_SETS_ACTIVE = "active" XML_PARAMETER_SET = "parameterSet" XML_PARAMETER_SET_ID = "id" XML_PARAMETER_SET_NAME = "name" XML_PARAMETER = "parameter" XML_PARAMETER_SBML_ID = "sbmlId" XML_PARAMETER_VALUE = "value" XML_PARAMETER_REACTION_ID = "reaction"
""" Created on Jun 25, 2010 @author: bzfwadem """ #from PySide.QtCore import * import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from basics.helpers import enum #COLUMN = enum.enum("ROW", "NUMBER, ID, NAME, COMPARTMENT, INITIALQUANTITY, UNIT, SCALE, QUANTITYTYPE, ISCONSTANT, ISBC, COMPUTESENSITIVITY") # this effectively orders the columns COLUMN = enum.enum("ROW", "NUMBER, ID, NAME, COMPARTMENT, INITIALQUANTITY, SCALE, ISBC, COMPUTESENSITIVITY") # this effectively orders the columns NUM_COLUMNS = 8 # keep in sync with COLUMN! class SpeciesTableModel(QAbstractTableModel): """ Model for filling the Species table of the Simulation Workbench with data. @param speciesList: List of SBML entities that wrap libSBML Species objects @type speciesList: [] @since: 2010-06-25 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2010"
import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex, SIGNAL from PySide.QtGui import QFont, QBrush from basics.helpers import enum ROW = enum.enum("ROW", "ID, ACTIVE, SELECTED") # this effectively orders the rows; Param ID rows will be appended numAdditionalRows = 3 # Columns will be defined by the available ParameterSets class ParameterSetsTableModel(QAbstractTableModel): """ Fills the Parameter Set tab of the Simulation Workbench with data. @param listOfParameterSets: List-like object with parameter sets (see parameter_sets.py) @type listOfParams: ListOfParameterSets @since: 2011-03-25 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2011" def __init__(self, listOfParameterSets, paramEntities): """ Simple Constructor, just setting up some instance variables. """ super(ParameterSetsTableModel, self).__init__() self.paramSets = listOfParameterSets self.paramCombinedIDsMap = self.prepareParametersForAccess(paramEntities)
import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex from basics.helpers import enum from datamanagement.entitydata import EntityData STATE = enum.enum("STATE", "CHECKED, UNCHECKED, NODATA") class DataBrowserModel(QAbstractTableModel): """ This class provides a table-based, Excel-like "view" at a DataSet object (that holds tabular, numerical data). It inherits from QAbstractTableModel, so that Qt Views, especially a QTableView, can easily use this model. What makes this QTableModel different from almost all other table models in BioParkin is the circumstance that the number of columns is not fixed. It has to be handled dynamically depending on the actual data. @since: 2011-08-26 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2011" def __init__(self, parent, id, dataSet): super(DataBrowserModel, self).__init__(parent)
from basics.helpers.enum import enum """ This file defines constants (especially ENUMs) for use throughout the data backend. @since: 2011-12-28 @author: Moritz Wade @copyright: Zuse Institute Berlin, 2011 """ TYPE = "TYPE" TYPES = enum("TYPE", "NONE, SIM_TIMELINE, MEAS_TIMELINE, SENS_OVERVIEW, SENS_DETAILS_JACOBIAN, SENS_DETAILS_SUBCONDITION, PARAMETER_IDENTIFICATION") # fixed meta keys (used in every meta dict) META_KEYS = enum("META", "CREATED, LAST_MODIFIED, %s" % TYPE)
from PySide.QtCore import QObject, SIGNAL, Signal import backend from basics.helpers.enum import enum import libsbml import logging TYPE = enum("TYPE", "COMPARTMENT, SPECIES, REACTION, NONE, PARAMETER, RULE, EVENT") #### defining constant strings for Species/Parameter Threshold XML #### XML_THRESHOLD_NAMESPACE = "http://www.zib.de/SBML/Threshold" # more or less arbitrary string. Important to define a standard. XML_SCALE = "Scale" XML_THRESHOLD_VALUE = "Value" XML_CONSTRAINTS_NAMESPACE = "http://www.zib.de/SBML/ParameterConstraints" # more or less arbitrary string. Important to define a standard. XML_CONSTRAINTS = "Constraints" XML_CONSTRAINTS_TYPE = "Type" XML_CONSTRAINTS_LOWERBOUND = "LowerBound" XML_CONSTRAINTS_UPPERBOUND = "UpperBound" class SBMLEntity(QObject): """ This is a simple wrapper for the entity classes of libsbml. It's needed to emit signals when something has changed. It's also used for creating "conceptual" entities like a father "node" for all the different Species-containing entities. This greatly eases the work needed in the MainTreeModel. @param entity: A libSBML object. Can be None for father "nodes". @type entity: libSBML object
import logging from PySide.QtCore import QAbstractTableModel, Qt, QModelIndex from basics.helpers import enum from datamanagement.entitydata import EntityData STATE = enum.enum("STATE", "CHECKED, UNCHECKED, NODATA") class DataBrowserModel(QAbstractTableModel): """ This class provides a table-based, Excel-like "view" at a DataSet object (that holds tabular, numerical data). It inherits from QAbstractTableModel, so that Qt Views, especially a QTableView, can easily use this model. What makes this QTableModel different from almost all other table models in BioParkin is the circumstance that the number of columns is not fixed. It has to be handled dynamically depending on the actual data. @since: 2011-08-26 """ __author__ = "Moritz Wade" __contact__ = "*****@*****.**" __copyright__ = "Zuse Institute Berlin 2011" def __init__(self, parent, id, dataSet): super(DataBrowserModel, self).__init__(parent) self.id = id
from PySide.QtCore import QObject, SIGNAL, Signal from basics.helpers.enum import enum import libsbml import logging TYPE = enum("TYPE", "COMPARTMENT, SPECIES, REACTION, NONE, PARAMETER, RULE, EVENT") #### defining constant strings for Species/Parameter Threshold XML #### XML_THRESHOLD_NAMESPACE = "http://www.zib.de/SBML/Threshold" # more or less arbitrary string. Important to define a standard. XML_SCALE = "Scale" XML_THRESHOLD_VALUE = "Value" class SBMLEntity(QObject): """ This is a simple wrapper for the entity classes of libsbml. It's needed to emit signals when something has changed. It's also used for creating "conceptual" entities like a father "node" for all the different Species-containing entities. This greatly eases the work needed in the MainTreeModel. @param entity: A libSBML object. Can be None for father "nodes". @type entity: libSBML object @param label: Usually None when a libSBML object is given. Otherwise the name of the conceptual entity (e.g. "Species","Reactions", ...) @type label: str @param parent: Standard Qt parent @type parent: QObject