Qt widgets for data sets

Dialog boxes for DataSet editing and showing

class guidata.dataset.qtwidgets.DataSetEditDialog(instance: DataSet | DataSetGroup, icon: str | QIcon = '', parent: QWidget | None = None, apply: Callable | None = None, wordwrap: bool = True, size: QSize | Tuple[int, int] | None = None)

Bases: QDialog

Dialog box for DataSet editing

setup_instance(instance: Any) None

Construct main layout

layout_factory(instance: DataSet, grid: QGridLayout) DataSetEditLayout

A factory method that produces instances of DataSetEditLayout

or derived classes (see DataSetShowDialog)

child_title(item: DataItemVariable) str

Return data item title combined with QApplication title

accept() None

Validate inputs

class guidata.dataset.qtwidgets.DataSetShowDialog(instance: DataSet | DataSetGroup, icon: str | QIcon = '', parent: QWidget | None = None, apply: Callable | None = None, wordwrap: bool = True, size: QSize | Tuple[int, int] | None = None)

Bases: DataSetEditDialog

Read-only dialog box

layout_factory(instance: DataSet, grid: QGridLayout) DataSetShowLayout

Override DataSetEditDialog method

class guidata.dataset.qtwidgets.DataSetGroupEditDialog(instance: DataSet | DataSetGroup, icon: str | QIcon = '', parent: QWidget | None = None, apply: Callable | None = None, wordwrap: bool = True, size: QSize | Tuple[int, int] | None = None)

Bases: DataSetEditDialog

Tabbed dialog box for DataSet editing

setup_instance(instance: DataSetGroup) None

Override DataSetEditDialog method

Layouts for DataSet editing and showing

class guidata.dataset.qtwidgets.DataSetEditLayout(parent: QWidget | None, instance: DataSet, layout: QGridLayout, items: List[DataItem] | None = None, first_line: int = 0, change_callback: Callable | None = None)

Bases: object

Layout in which data item widgets are placed

classmethod register(item_type: Type, factory: Any) None

Register a factory for a new item_type

transform_items(items: List[DataItem]) List[DataItem]

Handle group of items: transform items into a GroupItem instance if they are located between BeginGroup and EndGroup

check_all_values() bool

Check input of all widgets

accept_changes() None

Accept changes made to widget inputs

setup_layout(items: List[DataItem]) None

Place items on layout

add_row(widget: DataSetShowWidget) None

Add widget to row

refresh_widgets() None

Refresh the status of all widgets

update_dataitems() None

Refresh the content of all data items

update_widgets(except_this_one: QWidget | AbstractDataSetWidget | None = None) None

Refresh the content of all widgets

widget_value_changed() None

Method called when any widget’s value has changed

class guidata.dataset.qtwidgets.DataSetShowLayout(parent: QWidget | None, instance: DataSet, layout: QGridLayout, items: List[DataItem] | None = None, first_line: int = 0, change_callback: Callable | None = None)

Bases: DataSetEditLayout

Read-only layout