# sas.qtgui.Calculators.Shape2SAS.Tables package

## Subpackages

- sas.qtgui.Calculators.Shape2SAS.Tables.UI package
  - Submodules
  - sas.qtgui.Calculators.Shape2SAS.Tables.UI.subunitTableUI module
    - `Ui_SubunitTableController`
      - `Ui_SubunitTableController.retranslateUi()`
      - `Ui_SubunitTableController.setupUi()`
  - sas.qtgui.Calculators.Shape2SAS.Tables.UI.variableTableUI module
    - `Ui_VariableTable`
      - `Ui_VariableTable.retranslateUi()`
      - `Ui_VariableTable.setupUi()`
  - Module contents

## Submodules

## sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable module

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.CustomDelegate

  Bases: `QStyledItemDelegate`

  Delegate for appearance and behaviour control of the model table view

  createEditor(widget, option, index)

    Create editor for the model table view

  setEditorData(editor, index)

    Set the editor data from the model

  setModelData(editor, model, index)

    Set model data for the editor

  staticMetaObject = PySide6.QtCore.QMetaObject("CustomDelegate" inherits "QStyledItemDelegate": )

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.CustomStandardItem(prefix='', unit='', tooltip='', default_value=None)

  Bases: `QStandardItem`

  Custom QStandardItem to set initial values, roles and take care of subunit and colour case

  data(role=ItemDataRole.DisplayRole)

    Check the role of the data

  setData(value, role=ItemDataRole.EditRole)

    Set data for the model

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.DoubleValidator(bottom: float, top: float, decimals: int, parent=None)

  Bases: `QDoubleValidator`

  Custom QDoubleValidator that ensures no comma values can be written.

  staticMetaObject = PySide6.QtCore.QMetaObject("DoubleValidator" inherits "QDoubleValidator": )
  validate(input: str, pos: int) → tuple

    Return invalid for commas to prevent decimal separator issues.

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.ExtendedEnum(new_class_name, /, names, *, module=None, qualname=None, type=None, start=1, boundary=None)

  Bases: `Enum`

  Extended Enum class to return all values

  classmethod list()

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.ModelTableModel(parent=None)

  Bases: `QStandardItemModel`

  Subclass from QStandardItemModel to allow displaying parameters in QTableView model.

  staticMetaObject = PySide6.QtCore.QMetaObject("ModelTableModel" inherits "QStandardItemModel": )

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.OptionLayout(*values)

  Bases: `ExtendedEnum`

  Row layout for the subunit table

  COMX()

    Return COMX dimensions

  COMY()

    Return COMY dimensions

  COMZ()

    Return COMZ dimensions

  COM_x = 'COMX'
  COM_y = 'COMY'
  COM_z = 'COMZ'
  Colour = 'colour'
  RPX()

    Return RPX dimensions

  RPY()

    Return RPY dimensions

  RPZ()

    Return RPZ dimensions

  RP_x = 'RPX'
  RP_y = 'RPY'
  RP_z = 'RPZ'
  SLD()

    Return ΔSLD dimensions

  Subunit = 'Subunit'
  alpha()

    Return α dimensions

  beta()

    Return β dimensions

  colour()

    Return Colour dimensions

  cube()

    Return the cube dimensions

  cuboid()

    Return the cuboid dimensions

  cyl_ring()

    Return the cylinder ring dimensions

  cylinder()

    Return the cylinder dimensions

  disc()

    Return the disc dimensions

  ellipsoid()

    ellipsoid dimension layout

  elliptical_cylinder()

    Return the elliptical cylinder dimensions

  gamma()

    Return γ dimensions

  static get_position(enum)

    Get the position of a enum (row)

  hollow_cube()

    Return the hollow cube dimensions

  hollow_sphere()

    Return the hollow sphere dimensions

  sphere()

    sphere dimension layout

  x = 'X'
  y = 'Y'
  z = 'Z'
  ΔSLD = 'SLD'
  α = 'alpha'
  β = 'beta'
  γ = 'gamma'

class sas.qtgui.Calculators.Shape2SAS.Tables.subunitTable.SubunitTable

  Bases: `QWidget`, `Ui_SubunitTableController`

  Subunit table functionality and design for the model tab

  initializeModel()

    Setup the model for the subunit table

  initializeSignals()

    Setup signals for the subunit table

  onAdding()

    Add a subunit to the model table

  onClearSubunitTable()

    Clear the subunit table

  onDeleting()

    Delete the selected subunit from the model table

  setButtonSpinboxBounds()

    Set new bounds for the spinbox when a new column is added or deleted

  setSubunitOptions()

    Set the subunit options in the combobox

  setSubunitRestriction(dimensions)

    Set input restriction for a row

  setTableProperties()

    Setting table properties

  static smallestInteger(numcolumn, columnEyeKeeper: list) → int

    Find the smallest integer not in columnEyeKeeper list

  staticMetaObject = PySide6.QtCore.QMetaObject("SubunitTable" inherits "QWidget": )

## sas.qtgui.Calculators.Shape2SAS.Tables.variableTable module

class sas.qtgui.Calculators.Shape2SAS.Tables.variableTable.CustomDelegate

  Bases: `QStyledItemDelegate`

  Custom delegate to set check box in the table

  createEditor(widget, option, index)

    Create editor for the model table view

  setEditorData(editor, index)

    Set the checkbox state based on the model data

  setModelData(editor, model, index)

    Update the model data based on the checkbox state

  staticMetaObject = PySide6.QtCore.QMetaObject("CustomDelegate" inherits "QStyledItemDelegate": )

class sas.qtgui.Calculators.Shape2SAS.Tables.variableTable.ModelVariableTableModel(parent=None)

  Bases: `QStandardItemModel`

  Subclass from QStandardItemModel to allow displaying parameters in QTableView model.

  headerData(section, orientation, role=ItemDataRole.DisplayRole)

    Displays model parameters in the header of the model table

  staticMetaObject = PySide6.QtCore.QMetaObject("ModelVariableTableModel" inherits "QStandardItemModel": )

class sas.qtgui.Calculators.Shape2SAS.Tables.variableTable.VariableTable

  Bases: `QWidget`, `Ui_VariableTable`

  getAllTableColumnsPos()

    Get all columns from the variable table

  getAllTableNamesVariables()

    Get all names from the variable table

  getCheckedTableNamesVariables()

    Get checked names from the variable table

  getCheckedVariables() → list[list[bool]]

    Get checked names and associated columns from variable table

  initializeVariableModel()

    Setup the model for the subunit table

  onClearTable()

    Clear the table

  removeTableData(row)

    Remove data from table

  resetTable()

    Reset table

  setDefaultLayout()

    Set default values

  setUncheckToAllCheckBoxes()

    Uncheck all checkboxes

  setVariableTableData(names: list[str], column: int)

    Set names and checkboxes to table

  staticMetaObject = PySide6.QtCore.QMetaObject("VariableTable" inherits "QWidget": )

## Module contents