/
friendlyperch
/
QGrid
Обзор
Документация
Войти
/
friendlyperch
/
QGrid
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev-ver1
src/GridColumn.cpp
247 строк
6 KB
okuntsev
column sorting
16 янв 2026, 17:41
16 янв 2026, 17:41
d1883e8
Код
Авторство
О чём код?
#include "QGrid/GridColumn.h" #include "QGrid/CellRenderer.h" #include "QGrid/HeaderRenderer.h" GridColumn::GridColumn(QObject *parent) : QObject(parent) { mEditorDelegate = createDefaultColumnEditorDelegate(); } GridColumn::GridColumn(const GridColumn &value, QObject *parent) : GridColumn(parent) { operator=(value); } GridColumn::~GridColumn() { if (mEditorDelegate) { ColumnEditorDelegate *defaultDelegate = createDefaultColumnEditorDelegate(); if (mEditorDelegate != defaultDelegate) { delete mEditorDelegate; } } if (mCellRenderer) { delete mCellRenderer; } if (mHeaderRenderer) { delete mHeaderRenderer; } } QString GridColumn::getHeader() const { return header; } void GridColumn::setHeader(const QString &value) { header = value; } QString GridColumn::getFieldName() const { return fieldName; } void GridColumn::setFieldName(const QString &value) { fieldName = value; if (header.isEmpty()) header = fieldName; } bool GridColumn::getCheckable() const { return checkable; } void GridColumn::setCheckable(bool value) { checkable = value; } bool GridColumn::getVisible() const { return visible; } void GridColumn::setVisible(bool value) { visible = value; } int GridColumn::getIndex() const { return index; } void GridColumn::setIndex(int value) { index = value; } bool GridColumn::getIsId() const { return isId; } void GridColumn::setIsId(bool value) { isId = value; } bool GridColumn::getShowInStaticFilter() const { return showInStaticFilter; } void GridColumn::setShowInStaticFilter(bool value) { showInStaticFilter = value; } QVariant GridColumn::getDefaultValue() const { return defaultValue; } void GridColumn::setDefaultValue(const QVariant &value) { defaultValue = value; } ColumnEditorDelegate *GridColumn::getEditorDelegate() const { return mEditorDelegate; } void GridColumn::setEditorDelegate(ColumnEditorDelegate *delegate) { if (mEditorDelegate) { ColumnEditorDelegate *defaultDelegate = createDefaultColumnEditorDelegate(); if (mEditorDelegate != defaultDelegate) { delete mEditorDelegate; } } mEditorDelegate = delegate; } bool GridColumn::getDirectEdit() const { return mDirectEdit; } void GridColumn::setDirectEdit(bool value) { mDirectEdit = value; } bool GridColumn::getEditable() const { return editable; } void GridColumn::setEditable(bool value) { editable = value; } std::function<QVariant(QVariant)> GridColumn::getValueFunc() const { return valueFunc; } void GridColumn::setValueFunc(const std::function<QVariant(QVariant)> &value) { valueFunc = value; } bool GridColumn::getShowDelegateInView() const { return showDelegateInView; } void GridColumn::setShowDelegateInView(bool value) { showDelegateInView = value; } Operations GridColumn::getOperations() const { return operations; } void GridColumn::setOperations(const Operations &value) { if (operations != value) operations = value; } bool GridColumn::getShowInSearchBar() const { return showInSearchBar; } void GridColumn::setShowInSearchBar(bool value) { showInSearchBar = value; } GridColumn &GridColumn::operator=(const GridColumn &value) { header = value.getHeader(); fieldName = value.getFieldName(); editable = value.getEditable(); checkable = value.getCheckable(); visible = value.getVisible(); index = value.getIndex(); isId = value.getIsId(); isParentId = value.getIsParentId(); showInStaticFilter = value.getShowInStaticFilter(); showInSearchBar = value.getShowInSearchBar(); defaultValue = value.getDefaultValue(); ColumnEditorDelegate *defaultDelegate = createDefaultColumnEditorDelegate(); if (mEditorDelegate && mEditorDelegate != defaultDelegate) { delete mEditorDelegate; } ColumnEditorDelegate *sourceDelegate = value.getEditorDelegate(); if (sourceDelegate && sourceDelegate != defaultDelegate) { mEditorDelegate = sourceDelegate; } else { mEditorDelegate = defaultDelegate; } valueFunc = value.getValueFunc(); showDelegateInView = value.getShowDelegateInView(); operations = value.getOperations(); textAlignment = value.getTextAlignment(); sortable = value.getSortable(); mHeaderIcon = value.getHeaderIcon(); if (mCellRenderer) { delete mCellRenderer; } CellRenderer *sourceRenderer = value.getCellRenderer(); if (sourceRenderer) { mCellRenderer = sourceRenderer; } else { mCellRenderer = nullptr; } if (mHeaderRenderer) { delete mHeaderRenderer; } HeaderRenderer *sourceHeaderRenderer = value.getHeaderRenderer(); if (sourceHeaderRenderer) { mHeaderRenderer = sourceHeaderRenderer; } else { mHeaderRenderer = nullptr; } return *this; } bool GridColumn::getIsParentId() const { return isParentId; } void GridColumn::setIsParentId(bool value) { isParentId = value; } Qt::Alignment GridColumn::getTextAlignment() const { return textAlignment; } void GridColumn::setTextAlignment(Qt::Alignment value) { textAlignment = value; } bool GridColumn::getSortable() const { return sortable; } void GridColumn::setSortable(bool value) { sortable = value; } QIcon GridColumn::getHeaderIcon() const { return mHeaderIcon; } void GridColumn::setHeaderIcon(const QIcon &icon) { mHeaderIcon = icon; } CellRenderer *GridColumn::getCellRenderer() const { return mCellRenderer; } void GridColumn::setCellRenderer(CellRenderer *renderer) { if (mCellRenderer) { delete mCellRenderer; } mCellRenderer = renderer; } HeaderRenderer *GridColumn::getHeaderRenderer() const { return mHeaderRenderer; } void GridColumn::setHeaderRenderer(HeaderRenderer *renderer) { if (mHeaderRenderer) { delete mHeaderRenderer; } mHeaderRenderer = renderer; }