From: <ibr...@us...> - 2013-12-11 12:54:09
|
Revision: 4978 http://sourceforge.net/p/tora/code/4978 Author: ibre5041 Date: 2013-12-11 12:54:04 +0000 (Wed, 11 Dec 2013) Log Message: ----------- reordered Modified Paths: -------------- trunk/tora/src/core/toresultmodel.h trunk/tora/src/core/toresulttableview.h Modified: trunk/tora/src/core/toresultmodel.h =================================================================== --- trunk/tora/src/core/toresultmodel.h 2013-12-11 11:40:30 UTC (rev 4977) +++ trunk/tora/src/core/toresultmodel.h 2013-12-11 12:54:04 UTC (rev 4978) @@ -64,52 +64,10 @@ typedef QList<HeaderDesc> HeaderList; -protected: - toEventQuery *Query; + toResultModel(toEventQuery *query, + QObject *parent = 0, + bool read = false); - toQuery::RowList Rows; - HeaderList Headers; - - // Following two variables hold information on how was data last sorted by sort() function. - // This is used by sort() function in order not to waste CPU on resorting. - int SortedOnColumn; - Qt::SortOrder SortedOrder; - - // max rows to read until - int MaxRows; - - // how much to read at a time - int MaxRowsToAdd; - - // [0] column of each row contains a row number which is later used for insert/update/delete - // operations. This variable is used to generate non repeating row keys (something like - // oracle sequence). - int CurrRowKey; - - // If column names are to be made more readable. - bool ReadableColumns; - - // when to emit firstResult - bool First; - - // headers read already? - bool HeadersRead; - - // should read all data - bool ReadAll; - - // helpers for sort implementation - toQuery::RowList mergesort(toQuery::RowList&, int, Qt::SortOrder); - toQuery::RowList merge(toQuery::RowList&, toQuery::RowList&, int, Qt::SortOrder); -private slots: - - void slotQueryError(toEventQuery*, const toConnection::exception &); - -public: - explicit toResultModel(toEventQuery *query, - QObject *parent = 0, - bool read = false); - /** This constructor is used when model has to be filled in * from the cache rather than from the database. */ @@ -118,7 +76,7 @@ QObject *parent = 0, bool read = false); - ~toResultModel(); + virtual ~toResultModel(); // ------------------------------ overrides ItemModel parent @@ -228,9 +186,10 @@ cleanup(); } + void readAll(void); + /** * Return the headers used for this query - * */ const HeaderList& headers(void) const { @@ -269,9 +228,6 @@ */ toQuery::RowList &getRawData(void); -protected: - void cleanup(void); - signals: /** @@ -285,12 +241,8 @@ * @param res String describing result. * @param error Error has occurred. */ - void firstResult(const toConnection::exception &res, - bool error); + void firstResult(const toConnection::exception &res, bool error); -public: - void readAll(void); - protected slots: /** * Overloaded method. Called when query has data available. @@ -311,6 +263,48 @@ * Load all data into model until end of query */ void slotReadAll(void); + + void slotQueryError(toEventQuery*, const toConnection::exception &); + +protected: + void cleanup(void); + + // helpers for sort implementation + toQuery::RowList mergesort(toQuery::RowList&, int, Qt::SortOrder); + toQuery::RowList merge(toQuery::RowList&, toQuery::RowList&, int, Qt::SortOrder); + + toEventQuery *Query; + + toQuery::RowList Rows; + HeaderList Headers; + + // Following two variables hold information on how was data last sorted by sort() function. + // This is used by sort() function in order not to waste CPU on resorting. + int SortedOnColumn; + Qt::SortOrder SortedOrder; + + // max rows to read until + int MaxRows; + + // how much to read at a time + int MaxRowsToAdd; + + // [0] column of each row contains a row number which is later used for insert/update/delete + // operations. This variable is used to generate non repeating row keys (something like + // oracle sequence). + int CurrRowKey; + + // If column names are to be made more readable. + bool ReadableColumns; + + // when to emit firstResult + bool First; + + // headers read already? + bool HeadersRead; + + // should read all data + bool ReadAll; }; Modified: trunk/tora/src/core/toresulttableview.h =================================================================== --- trunk/tora/src/core/toresulttableview.h 2013-12-11 11:40:30 UTC (rev 4977) +++ trunk/tora/src/core/toresulttableview.h 2013-12-11 12:54:04 UTC (rev 4978) @@ -63,135 +63,6 @@ class toResultTableView : public QTableView, public toResult, public toEditWidget { Q_OBJECT; - -protected: - // pointer to model - QPointer<toResultModel> Model; - - // Widget to store query statistics to. - toResultStats *Statistics; - - // if all records should be read - bool ReadAll; - - // if column headers should be modified to be readable - bool ReadableColumns; - - // number of visible columns - int VisibleColumns; - - // if vertical header should be displayed - bool NumberColumn; - - // if user resized columns - bool ColumnsResized; - - // filter object if set - toViewFilter *Filter; - - // superimposed until model is ready - toWorkingWidget *Working; - - // set true when model has signaled - bool Ready; - - // set true when model has finished. - // helps work around determining when query.eof has been reached. - bool Finished; - - /** - * context menu items. may be null. - * - */ - QMenu *Menu; - QAction *displayAct; - QAction *refreshAct; - QAction *leftAct; - QAction *rightAct; - QAction *centerAct; - QAction *copyAct; - QAction *copyFormatAct; - QAction *copyTransAct; - QAction *selectAllAct; - QAction *exportAct; - QAction *editAct; - QAction *rowCountAct; - QAction *readAllAct; - - void createActions(void); - - /*! \brief Common setup function called from constructors - */ - void setup(bool readable, bool numberColumn, bool editable); - - -protected slots: - void slotDisplayMenu(const QPoint &pos); - void slotMenuCallback(QAction *action); - void slotHandleDone(void); - void slotHandleReset(void); - void slotHandleFirst(const toConnection::exception &res, - bool error); - virtual void slotHandleDoubleClick(const QModelIndex &); - // override parent - virtual void selectionChanged(const QItemSelection &selected, - const QItemSelection &deselected); - - // apply column rules, numbercolumn, readable columns - virtual void slotApplyColumnRules(void); - -protected: - - /** - * overridden from parent. - * - * Controls maximum size (height) of a given row. - */ - virtual int sizeHintForRow(int row) const; - - /** - * overridden from parent. - * - * Controls a maximum size (width) of a given column. - */ - virtual int sizeHintForColumn(int col) const; - - /** - * overrides parent to overlay working working message until model - * is ready - */ - virtual void paintEvent(QPaintEvent *event); - - - /** - * Overrides QWidget to resize columns when applicable. - */ - virtual void resizeEvent(QResizeEvent *event); - - /*! Catch special keyboard shortcuts. - Copy, etc. - */ - virtual void keyPressEvent(QKeyEvent * event); - - virtual toResultModel* allocModel(toEventQuery *); - virtual void freeModel(); - -signals: - - /** - * Called before the menu is displayed so that you can add items - * to it before it is shown. - * - * @param menu Pointer to the menu about to be shown. - */ - void displayMenu(QMenu *menu); - - - /** - * Emitted when table's selection changes - */ - void selectionChanged(void); - public: typedef toTableViewIterator iterator; @@ -382,7 +253,22 @@ } signals: + /** + * Called before the menu is displayed so that you can add items + * to it before it is shown. + * + * @param menu Pointer to the menu about to be shown. + */ + void displayMenu(QMenu *menu); + + + /** + * Emitted when table's selection changes + */ + void selectionChanged(void); + + /** * Emitted when the first result is available. * * @param sql SQL that was run. @@ -390,16 +276,125 @@ * @param error Error has occurred. */ void firstResult(const QString &sql, - const toConnection::exception &res, - bool error); + const toConnection::exception &res, + bool error); /** * Emitted when query is finished. */ void done(void); + /** + * Inform upstream controller about the new Model + */ void modelChanged(toResultModel*); - //toResultModel + +protected slots: + void slotDisplayMenu(const QPoint &pos); + void slotMenuCallback(QAction *action); + void slotHandleDone(void); + void slotHandleReset(void); + void slotHandleFirst(const toConnection::exception &res, + bool error); + virtual void slotHandleDoubleClick(const QModelIndex &); + // override parent + virtual void selectionChanged(const QItemSelection &selected, + const QItemSelection &deselected); + + // apply column rules, numbercolumn, readable columns + virtual void slotApplyColumnRules(void); + +protected: + void createActions(void); + + /*! \brief Common setup function called from constructors + */ + void setup(bool readable, bool numberColumn, bool editable); + + /** + * overridden from parent. + * + * Controls maximum size (height) of a given row. + */ + virtual int sizeHintForRow(int row) const; + + /** + * overridden from parent. + * + * Controls a maximum size (width) of a given column. + */ + virtual int sizeHintForColumn(int col) const; + + /** + * overrides parent to overlay working working message until model + * is ready + */ + virtual void paintEvent(QPaintEvent *event); + + /** + * Overrides QWidget to resize columns when applicable. + */ + virtual void resizeEvent(QResizeEvent *event); + + /*! Catch special keyboard shortcuts. + Copy, etc. + */ + virtual void keyPressEvent(QKeyEvent * event); + + virtual toResultModel* allocModel(toEventQuery *); + void freeModel(); + + // pointer to model + QPointer<toResultModel> Model; + + // Widget to store query statistics to. + toResultStats *Statistics; + + // if all records should be read + bool ReadAll; + + // if column headers should be modified to be readable + bool ReadableColumns; + + // number of visible columns + int VisibleColumns; + + // if vertical header should be displayed + bool NumberColumn; + + // if user resized columns + bool ColumnsResized; + + // filter object if set + toViewFilter *Filter; + + // superimposed until model is ready + toWorkingWidget *Working; + + // set true when model has signaled + bool Ready; + + // set true when model has finished. + // helps work around determining when query.eof has been reached. + bool Finished; + + /** + * context menu items. may be null + */ + QMenu *Menu; + QAction *displayAct; + QAction *refreshAct; + QAction *leftAct; + QAction *rightAct; + QAction *centerAct; + QAction *copyAct; + QAction *copyFormatAct; + QAction *copyTransAct; + QAction *selectAllAct; + QAction *exportAct; + QAction *editAct; + QAction *rowCountAct; + QAction *readAllAct; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |