#include <QicsDataItem.h>
Inherits Qics.
Inherited by QicsDataBool, QicsDataDate, QicsDataDateTime, QicsDataDouble, QicsDataFloat, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataString, QicsDataTime, and QicsDataVariant.
Public Types | |
| enum | QicsWideKeyAction { Del_DeleteSelected, CtrlA_SelectAll, CtrlC_Copy, CtrlV_Paste, CtrlX_Cut } |
| enum | QicsBoxBorders { TopBorder = 1, BottomBorder = 2, LeftBorder = 4, RightBorder = 8, AllBorders = 1+2+4+8 } |
| enum | QicsCopyPolicy { CopyData = 1, CopyAttributes = 2, CopyDimensions = 4, CopySpans = 8, CopyAll = 1+2+4+8 } |
| enum | QicsClearPolicy { ClearData = 1, ClearAttributes = 2, ClearSpans = 4, ClearAll = 1+2+4 } |
| enum | QicsSortMode { QicsStableSort = 0, QicsQuickSort } |
| enum | QicsCellOverflowBehavior { Clip = 0, Overflow, ToolTip } |
| enum | QicsCurrentCellStyle { Spreadsheet = 0, NormalSelected } |
| enum | QicsSelectionStyle { Normal = 0, Exclusive } |
| enum | QicsSelectCurrentCellPolicy { Follow = 0, Static } |
| enum | QicsFillHandleEventType { FillHandlePressed = 0, FillHandleReleased, FillHandleDoubleClicked, FillHandleDragged } |
| enum | QicsGridCellClipping { AllowPartial = 0, NoDisplayOnPartial, UseClippedSymbol } |
| enum | QicsGridType { TableGrid = 0, RowHeaderGrid, ColumnHeaderGrid } |
| enum | QicsHeaderType { RowHeader = 0, ColumnHeader } |
| enum | QicsIndexType { NoIndex = 0, RowIndex, ColumnIndex, RowAndColumnIndex } |
| enum | QicsLineStyle { None = 0, Plain, Raised, Sunken } |
| enum | QicsRepaintBehavior { RepaintOff = 0, RepaintOn = 1, RepaintCalcOnly = 2 } |
| enum | QicsScrollBarMode { Auto = 0, AlwaysOff, AlwaysOn } |
| enum | QicsScrollDirection { ScrollNone = 0, ScrollUp = 1, ScrollDown = 2, ScrollLeft = 4, ScrollRight = 8, ScrollToRow = 16, ScrollToColumn = 32 } |
| enum | QicsSelectionPolicy { SelectNone = 0, SelectSingle, SelectMultiple, SelectSingleRow, SelectMultipleRow } |
| enum | QicsSelectionType { SelectionNone = 0, SelectionBegin, SelectionDrag, SelectionEnd, SelectionExtend, SelectionAdd, SelectionReplace } |
| enum | QicsSortOrder { Ascending = 0, Descending } |
| enum | QicsTableDisplayOption { DisplayNever = 0, DisplayAlways, DisplayFirstPage } |
| enum | QicsTraversalKeyEditBehavior { TraverseWithinCell = 0, TraverseBetweenCells } |
| enum | QicsCurrentCellDraggingPolicy { DragCurrent = 0, DragSelection } |
| enum | QicsCellWidthMode { NoChange = 0, ChangeOnlyHeight, ChangeHeightWidth } |
| enum | QicsCellDecorationStyle { Flat = 0, Styled = 1 } |
| enum | QicsHeaderDragStyle { SimpleDrag = 0, StyledDrag = 1 } |
| enum | QicsAutoFitMode { Native = 0, Excel } |
Public Member Functions | |
| virtual QicsDataItem * | create (void) const =0 |
| virtual QicsDataItem * | clone (void) const =0 |
| virtual bool | setString (const QString &qs)=0 |
| virtual const QString | string (void) const =0 |
| virtual double | number (bool *ok=0) const =0 |
| virtual QicsDataItemType | type (void) const =0 |
| virtual QString | typeString (void) const =0 |
| virtual QString | format (const char *) const |
| virtual int | compareTo (const QicsDataItem &x) const |
| virtual void | encode (QDataStream &ds) const =0 |
Static Public Member Functions | |
| static QicsDataItem * | fromString (const QString &str) |
| static QicsDataItem * | decode (QDataStream &ds) |
| static void | registerType (const QString type_name, QicsDataItemParser parser, QicsDataItemDecoder decoder) |
| static void | registerTypeI (const QString type_name, QicsDataItemParser parser, QicsDataItemDecoderWithType decoder) |
| static void | registerParser (QicsDataItemParser parser) |
Static Public Attributes | |
| static const int | QicsLAST_ROW = INT_MAX-1 |
| static const int | QicsLAST_COLUMN = INT_MAX-1 |
QicsDataItem is an abstract class used to define a common inteface that all data items must implement. The programmer cannot create a QicsDataItem directly. Rather, s/he should create one of its subclasses.
A QicsDataItem is a piece of data that is stored by QicsDataModel objects. By using the abstract QicsDataItem class, the QicsDataModel does not have to know anything about the data it is storing. Similarly, the QicsTable can display data items without having any knowledge of the items' types (as long as the data type has implemented string() correctly).
There are subclasses defined that implement the QicsDataItem API for many built-in C++ and Qt data types: QicsDataString, QicsDataBool, QicsDataInt, QicsDataLong, QicsDataDouble, etc. Sometimes it may be desirable to create new subclasses for additional data types. Information regarding adding a new data type can be found in Extending the QicsTable Data Model.
enum Qics::QicsWideKeyAction [inherited] |
Denotes global key actions available for the table grid.
enum Qics::QicsBoxBorders [inherited] |
Denotes the box borders of cell region.
enum Qics::QicsCopyPolicy [inherited] |
Denotes the copying policy during copy/paste and drag/drop operations.
enum Qics::QicsClearPolicy [inherited] |
Denotes the clearing policy during cut and delete operations.
enum Qics::QicsSortMode [inherited] |
Denotes the sort algorithm which is used.
enum Qics::QicsCellOverflowBehavior [inherited] |
Denotes the behavior of grids when handling cells whose contents cannot be displayed in the boundaries of the cell.
enum Qics::QicsCurrentCellStyle [inherited] |
Denotes the visual style that the current cell of the table will be drawn with.
enum Qics::QicsSelectionStyle [inherited] |
enum Qics::QicsSelectCurrentCellPolicy [inherited] |
enum Qics::QicsGridCellClipping [inherited] |
Denotes the policy for displaying text that is too long to fit in its cell.
enum Qics::QicsGridType [inherited] |
Specifies a type of grid object.
enum Qics::QicsHeaderType [inherited] |
Specifies the type of table header.
enum Qics::QicsIndexType [inherited] |
Specifies the type of table index.
enum Qics::QicsLineStyle [inherited] |
Denotes the style of lines and borders in the table widget.
enum Qics::QicsRepaintBehavior [inherited] |
Specifies the recalculation and repainting behavior of tables and grids.
enum Qics::QicsScrollBarMode [inherited] |
enum Qics::QicsScrollDirection [inherited] |
Denotes a direction for scrolling operations, or that an absolute scroll should occur.
enum Qics::QicsSelectionPolicy [inherited] |
Denotes the selection policy for the table.
enum Qics::QicsSortOrder [inherited] |
Specifies whenever ordering should be ascending or descending.
enum Qics::QicsTableDisplayOption [inherited] |
Specifies a printing display policy for elements of the table.
enum Qics::QicsTraversalKeyEditBehavior [inherited] |
Specifies the behavior of the traversal keys. (left, right, up, down, etc) while editing a cell.
enum Qics::QicsCurrentCellDraggingPolicy [inherited] |
Specifies the behavior of drag&drop operations when it has began from current cell.
enum Qics::QicsCellWidthMode [inherited] |
Specifies the behavior of set cell font.
enum Qics::QicsCellDecorationStyle [inherited] |
Specifies the cell decoration style for headers.
enum Qics::QicsHeaderDragStyle [inherited] |
Specifies row/column drag style for headers.
enum Qics::QicsAutoFitMode [inherited] |
Specifies autofit modes.
| virtual QicsDataItem* QicsDataItem::create | ( | void | ) | const [pure virtual] |
A "virtual constructor". Returns an empty, newly allocated object of the same type as this object.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual QicsDataItem* QicsDataItem::clone | ( | void | ) | const [pure virtual] |
A "virtual copy constructor". Returns a newly allocated copy of this object.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual bool QicsDataItem::setString | ( | const QString & | qs | ) | [pure virtual] |
Converts (if necessary) qs to the appropriate data type and sets the contents of the data item to that value.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual const QString QicsDataItem::string | ( | void | ) | const [pure virtual] |
Converts (if necessary) the contents of the data item to a QString and returns that string.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual double QicsDataItem::number | ( | bool * | ok = 0 |
) | const [pure virtual] |
Converts (if necessary) the contents of the data item to a double and returns that value. ok flag shows success of the conversion in the case of true.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual QicsDataItemType QicsDataItem::type | ( | void | ) | const [pure virtual] |
Returns the type of the data item. All user-defined types should return QicsDataItem_UserDefined.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual QString QicsDataItem::typeString | ( | void | ) | const [pure virtual] |
Returns a string describing the type of the data item.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
Referenced by QicsDataVariant::encode(), QicsDataDateTime::encode(), QicsDataTime::encode(), QicsDataDate::encode(), QicsDataString::encode(), QicsDataDouble::encode(), QicsDataFloat::encode(), QicsDataLongLong::encode(), QicsDataLong::encode(), QicsDataInt::encode(), and QicsDataBool::encode().
| virtual QString QicsDataItem::format | ( | const char * | ) | const [inline, virtual] |
Converts (if necessary) the contents of the data item to a formatted QString using the supplied formatting string, and returns the formatted string. The exact definition of the formatting string varies among data types.
Reimplemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual int QicsDataItem::compareTo | ( | const QicsDataItem & | x | ) | const [virtual] |
Compare another data item x to me for the purpose of sorting. compareTo returns a value < 0 if this items is less than x, 0 if this item == x, and > 0 if this item is greater than x.
Reimplemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| virtual void QicsDataItem::encode | ( | QDataStream & | ds | ) | const [pure virtual] |
Encodes the value of the data item onto stream ds.
Implemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| static QicsDataItem* QicsDataItem::fromString | ( | const QString & | str | ) | [static] |
Returns a new data item based on the content of the string.
Reimplemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| static QicsDataItem* QicsDataItem::decode | ( | QDataStream & | ds | ) | [static] |
Returns a new data item based on the encoded data in ds.
Reimplemented in QicsDataBool, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataFloat, QicsDataDouble, QicsDataString, QicsDataDate, QicsDataTime, QicsDataDateTime, and QicsDataVariant.
| static void QicsDataItem::registerType | ( | const QString | type_name, | |
| QicsDataItemParser | parser, | |||
| QicsDataItemDecoder | decoder | |||
| ) | [static] |
Used to register a new, user-defined type so that the type can be used in streaming, drag and drop, and cut and paste operations. User-defined data item parsers will be called in the order that their types are registered.
| type_name | name of the new type | |
| parser | static member function of the new type that parses an item from a QString | |
| decoder | static member function of the new type that decodes an item from a QDataStream |
| static void QicsDataItem::registerParser | ( | QicsDataItemParser | parser | ) | [static] |
Used to register a new data item parser algorithm. This parser can be used to reimplement the default parsing "algorithm" of QicsDataItem. If a user defined parser method cannot successfully parse a string, it should return 0. If the user defined parser cannot parse a string, the default QicsDataItem parsing algorithm will be used. The default algorithm first tries any individual user defined type parsers (see registerType()), then attempts to parse the built in types.
| parser | the new data item parser method |