Mercurial > hg > octave-nkf
diff libgui/src/workspace-model.h @ 16477:64727ed135cb
use QTableView instead of QTreeView to display workspace
* libgui/src/workspace-model.cc, libgui/src/workspace-model.h
(workspace_model::workspace_model): Change to subclass QTreeView,
using _columnNames for columns.
(workspace_model::~workspace_model): Don't delete rootItem.
(workspace_model::index): Delete.
(workspace_model::parent): Delete.
(workspace_model::rowCount): Return _symbols.size
(workspace_model::columnCount): Return _columnNames.size.
(workspace_model::insert_top_level_item): Delete.
(workspace_model::top_level_item): Delete.
(workspace_model::headerData): Return _columnNames.
(workspace_model::data): Return data from string lists values.
(workspace_model::set_workspace): Call update_table.
(workspace_model::clear_workspace): Call update_table.
(workspace_model::update_table): Rename from
workspace_model::update_tree.
(workspace_model::append_tree): Delete.
* libgui/src/workspace-model.h (tree_item): Delete class decl.
* libgui/src/workspace-view.h, libgui/src/workspace-view.cc
(workspace_view::workspace_view): Use QTableView instead of
QTreeView.
(workspace_view::_explicit_collapse): Delete.
(workspace_view::~workspace_view): Don't save _explicit_collapse
settings.
(workspace_view::model_changed): Delete.
(workspace_view::collapse_requested): Delete.
(workspace_view::expand_requested): Delete.
(workspace_view::relay_contextmenu_command): Get cell 0 of the row.
(workspace_view::contextmenu_requested): Get cell 0 of the row.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Tue, 09 Apr 2013 03:26:11 -0400 |
parents | 0f143f68078d |
children | 079ec7ce60e0 |
line wrap: on
line diff
--- a/libgui/src/workspace-model.h +++ b/libgui/src/workspace-model.h @@ -24,92 +24,13 @@ #if !defined (workspace_model_h) #define workspace_model_h 1 -#include <QAbstractItemModel> +#include <QAbstractTableModel> #include <QVector> #include <QSemaphore> #include <QStringList> -class tree_item -{ -public: - tree_item (const QList<QVariant> &d, tree_item *p = 0) { - _parent_item = p; - _item_data = d; - } - - tree_item (QVariant d = QVariant(), tree_item *p = 0) { - QList<QVariant> variantList; - variantList << d << QVariant () << QVariant () << QVariant (); - _parent_item = p; - _item_data = variantList; - } - - ~tree_item () { - qDeleteAll (_child_items); - } - - void insert_child_item (int at, tree_item *item) { - item->_parent_item = this; - _child_items.insert (at, item); - } - - void add_child (tree_item *item) { - item->_parent_item = this; - _child_items.append (item); - } - - void delete_child_items () { - qDeleteAll (_child_items); - _child_items.clear (); - } - - void remove_child (tree_item *item) { - _child_items.removeAll (item); - } - - QVariant data (int column) const - { - return _item_data[column]; - } - - void set_data (int column, QVariant d) - { - _item_data[column] = d; - } - - tree_item *child (int r) { - return _child_items[r]; - } - - int child_count () const { - return _child_items.count(); - } - - int column_count () const - { - return _item_data.count(); - } - - int row () const { - if (_parent_item) - return _parent_item->_child_items.indexOf (const_cast<tree_item*>(this)); - - return 0; - } - - tree_item *parent () - { - return _parent_item; - } - -private: - QList<tree_item*> _child_items; - QList<QVariant> _item_data; - tree_item *_parent_item; -}; - class workspace_model - : public QAbstractItemModel + : public QAbstractTableModel { Q_OBJECT @@ -126,19 +47,10 @@ QVariant headerData (int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - QModelIndex index (int row, int column, - const QModelIndex &parent = QModelIndex ()) const; - - QModelIndex parent (const QModelIndex &index) const; - int rowCount (const QModelIndex &parent = QModelIndex ()) const; int columnCount (const QModelIndex &parent = QModelIndex ()) const; - void insert_top_level_item (int at, tree_item *treeItem); - - tree_item *top_level_item (int at); - public slots: void set_workspace (const QString& scopes, @@ -156,14 +68,7 @@ private: void clear_data (void); - - void clear_tree (void); - - void update_tree (void); - - void append_tree (QChar scope, const QString& symbol, - const QString& class_name, const QString& dimension, - const QString& value); + void update_table (void); QString _scopes; QStringList _symbols; @@ -171,7 +76,7 @@ QStringList _dimensions; QStringList _values; - tree_item *_rootItem; + QStringList _columnNames; }; #endif // WORKSPACEMODEL_H