ICS

QicsTable Documentation Set

QicsDataItem Class Reference

A lightweight abstract wrapper class for a generic item. More...

#include <QicsDataItem.h>

Inherits Qics.

Inherited by QicsDataBool, QicsDataDate, QicsDataDateTime, QicsDataDouble, QicsDataFloat, QicsDataInt, QicsDataLong, QicsDataLongLong, QicsDataString, QicsDataTime, and QicsDataVariant.

List of all members.

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 QicsDataItemcreate (void) const =0
virtual QicsDataItemclone (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 QicsDataItemfromString (const QString &str)
static QicsDataItemdecode (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


Detailed Description

A lightweight abstract wrapper class for a generic item.

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.


Member Enumeration Documentation

enum Qics::QicsWideKeyAction [inherited]

Denotes global key actions available for the table grid.

  • Del_DeleteSelected Pressing Delete removes data from the selected cells.
  • CtrlA_SelectAll Pressing Control+A selects all the cells in the grid.

enum Qics::QicsBoxBorders [inherited]

Denotes the box borders of cell region.

  • TopBorder Top border of the region.
  • BottomBorder Bottom border of the region.
  • LeftBorder Left border of the region.
  • RightBorder Right border of the region.

enum Qics::QicsCopyPolicy [inherited]

Denotes the copying policy during copy/paste and drag/drop operations.

  • CopyData Copy data from cells.
  • CopyAttributes Copy cell attributes.
  • CopyDimensions Copy cell dimensions (width/height).
  • CopySpans Copy spanned cells.

enum Qics::QicsClearPolicy [inherited]

Denotes the clearing policy during cut and delete operations.

  • ClearData Clear data from cells.
  • ClearAttributes Clear cell attributes.
  • ClearSpans Clear spanned cells.

enum Qics::QicsSortMode [inherited]

Denotes the sort algorithm which is used.

  • QicsStableSort Used non-destructive, stable sort algorithm.
  • QicsQuickSort Default quick sort algorithm.

Denotes the behavior of grids when handling cells whose contents cannot be displayed in the boundaries of the cell.

  • Clip Cell contents are clipped at the edges of the cell.
  • Overflow The grid will attempt to overflow into adjacent cells.
  • ToolTip The full contents of the cell will be displayed in a tooltip when the mouse pointer is hovered over the cell.

enum Qics::QicsCurrentCellStyle [inherited]

Denotes the visual style that the current cell of the table will be drawn with.

  • Spreadsheet The current cell will be drawn with a solid border and will always use the cell's background color.
  • NormalSelected The current cell will be drawn the same as all other selected cells. The border will be as specified in the cell's border properties, and the background will be the cell's selected color.

enum Qics::QicsSelectionStyle [inherited]

  • Normal The selection will be drawn by the normal way.
  • Exclusive The selection will be drawn with border like in MS Excel.

  • Follow The current cell will follow the selection (QicsTable style).
  • Static The current cell will stay on selection anchor (MS Excel style).
    Since:
    2.3

enum Qics::QicsGridCellClipping [inherited]

Denotes the policy for displaying text that is too long to fit in its cell.

  • AllowPartial Shows as much of the text as possible.
  • NoDisplayOnPartial Do not display text if it cannot fit in the cell.
  • UseClippedSymbol Display a clipped symbol at the end of the partial text.

enum Qics::QicsGridType [inherited]

Specifies a type of grid object.

  • TableGrid A grid used to display normal table data.
  • RowHeaderGrid A grid used to display row header data.
  • ColumnHeaderGrid A grid used to display column header data.

enum Qics::QicsHeaderType [inherited]

Specifies the type of table header.

  • HeaderRow A row header.
  • HeaderColumn A column header.

enum Qics::QicsIndexType [inherited]

Specifies the type of table index.

  • RowIndex A row index.
  • ColumnIndex A column index.

enum Qics::QicsLineStyle [inherited]

Denotes the style of lines and borders in the table widget.

  • None No line or border.
  • Plain A simple, plain line or border.
  • Raised A raised line (using shadows).
  • Sunken A sunken line (using shadows).

enum Qics::QicsRepaintBehavior [inherited]

Specifies the recalculation and repainting behavior of tables and grids.

  • RepaintOff Do not perform any drawing or dimension calculations.
  • RepaintOn Draw as needed, keep all dimensions up to date.
  • RepaintCalcOnly Do not draw, but keep all dimensions up to date.

enum Qics::QicsScrollBarMode [inherited]

Specifies the various modes of QicsTable's scroll bars.

  • Auto QicsTable shows a scroll bar when the content is too large to fit and not otherwise.
  • AlwaysOff QicsTable never shows a scroll bar.
  • AlwaysOn QicsTable always shows a scroll bar.

enum Qics::QicsScrollDirection [inherited]

Denotes a direction for scrolling operations, or that an absolute scroll should occur.

  • ScrollNone no scroll allowed.
  • ScrollUp scrolling up on a certain number of rows.
  • ScrollDown scrolling down on a certain number of rows.
  • ScrollLeft scrolling left on a certain number of columns.
  • ScrollRight scrolling right on a certain number of columns.
  • ScrollToRow scrolling up or down to a certain row.
  • ScrollToColumn scrolling left or right to a certain column.

enum Qics::QicsSelectionPolicy [inherited]

Denotes the selection policy for the table.

  • SelectNone no selection allowed.
  • SelectSingle single cell selection.
  • SelectMultiple multiple cell selection (including non-contiguous regions).
  • SelectSingleRow selecting a cell selects the entire row, only one row can be selected.
  • SelectMultipleRow selecting a cell selects the entire row, multiple rows can be selected.

enum Qics::QicsSortOrder [inherited]

Specifies whenever ordering should be ascending or descending.

  • Ascending Ascending order.
  • Descending Descending order.

enum Qics::QicsTableDisplayOption [inherited]

Specifies a printing display policy for elements of the table.

  • DisplayNever Do not display the element when printing.
  • DisplayAlways Always display the element when printing.
  • DisplayFirstPage Display the element only when printing the first page of the table.

Specifies the behavior of the traversal keys. (left, right, up, down, etc) while editing a cell.

  • TraverseWithinCell Traversal keys move the text cursor within the edited cell.
  • TraverseBetweenCells Traversal keys move the current cell highlight between cells in the table.

Specifies the behavior of drag&drop operations when it has began from current cell.

  • DragCurrent - only current cell is dragging.
  • DragSelection - whole selection is dragging.

enum Qics::QicsCellWidthMode [inherited]

Specifies the behavior of set cell font.

  • NoChange - does not change size of cells.
  • ChangeOnlyHeight - changing only height of the cell when new font is applies (cell width is not changed).
  • ChangeHeightWidth - changing height and width.

Specifies the cell decoration style for headers.

  • Flat Header cells are drawn flat, just like as ordinal cells.
  • Styled Header cells are drawn with different look.

enum Qics::QicsHeaderDragStyle [inherited]

Specifies row/column drag style for headers.

  • SimpleDrag Only drag cursor is used to indicate drag process.
  • StyledDrag Extended image is used to indicate drag process.

enum Qics::QicsAutoFitMode [inherited]

Specifies autofit modes.

  • Native It toggles between the user defined and minimal width (default).
  • Excel It is just setting the minimal width.


Member Function Documentation

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.

Since:
2.4

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]

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]

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.

Parameters:
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
See also:
registerParser

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.

Parameters:
parser the new data item parser method
See also:
registerType


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

All trademarks and copyrights on this page are properties of their respective owners.
The rest is copyright 1999-2007 Integrated Computer Solutions, Inc.