aboutsummaryrefslogtreecommitdiffhomepage
path: root/debugger/QT/SkDebuggerGUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debugger/QT/SkDebuggerGUI.cpp')
-rw-r--r--debugger/QT/SkDebuggerGUI.cpp80
1 files changed, 36 insertions, 44 deletions
diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp
index 24eeabd30e..9863cc0191 100644
--- a/debugger/QT/SkDebuggerGUI.cpp
+++ b/debugger/QT/SkDebuggerGUI.cpp
@@ -38,7 +38,7 @@ SkDebuggerGUI::SkDebuggerGUI(QWidget *parent) :
, fMapper(this)
, fListWidget(&fCentralWidget)
, fDirectoryWidget(&fCentralWidget)
- , fCanvasWidget(this)
+ , fCanvasWidget(this, &fDebugger)
, fMenuBar(this)
, fMenuFile(this)
, fMenuNavigate(this)
@@ -107,8 +107,8 @@ void SkDebuggerGUI::showDeletes() {
fDeletesActivated = !fDeletesActivated;
for (int row = 0; row < fListWidget.count(); row++) {
QListWidgetItem *item = fListWidget.item(row);
- bool isVisible = fCanvasWidget.commandIsVisibleAtIndex(row);
- item->setHidden(isVisible && fDeletesActivated);
+ item->setHidden(fDebugger.isCommandVisible(row)
+ && fDeletesActivated);
}
}
@@ -131,7 +131,7 @@ void SkDebuggerGUI::actionClearDeletes() {
for (int row = 0; row < fListWidget.count(); row++) {
QListWidgetItem* item = fListWidget.item(row);
item->setData(Qt::UserRole + 2, QPixmap(":/images/Icons/blank.png"));
- fCanvasWidget.setCommandVisibliltyAtIndex(row, true);
+ fDebugger.setCommandVisible(row, true);
}
if (fPause) {
fCanvasWidget.drawTo(fPausedRow);
@@ -141,7 +141,7 @@ void SkDebuggerGUI::actionClearDeletes() {
}
void SkDebuggerGUI::actionCommandFilter() {
- fCanvasWidget.toggleCurrentCommandFilter(
+ fDebugger.highlightCurrentCommand(
fSettingsWidget.getVisibilityButton()->isChecked());
fCanvasWidget.drawTo(fListWidget.currentRow());
}
@@ -154,12 +154,12 @@ void SkDebuggerGUI::actionDelete() {
int currentRow = fListWidget.currentRow();
QListWidgetItem* item = fListWidget.currentItem();
- if (fCanvasWidget.commandIsVisibleAtIndex(currentRow)) {
+ if (fDebugger.isCommandVisible(currentRow)) {
item->setData(Qt::UserRole + 2, QPixmap(":/images/Icons/delete.png"));
- fCanvasWidget.setCommandVisibliltyAtIndex(currentRow, false);
+ fDebugger.setCommandVisible(currentRow, false);
} else {
item->setData(Qt::UserRole + 2, QPixmap(":/images/Icons/blank.png"));
- fCanvasWidget.setCommandVisibliltyAtIndex(currentRow, true);
+ fDebugger.setCommandVisible(currentRow, true);
}
if (fPause) {
@@ -247,17 +247,13 @@ void SkDebuggerGUI::actionStepForward() {
}
void SkDebuggerGUI::drawComplete() {
- fInspectorWidget.setMatrix(fCanvasWidget.getCurrentMatrix());
- fInspectorWidget.setClip(fCanvasWidget.getCurrentClip());
+ fInspectorWidget.setMatrix(fDebugger.getCurrentMatrix());
+ fInspectorWidget.setClip(fDebugger.getCurrentClip());
}
void SkDebuggerGUI::saveToFile(QString filename) {
SkFILEWStream file(filename.toAscii());
- SkPicture picture;
- SkCanvas* canvas = picture.beginRecording(100,100);
- fCanvasWidget.getCurrentDebugCanvas()->draw(canvas);
- picture.endRecording();
- picture.serialize(&file);
+ fDebugger.makePicture()->serialize(&file);
}
void SkDebuggerGUI::loadFile(QListWidgetItem *item) {
@@ -284,14 +280,9 @@ void SkDebuggerGUI::openFile() {
}
void SkDebuggerGUI::pauseDrawing(bool isPaused) {
- // Qt uses 0 for unchecked, 1 for partially enabled and 2 for checked.
- if (isPaused) {
- fPause = true;
- fPausedRow = fListWidget.currentRow();
- } else {
- fPause = false;
- fCanvasWidget.drawTo(fListWidget.currentRow());
- }
+ fPause = isPaused;
+ fPausedRow = fListWidget.currentRow();
+ fCanvasWidget.drawTo(fPausedRow);
}
void SkDebuggerGUI::registerListClick(QListWidgetItem *item) {
@@ -302,7 +293,7 @@ void SkDebuggerGUI::registerListClick(QListWidgetItem *item) {
if (!fPause) {
fCanvasWidget.drawTo(currentRow);
}
- std::vector<std::string> *cuffInfo = fCanvasWidget.getCurrentCommandInfo(
+ std::vector<std::string> *cuffInfo = fDebugger.getCommandInfo(
currentRow);
/* TODO(chudy): Add command type before parameters. Rename v
@@ -344,21 +335,13 @@ void SkDebuggerGUI::toggleBreakpoint() {
}
void SkDebuggerGUI::toggleDirectory() {
- if (fDirectoryWidget.isHidden()) {
- fDirectoryWidget.setHidden(false);
- } else {
- fDirectoryWidget.setHidden(true);
- }
+ fDirectoryWidget.setHidden(!fDirectoryWidget.isHidden());
}
void SkDebuggerGUI::toggleFilter(QString string) {
for (int row = 0; row < fListWidget.count(); row++) {
QListWidgetItem *item = fListWidget.item(row);
- if (item->text() == string) {
- item->setHidden(false);
- } else {
- item->setHidden(true);
- }
+ item->setHidden(item->text() != string);
}
}
@@ -587,12 +570,21 @@ void SkDebuggerGUI::setupDirectoryWidget() {
void SkDebuggerGUI::loadPicture(QString fileName) {
fLoading = true;
- fCanvasWidget.loadPicture(fileName);
- std::vector<std::string> *cv = fCanvasWidget.getDrawCommands();
+ SkStream* stream = new SkFILEStream(fileName.toAscii());
+ SkPicture* picture = new SkPicture(stream);
+ fDebugger.loadPicture(picture);
+ SkSafeUnref(stream);
+ SkSafeUnref(picture);
+
+ std::vector<std::string> *cv = fDebugger.getDrawCommands();
+
/* fDebugCanvas is reinitialized every load picture. Need it to retain value
- * of the visibility filter. */
- fCanvasWidget.toggleCurrentCommandFilter(
- fSettingsWidget.getVisibilityButton()->isChecked());
+ * of the visibility filter.
+ * TODO(chudy): This should be deprecated since fDebugger is not
+ * recreated.
+ * */
+ fDebugger.highlightCurrentCommand(fSettingsWidget.getVisibilityButton()->isChecked());
+
setupListWidget(cv);
setupComboBox(cv);
fInspectorWidget.setDisabled(false);
@@ -627,7 +619,7 @@ void SkDebuggerGUI::setupComboBox(std::vector<std::string>* cv) {
}
QString overview;
- int counter;
+ int counter = 0;
for (std::map<std::string, int>::iterator it = map.begin(); it != map.end();
++it) {
overview.append((it->first).c_str());
@@ -644,12 +636,12 @@ void SkDebuggerGUI::setupComboBox(std::vector<std::string>* cv) {
overview.insert(0, total);
overview.append("<br/>");
- overview.append("SkBitmap Width: ");
+ overview.append("SkPicture Width: ");
// NOTE(chudy): This is where we can pull out the SkPictures width.
- overview.append(QString::number(fCanvasWidget.getBitmapWidth()));
+ overview.append(QString::number(fDebugger.pictureWidth()));
overview.append("px<br/>");
- overview.append("SkBitmap Height: ");
- overview.append(QString::number(fCanvasWidget.getBitmapHeight()));
+ overview.append("SkPicture Height: ");
+ overview.append(QString::number(fDebugger.pictureHeight()));
overview.append("px");
fInspectorWidget.setOverviewText(overview);