Mercurial > hg > octave-lyh
changeset 13435:58f63589f1de
Hidden variables are now being displayed separately, and globals are separated from locals.
author | Jacob Dawid <jacob.dawid@googlemail.com> |
---|---|
date | Thu, 14 Apr 2011 09:48:43 +0200 |
parents | 73af3d75ddcd |
children | 79e2f4d8fa7f |
files | gui//src/OctaveLink.cpp gui//src/VariablesDockWidget.cpp |
diffstat | 2 files changed, 18 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/gui//src/OctaveLink.cpp +++ b/gui//src/OctaveLink.cpp @@ -198,10 +198,8 @@ QList<SymbolRecord> currentVariables; std::list<SymbolRecord> allVariables = symbol_table::all_variables(); std::list<SymbolRecord>::iterator iterator; - for(iterator = allVariables.begin(); iterator != allVariables.end(); iterator++) { - if(!QString(iterator->name().c_str()).startsWith(".")) - currentVariables.append(*iterator); - } + for(iterator = allVariables.begin(); iterator != allVariables.end(); iterator++) + currentVariables.append(*iterator); m_variableSymbolTableList = currentVariables; }
--- a/gui//src/VariablesDockWidget.cpp +++ b/gui//src/VariablesDockWidget.cpp @@ -34,6 +34,10 @@ treeWidgetItem->setData(0, 0, QString("Persistent")); m_variablesTreeWidget->insertTopLevelItem(2, treeWidgetItem); + treeWidgetItem = new QTreeWidgetItem(); + treeWidgetItem->setData(0, 0, QString("Hidden")); + m_variablesTreeWidget->insertTopLevelItem(3, treeWidgetItem); + m_variablesTreeWidget->expandAll(); } @@ -43,14 +47,15 @@ QString type = QString(symbolRecord.varval().type_name().c_str()); if(type == "string") { - QString stringValue(symbolRecord.varval().string_value().c_str()); + QString stringValue = QString("\"%1\"").arg(symbolRecord.varval().string_value().c_str()); treeItem->setData(2, 0, stringValue); } else if(type == "scalar") { double scalarValue = symbolRecord.varval().scalar_value(); treeItem->setData(2, 0, QString("%1").arg(scalarValue)); } else if(type == "matrix") { Matrix matrixValue = symbolRecord.varval().matrix_value(); - // TODO: Display matrix. + // TODO: Display matrix values. + treeItem->setData(2, 0, QString("{%1 x %2}").arg(matrixValue.rows()).arg(matrixValue.cols())); } else { treeItem->setData(2, 0, QString("<Type not recognized>")); } @@ -62,9 +67,12 @@ QList<SymbolRecord> localSymbolTable; QList<SymbolRecord> globalSymbolTable; QList<SymbolRecord> persistentSymbolTable; + QList<SymbolRecord> hiddenSymbolTable; foreach(SymbolRecord symbolRecord, symbolTable) { - if(symbolRecord.is_local()) { + // It's true that being global or hidden includes it's can mean it's also locally visible, + // but we want to distinguish that here. + if(symbolRecord.is_local() && !symbolRecord.is_global() && !symbolRecord.is_hidden()) { localSymbolTable.append(symbolRecord); } @@ -75,11 +83,16 @@ if(symbolRecord.is_persistent()) { persistentSymbolTable.append(symbolRecord); } + + if(symbolRecord.is_hidden()) { + hiddenSymbolTable.append(symbolRecord); + } } updateScope(0, localSymbolTable); updateScope(1, globalSymbolTable); updateScope(2, persistentSymbolTable); + updateScope(3, hiddenSymbolTable); } void VariablesDockWidget::updateScope(int topLevelItemIndex, QList<SymbolRecord> symbolTable) {