kexi

#include <kexidataawarepropertyset.h>

Inherits TQObject.

Public Slots

void removeCurrentPropertySet ()
 
void clear (uint minimumSize=0)
 
void insert (uint row, KoProperty::Set *set, bool newOne=false)
 
void remove (uint row)
 

Signals

void rowDeleted ()
 
void rowInserted ()
 

Public Member Functions

 KexiDataAwarePropertySet (KexiViewBase *view, KexiDataAwareObjectInterface *dataObject)
 
uint size () const
 
KoProperty::Set * currentPropertySet () const
 
uint currentRow () const
 
KoProperty::Set * at (uint row) const
 
KoProperty::Set * findPropertySetForItem (KexiTableItem &item)
 
int findRowForPropertyValue (const TQCString &propertyName, const TQVariant &value)
 

Protected Slots

void slotDataSet (KexiTableViewData *data)
 
void slotRowDeleted ()
 
void slotRowsDeleted (const TQValueList< int > &rows)
 
void slotRowInserted (KexiTableItem *item, uint row, bool repaint)
 
void slotCellSelected (int, int row)
 
void slotReloadRequested ()
 

Protected Attributes

SetVector m_sets
 
TQGuardedPtr< KexiViewBase > m_view
 
KexiDataAwareObjectInterface * m_dataObject
 
TQGuardedPtr< KexiTableViewData > m_currentTVData
 
int m_row
 

Detailed Description

This helper class handles data changes of a single object implementing KexiDataAwareObjectInterface (e.g. KexiTableView) inside a KexiViewBase container.

It is currently used in KexiAlterTableDialog and KexiQueryDesignerGuiEditor, and may be used for similar purposes, when each KexiDataAwareObjectInterface's row can be associated with single KoProperty::Set object, and given KexiDataAwareObjectInterface object has to inform the world about currently selected row/property set.

Following functionality is built-in:

  • auto-initializing after resetting of table view's data
  • destroying single property set that is associated with deleted row
  • inserting single property set that and associating it with new row
  • all property sets are cleared when view's data is cleared (using clear())
  • setting view's 'dirty' flag when needed
  • signalling via KexiViewBase::propertySetSwitched() that current property set has changed (e.g. on moving to other row)

Definition at line 53 of file kexidataawarepropertyset.h.

Constructor & Destructor Documentation

◆ KexiDataAwarePropertySet()

KexiDataAwarePropertySet::KexiDataAwarePropertySet ( KexiViewBase *  view,
KexiDataAwareObjectInterface *  dataObject 
)

You can instantiate KexiDataAwarePropertySet object for existing tableView and view. tableView can have data assigned (KexiDataAwareObjectInterface::setData()) now but it can be done later as well (but assigning data is needed for proper functionality). Any changed reassignments of table view's data will be handled automatically.

Definition at line 29 of file kexidataawarepropertyset.cpp.

◆ ~KexiDataAwarePropertySet()

KexiDataAwarePropertySet::~KexiDataAwarePropertySet ( )
virtual

Definition at line 52 of file kexidataawarepropertyset.cpp.

Member Function Documentation

◆ at()

KoProperty::Set * KexiDataAwarePropertySet::at ( uint  row) const
inline

Definition at line 74 of file kexidataawarepropertyset.h.

◆ clear

void KexiDataAwarePropertySet::clear ( uint  minimumSize = 0)
slot

Definition at line 95 of file kexidataawarepropertyset.cpp.

◆ currentPropertySet()

KoProperty::Set * KexiDataAwarePropertySet::currentPropertySet ( ) const

Definition at line 133 of file kexidataawarepropertyset.cpp.

◆ currentRow()

uint KexiDataAwarePropertySet::currentRow ( ) const

Definition at line 138 of file kexidataawarepropertyset.cpp.

◆ findPropertySetForItem()

KoProperty::Set * KexiDataAwarePropertySet::findPropertySetForItem ( KexiTableItem &  item)
Returns
a pointer to property set assigned for item or null if item has no property set assigned or it's not owned by assigned table view or if assigned table view has no data set.

Definition at line 237 of file kexidataawarepropertyset.cpp.

◆ findRowForPropertyValue()

int KexiDataAwarePropertySet::findRowForPropertyValue ( const TQCString &  propertyName,
const TQVariant &  value 
)
Returns
number of the first row containing propertyName property equal to value. This is used e.g. in the Table Designer to find a row by field name. If no such row has been found, -1 is returned.

Definition at line 247 of file kexidataawarepropertyset.cpp.

◆ insert

void KexiDataAwarePropertySet::insert ( uint  row,
KoProperty::Set *  set,
bool  newOne = false 
)
slot

Inserts set property set at row position. If there was a buffer at this position before, it will be destroyed. If newOne is true, the property set will be marked as newly created, simply by adding "newrow" property.

The property set set will be owned by this object, so you should not delete this property set by hand but call removeCurrentPropertySet() or remove(uint) instead. Note that property set's parent (TQObject::parent()) must be null or qual to this KexiDataAwarePropertySet object, otherwise this method will fail with a warning.

Definition at line 108 of file kexidataawarepropertyset.cpp.

◆ remove

void KexiDataAwarePropertySet::remove ( uint  row)
slot

Removes a property set at row position.

Definition at line 79 of file kexidataawarepropertyset.cpp.

◆ removeCurrentPropertySet

void KexiDataAwarePropertySet::removeCurrentPropertySet ( )
slot

Definition at line 74 of file kexidataawarepropertyset.cpp.

◆ rowDeleted

void KexiDataAwarePropertySet::rowDeleted ( )
signal

Emmited when row is deleted. KexiDataAwareObjectInterface::rowDeleted() signal is usually used but when you're using KexiDataAwarePropertySet, you never know if currentPropertySet() is updated. So use this signal instead.

◆ rowInserted

void KexiDataAwarePropertySet::rowInserted ( )
signal

Emmited when row is inserted. Purpose of this signal is similar to rowDeleted() signal.

◆ size()

uint KexiDataAwarePropertySet::size ( ) const

Definition at line 90 of file kexidataawarepropertyset.cpp.

◆ slotCellSelected

void KexiDataAwarePropertySet::slotCellSelected ( int  ,
int  row 
)
protectedslot

Called on selecting another cell in a tableview.

Definition at line 229 of file kexidataawarepropertyset.cpp.

◆ slotDataSet

void KexiDataAwarePropertySet::slotDataSet ( KexiTableViewData *  data)
protectedslot

Handles table view's data source changes.

Definition at line 56 of file kexidataawarepropertyset.cpp.

◆ slotReloadRequested

void KexiDataAwarePropertySet::slotReloadRequested ( )
protectedslot

Called on clearing tableview's data: just clears all property sets.

Definition at line 103 of file kexidataawarepropertyset.cpp.

◆ slotRowDeleted

void KexiDataAwarePropertySet::slotRowDeleted ( )
protectedslot

Called on row delete in a tableview.

Definition at line 143 of file kexidataawarepropertyset.cpp.

◆ slotRowInserted

void KexiDataAwarePropertySet::slotRowInserted ( KexiTableItem *  item,
uint  row,
bool  repaint 
)
protectedslot

Called on row insertion in a tableview.

Definition at line 209 of file kexidataawarepropertyset.cpp.

◆ slotRowsDeleted

void KexiDataAwarePropertySet::slotRowsDeleted ( const TQValueList< int > &  rows)
protectedslot

Called on multiple rows delete in a tableview.

Definition at line 162 of file kexidataawarepropertyset.cpp.

Member Data Documentation

◆ m_currentTVData

TQGuardedPtr<KexiTableViewData> KexiDataAwarePropertySet::m_currentTVData
protected

Definition at line 144 of file kexidataawarepropertyset.h.

◆ m_dataObject

KexiDataAwareObjectInterface* KexiDataAwarePropertySet::m_dataObject
protected

Definition at line 142 of file kexidataawarepropertyset.h.

◆ m_row

int KexiDataAwarePropertySet::m_row
protected

used to know if a new row is selected in slotCellSelected()

Definition at line 146 of file kexidataawarepropertyset.h.

◆ m_sets

SetVector KexiDataAwarePropertySet::m_sets
protected

prop. sets vector

Definition at line 139 of file kexidataawarepropertyset.h.

◆ m_view

TQGuardedPtr<KexiViewBase> KexiDataAwarePropertySet::m_view
protected

Definition at line 141 of file kexidataawarepropertyset.h.


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