BPS C++ API  2.24.4
BpsTableField Class Referenceabstract

Abstract base class for table fields. More...

#include <bpstablefield.h>

+ Inheritance diagram for BpsTableField:

Signals

void editorDataChanged (const QString &aColumn, const QVariant &aValue)
 Signal emitted whenever an editor created by the field object changes the edited data. More...
 

Public Member Functions

Qt::Alignment alignment () const
 
 BpsTableField (const BpsTableField &aOther)
 Copy constructor.
 
 BpsTableField (const QString &aHeader, const QString &aColumn)
 Construct a regular field which is displayed in the view attached to the model. More...
 
virtual BpsTableFieldclone () const =0
 Clone the object, e.g. More...
 
QString column () const
 
virtual QWidgetcreateEditor (QWidget *aParent=nullptr)=0
 Create an editor for the delegate. More...
 
int decimalPlaces () const
 Maximum number of decimal places to show for numeric values. More...
 
virtual QVariant decoration (BpsTableItem *aItem) const
 
virtual QVariant defaultValue () const
 
virtual QVariant display (BpsTableItem *aItem) const
 Get the display data for the item. More...
 
QString displayedColumn () const
 
virtual QVariant editorData (QWidget *aEditor) const =0
 Get the current editor data. More...
 
virtual QVariant exp (const QVariant &aValue)
 Export a value, for example for cut/copy. More...
 
QString header () const
 
virtual QVariant imp (const QVariant &aValue)
 Import a value, for example from paste. More...
 
bool isEditable () const
 
void setAlignment (Qt::Alignment aAlignment)
 Set the display alignment of the field. More...
 
void setDecimalPlaces (int aDecPlaces)
 Set number of decimal places to display for numeric values. More...
 
void setDisplayedColumn (const QString &aColumn)
 Set an alternate column to fetch for display. More...
 
virtual void setEditorData (QWidget *aEditor, const QVariant &aValue)=0
 Set editor data from model data. More...
 
void setIsEditable (bool aIsEditable)
 Enable / disable editing of a field. More...
 
void setSortRole (int aRole)
 Set a custom sort role for this field. More...
 
int sortRole () const
 
QString wholeColumn () const
 
- Public Member Functions inherited from QObject
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
 QObject (QObject *parent)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Member Functions

QVariantMap getSettings (const QStringList &aNames) const
 Get validator settings for a number of fields. More...
 
BpsTabletable () const
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Friends

class BpsTable
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Abstract base class for table fields.

See also
BpsTableWindow BpsTableModel BpsTableDelegate

Constructor & Destructor Documentation

◆ BpsTableField()

BpsTableField::BpsTableField ( const QString aHeader,
const QString aColumn 
)

Construct a regular field which is displayed in the view attached to the model.

Parameters
aHeaderThe column header.
aColumnThe whole column expression. This may also be something like "func(c_key) as c_fcol" where the whole expression will be returned as wholeColumn(), and column() will return the alias part "c_fcol" only.

Member Function Documentation

◆ alignment()

Qt::Alignment BpsTableField::alignment ( ) const
Returns
The current display alignment of the field.

◆ clone()

virtual BpsTableField* BpsTableField::clone ( ) const
pure virtual

Clone the object, e.g.

create object of same derived class.

Returns
Pointer to the new object.

◆ column()

QString BpsTableField::column ( ) const
Returns
The plain column name (alias part only).

◆ createEditor()

virtual QWidget* BpsTableField::createEditor ( QWidget aParent = nullptr)
pure virtual

Create an editor for the delegate.

Parameters
aParentThe parent widget.
Returns
The editing widget to use, or 0 if not implemented.

◆ decimalPlaces()

int BpsTableField::decimalPlaces ( ) const

Maximum number of decimal places to show for numeric values.

  • If decimal places is greater that 0, a fixed number of decimal places is shown.
  • If decimal places is less than 0, trailing decimal places '0' are removed. If there are no more digits left after the decimal point, the decimal point is also removed.

The default setting is -3.

Returns
Current number of decimal places.

◆ decoration()

virtual QVariant BpsTableField::decoration ( BpsTableItem aItem) const
virtual
Parameters
aItemThe item.
Returns
Decoration of the item. The default implementation returns QVariant()

◆ defaultValue()

virtual QVariant BpsTableField::defaultValue ( ) const
virtual
Returns
Default value for the field.

◆ display()

virtual QVariant BpsTableField::display ( BpsTableItem aItem) const
virtual

Get the display data for the item.

The default implementation checks, if there a is non-empty display column name (see setDisplayColumn) and the item is saved. When yes, the displayedColumn is fetched (*) and returned. When no, the edit data is returned. (*) The value is cached in the item for better performance, so it need not get fetched every time from the database.

Parameters
aItemThe item to get the display value from.
Returns
Display data of the item.

◆ displayedColumn()

QString BpsTableField::displayedColumn ( ) const
Returns
Returns the alternate displayed column

◆ editorData()

virtual QVariant BpsTableField::editorData ( QWidget aEditor) const
pure virtual

Get the current editor data.

Parameters
aEditorThe editor to use.
Returns
The current data.

◆ editorDataChanged

void BpsTableField::editorDataChanged ( const QString aColumn,
const QVariant aValue 
)
signal

Signal emitted whenever an editor created by the field object changes the edited data.

Parameters
aColumnThe table column name.
aValueThe new value.

◆ exp()

virtual QVariant BpsTableField::exp ( const QVariant aValue)
virtual

Export a value, for example for cut/copy.

Parameters
aValueThe value to export.
Returns
The value exported in place.

◆ getSettings()

QVariantMap BpsTableField::getSettings ( const QStringList aNames) const
protected

Get validator settings for a number of fields.

QVariantMap settings = getSettings(QStringList() << bStr("min") << bStr("max"));
// get central system setting in Validators/t_table/c_column.name
#define bStr(aStr)
Encapsulation for string literals.
Definition: bpsglobals.h:125
QVariantMap getSettings(const QStringList &aNames) const
Get validator settings for a number of fields.
Parameters
aNamesList of setting key portions at the right side of the dot.
Returns
The setting value, or QVariant() if none found.

◆ header()

QString BpsTableField::header ( ) const
Returns
The column header.

◆ imp()

virtual QVariant BpsTableField::imp ( const QVariant aValue)
virtual

Import a value, for example from paste.

Parameters
aValueThe value to import.
Returns
The value imported in place.

◆ isEditable()

bool BpsTableField::isEditable ( ) const
Returns
True if the field can be edited.

◆ setAlignment()

void BpsTableField::setAlignment ( Qt::Alignment  aAlignment)

Set the display alignment of the field.

Parameters
aAlignmentThe new alignment to set.

◆ setDecimalPlaces()

void BpsTableField::setDecimalPlaces ( int  aDecPlaces)

Set number of decimal places to display for numeric values.

See also
decimalPlaces()
Parameters
aDecPlacesNew number of decimal places.

◆ setDisplayedColumn()

void BpsTableField::setDisplayedColumn ( const QString aColumn)

Set an alternate column to fetch for display.

After setEditData, this column will get re-fetched. A common use is in flat lists of tree organized tables:

table->field(bStr("c_name"))->setDisplayedColumn(bStr("f_articlename(c_key)"));
BpsTable * table() const
void setDisplayedColumn(const QString &aColumn)
Set an alternate column to fetch for display.
BpsTableField * field(int aIndex) const
Get field by index.

Set an empty string to clear the special display column.

Parameters
aColumnThe column or sql function returning the display value.

◆ setEditorData()

virtual void BpsTableField::setEditorData ( QWidget aEditor,
const QVariant aValue 
)
pure virtual

Set editor data from model data.

Parameters
aEditorThe editor to use.
aValueThe edit value to set.

◆ setIsEditable()

void BpsTableField::setIsEditable ( bool  aIsEditable)

Enable / disable editing of a field.

Parameters
aIsEditableThe new editable status.

◆ setSortRole()

void BpsTableField::setSortRole ( int  aRole)

Set a custom sort role for this field.

Parameters
aRoleThe new sort role.

◆ sortRole()

int BpsTableField::sortRole ( ) const
Returns
Get the sort role for this field.

◆ table()

BpsTable* BpsTableField::table ( ) const
protected
Returns
Get table definition for this field.

◆ wholeColumn()

QString BpsTableField::wholeColumn ( ) const
Returns
The whole column expression, as passed in the constructor.

The documentation for this class was generated from the following file: