Index: debugger/QT/SkDebuggerGUI.cpp |
diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp |
index 949137fc286714183a2c972733a0caead9b9566b..25f70369fab9bd2e4250075d3abf653fac0337c2 100644 |
--- a/debugger/QT/SkDebuggerGUI.cpp |
+++ b/debugger/QT/SkDebuggerGUI.cpp |
@@ -773,11 +773,6 @@ void SkDebuggerGUI::loadPicture(const SkString& fileName) { |
SkSafeUnref(stream); |
SkSafeUnref(picture); |
- // Will this automatically clear out due to nature of refcnt? |
- SkTArray<SkString>* commands = fDebugger.getDrawCommandsAsStrings(); |
- SkTDArray<size_t>* offsets = fDebugger.getDrawCommandOffsets(); |
- SkASSERT(commands->count() == offsets->count()); |
- |
fActionProfile.setDisabled(false); |
/* fDebugCanvas is reinitialized every load picture. Need it to retain value |
@@ -787,8 +782,8 @@ void SkDebuggerGUI::loadPicture(const SkString& fileName) { |
* */ |
fDebugger.highlightCurrentCommand(fSettingsWidget.getVisibilityFilter()); |
- this->setupListWidget(commands, offsets); |
- this->setupComboBox(commands); |
+ this->setupListWidget(); |
+ this->setupComboBox(); |
this->setupOverviewText(NULL, 0.0, 1); |
fInspectorWidget.setDisabled(false); |
fSettingsWidget.setDisabled(false); |
@@ -801,31 +796,32 @@ void SkDebuggerGUI::loadPicture(const SkString& fileName) { |
actionPlay(); |
} |
-void SkDebuggerGUI::setupListWidget(SkTArray<SkString>* commands, SkTDArray<size_t>* offsets) { |
- SkASSERT(commands->count() == offsets->count()); |
+void SkDebuggerGUI::setupListWidget() { |
fListWidget.clear(); |
int counter = 0; |
int indent = 0; |
- for (int i = 0; i < commands->count(); i++) { |
+ for (int i = 0; i < fDebugger.getSize(); i++) { |
QListWidgetItem *item = new QListWidgetItem(); |
- item->setData(Qt::DisplayRole, (*commands)[i].c_str()); |
+ SkDrawCommand* command = fDebugger.getDrawCommandAt(i); |
+ SkString commandString = command->toString(); |
+ item->setData(Qt::DisplayRole, commandString.c_str()); |
item->setData(Qt::UserRole + 1, counter++); |
- if (0 == strcmp("Restore", (*commands)[i].c_str()) || |
- 0 == strcmp("EndCommentGroup", (*commands)[i].c_str())) { |
+ if (0 == strcmp("Restore", commandString.c_str()) || |
+ 0 == strcmp("EndCommentGroup", commandString.c_str())) { |
indent -= 10; |
} |
item->setData(Qt::UserRole + 3, indent); |
- if (0 == strcmp("Save", (*commands)[i].c_str()) || |
- 0 == strcmp("Save Layer", (*commands)[i].c_str()) || |
- 0 == strcmp("BeginCommentGroup", (*commands)[i].c_str())) { |
+ if (0 == strcmp("Save", commandString.c_str()) || |
+ 0 == strcmp("Save Layer", commandString.c_str()) || |
+ 0 == strcmp("BeginCommentGroup", commandString.c_str())) { |
indent += 10; |
} |
item->setData(Qt::UserRole + 4, -1); |
- item->setData(Qt::UserRole + 5, (int)(*offsets)[i]); |
+ item->setData(Qt::UserRole + 5, (int) command->offset()); |
fListWidget.addItem(item); |
} |
@@ -845,13 +841,13 @@ void SkDebuggerGUI::setupClipStackText() { |
fInspectorWidget.setText(clipStack.c_str(), SkInspectorWidget::kClipStack_TabType); |
} |
-void SkDebuggerGUI::setupComboBox(SkTArray<SkString>* command) { |
+void SkDebuggerGUI::setupComboBox() { |
fFilter.clear(); |
fFilter.addItem("--Filter By Available Commands--"); |
std::map<std::string, int> map; |
- for (int i = 0; i < command->count(); i++) { |
- map[(*command)[i].c_str()]++; |
+ for (int i = 0; i < fDebugger.getSize(); i++) { |
+ map[fDebugger.getDrawCommandAt(i)->toString().c_str()]++; |
} |
for (std::map<std::string, int>::iterator it = map.begin(); it != map.end(); |