* ./hurricane/src/hinspector :
- No more extra arguments in HInspectorWidget & RecordModel constructors. Valid values have to be sets through setRootRecord() & setSlot(). - Key for forking sub-inspector is now *minus* 'o'.
This commit is contained in:
parent
d17ecda179
commit
0066a1fa5e
|
@ -165,7 +165,8 @@ namespace Hurricane {
|
||||||
//cerr << "Inspector created." << endl;
|
//cerr << "Inspector created." << endl;
|
||||||
|
|
||||||
if ( record ) {
|
if ( record ) {
|
||||||
HInspectorWidget* inspector = new HInspectorWidget ( record );
|
HInspectorWidget* inspector = new HInspectorWidget ();
|
||||||
|
inspector->setRootRecord ( record );
|
||||||
inspector->show ();
|
inspector->show ();
|
||||||
} else
|
} else
|
||||||
cerr << "[ERROR] Attempt to run Inspector on NULL record." << endl;
|
cerr << "[ERROR] Attempt to run Inspector on NULL record." << endl;
|
||||||
|
|
|
@ -129,14 +129,13 @@ namespace Hurricane {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HInspectorWidget::HInspectorWidget ( Record* rootRecord, QWidget* parent )
|
HInspectorWidget::HInspectorWidget ( QWidget* parent )
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, _recordModel(NULL)
|
, _recordModel(NULL)
|
||||||
, _sortModel(NULL)
|
, _sortModel(NULL)
|
||||||
, _historyComboBox(NULL)
|
, _historyComboBox(NULL)
|
||||||
, _slotsView(NULL)
|
, _slotsView(NULL)
|
||||||
, _rowHeight(20)
|
, _rowHeight(20)
|
||||||
, _rootRecord(rootRecord)
|
|
||||||
, _history()
|
, _history()
|
||||||
{
|
{
|
||||||
setAttribute ( Qt::WA_DeleteOnClose );
|
setAttribute ( Qt::WA_DeleteOnClose );
|
||||||
|
@ -157,23 +156,7 @@ namespace Hurricane {
|
||||||
verticalHeader->setVisible ( false );
|
verticalHeader->setVisible ( false );
|
||||||
|
|
||||||
_historyComboBox = new QComboBox ( this );
|
_historyComboBox = new QComboBox ( this );
|
||||||
_history.setComboBox ( _historyComboBox );
|
_history.setComboBox ( _historyComboBox );
|
||||||
_history.setRootRecord ( _rootRecord );
|
|
||||||
|
|
||||||
_recordModel = new RecordModel ( _history.getSlot(), this );
|
|
||||||
_sortModel = new QSortFilterProxyModel ( this );
|
|
||||||
_sortModel->setSourceModel ( _recordModel );
|
|
||||||
_sortModel->setDynamicSortFilter ( true );
|
|
||||||
_sortModel->setFilterKeyColumn ( 1 );
|
|
||||||
|
|
||||||
_slotsView->setModel ( _sortModel );
|
|
||||||
_slotsView->horizontalHeader()->setStretchLastSection ( true );
|
|
||||||
_slotsView->resizeColumnToContents ( 0 );
|
|
||||||
|
|
||||||
int rows = _sortModel->rowCount ();
|
|
||||||
for ( rows-- ; rows >= 0 ; rows-- )
|
|
||||||
_slotsView->setRowHeight ( rows, _rowHeight );
|
|
||||||
_slotsView->selectRow ( 0 );
|
|
||||||
|
|
||||||
_filterPatternLineEdit = new QLineEdit(this);
|
_filterPatternLineEdit = new QLineEdit(this);
|
||||||
QLabel* filterPatternLabel = new QLabel(tr("&Filter pattern:"), this);
|
QLabel* filterPatternLabel = new QLabel(tr("&Filter pattern:"), this);
|
||||||
|
@ -187,7 +170,6 @@ namespace Hurricane {
|
||||||
|
|
||||||
setLayout ( inspectorLayout );
|
setLayout ( inspectorLayout );
|
||||||
|
|
||||||
connect ( _historyComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(historyChanged(int)) );
|
|
||||||
connect ( _filterPatternLineEdit, SIGNAL(textChanged(const QString &))
|
connect ( _filterPatternLineEdit, SIGNAL(textChanged(const QString &))
|
||||||
, this , SLOT(textFilterChanged())
|
, this , SLOT(textFilterChanged())
|
||||||
);
|
);
|
||||||
|
@ -199,17 +181,33 @@ namespace Hurricane {
|
||||||
|
|
||||||
HInspectorWidget::~HInspectorWidget ()
|
HInspectorWidget::~HInspectorWidget ()
|
||||||
{
|
{
|
||||||
//cerr << "HInspectorWidget::~HInspectorWidget()" << endl;
|
cerr << "HInspectorWidget::~HInspectorWidget()" << endl;
|
||||||
//cerr << "Records: " << Record::getAllocateds() << endl;
|
cerr << "Records: " << Record::getAllocateds() << endl;
|
||||||
//cerr << "Slots: " << Slot::getAllocateds() << endl;
|
cerr << "Slots: " << Slot::getAllocateds() << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void HInspectorWidget::setRootRecord ( Record* record )
|
void HInspectorWidget::setRootRecord ( Record* record )
|
||||||
{
|
{
|
||||||
_history.setRootRecord ( record );
|
_history.setRootRecord ( record );
|
||||||
_recordModel->setSlot ( _history.getSlot(), _history.getDepth() );
|
|
||||||
_slotsView->selectRow ( 0 );
|
if ( !_recordModel ) {
|
||||||
|
_recordModel = new RecordModel ( this );
|
||||||
|
_sortModel = new QSortFilterProxyModel ( this );
|
||||||
|
_sortModel->setSourceModel ( _recordModel );
|
||||||
|
_sortModel->setDynamicSortFilter ( true );
|
||||||
|
_sortModel->setFilterKeyColumn ( 1 );
|
||||||
|
|
||||||
|
_slotsView->setModel ( _sortModel );
|
||||||
|
_slotsView->horizontalHeader()->setStretchLastSection ( true );
|
||||||
|
_slotsView->resizeColumnToContents ( 0 );
|
||||||
|
|
||||||
|
// Only after creating the RecordModel can we connect the ComboBox.
|
||||||
|
connect ( _historyComboBox, SIGNAL(currentIndexChanged(int))
|
||||||
|
, this , SLOT(historyChanged(int)) );
|
||||||
|
}
|
||||||
|
|
||||||
|
setSlot ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -263,7 +261,7 @@ namespace Hurricane {
|
||||||
}
|
}
|
||||||
} else if ( event->key() == Qt::Key_Left ) {
|
} else if ( event->key() == Qt::Key_Left ) {
|
||||||
back ();
|
back ();
|
||||||
} else if ( event->key() == Qt::Key_O ) {
|
} else if ( event->key() == Qt::Key_o ) {
|
||||||
forkInspector ( _slotsView->currentIndex() );
|
forkInspector ( _slotsView->currentIndex() );
|
||||||
} else {
|
} else {
|
||||||
event->ignore();
|
event->ignore();
|
||||||
|
@ -291,7 +289,8 @@ namespace Hurricane {
|
||||||
Record* record = slot->getDataRecord();
|
Record* record = slot->getDataRecord();
|
||||||
|
|
||||||
if ( record ) {
|
if ( record ) {
|
||||||
HInspectorWidget* fork = new HInspectorWidget ( record );
|
HInspectorWidget* fork = new HInspectorWidget ();
|
||||||
|
fork->setRootRecord ( record );
|
||||||
fork->show ();
|
fork->show ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,10 @@
|
||||||
namespace Hurricane {
|
namespace Hurricane {
|
||||||
|
|
||||||
|
|
||||||
RecordModel::RecordModel ( Slot* slot, QObject* parent )
|
RecordModel::RecordModel ( QObject* parent )
|
||||||
: QAbstractTableModel(parent)
|
: QAbstractTableModel(parent)
|
||||||
, _slot(slot)
|
, _slot(NULL)
|
||||||
, _record(slot->getDataRecord())
|
, _record(NULL)
|
||||||
, _depth(0)
|
, _depth(0)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
@ -35,9 +35,8 @@ namespace Hurricane {
|
||||||
|
|
||||||
emit layoutAboutToBeChanged ();
|
emit layoutAboutToBeChanged ();
|
||||||
|
|
||||||
if ( _depth )
|
if ( _depth ) delete _record;
|
||||||
delete _record;
|
if ( _slot ) delete _slot;
|
||||||
delete _slot;
|
|
||||||
|
|
||||||
_slot = slot;
|
_slot = slot;
|
||||||
_record = record;
|
_record = record;
|
||||||
|
@ -100,7 +99,8 @@ namespace Hurricane {
|
||||||
|
|
||||||
int RecordModel::rowCount ( const QModelIndex& parent ) const
|
int RecordModel::rowCount ( const QModelIndex& parent ) const
|
||||||
{
|
{
|
||||||
return _record->_getSlotList().size();
|
|
||||||
|
return (_record) ? _record->_getSlotList().size() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace Hurricane {
|
||||||
Q_OBJECT;
|
Q_OBJECT;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
HInspectorWidget ( Record* rootRecord, QWidget* parent=NULL );
|
HInspectorWidget ( QWidget* parent=NULL );
|
||||||
~HInspectorWidget ();
|
~HInspectorWidget ();
|
||||||
void setRootRecord ( Record* record );
|
void setRootRecord ( Record* record );
|
||||||
private slots:
|
private slots:
|
||||||
|
@ -75,7 +75,6 @@ namespace Hurricane {
|
||||||
QTableView* _slotsView;
|
QTableView* _slotsView;
|
||||||
QLineEdit* _filterPatternLineEdit;
|
QLineEdit* _filterPatternLineEdit;
|
||||||
int _rowHeight;
|
int _rowHeight;
|
||||||
Record* _rootRecord;
|
|
||||||
History _history;
|
History _history;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace Hurricane {
|
||||||
Q_OBJECT;
|
Q_OBJECT;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RecordModel ( Slot* slot, QObject* parent=NULL );
|
RecordModel ( QObject* parent=NULL );
|
||||||
~RecordModel ();
|
~RecordModel ();
|
||||||
bool setSlot ( Slot* slot, size_t depth );
|
bool setSlot ( Slot* slot, size_t depth );
|
||||||
int rowCount ( const QModelIndex& parent=QModelIndex() ) const;
|
int rowCount ( const QModelIndex& parent=QModelIndex() ) const;
|
||||||
|
|
Loading…
Reference in New Issue