Quick bug fix that was rendering debugger unusable.

Review URL: https://codereview.appspot.com/6422050

git-svn-id: http://skia.googlecode.com/svn/trunk@4668 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
chudy@google.com 2012-07-19 13:41:27 +00:00
Родитель 3da2a0d315
Коммит d3058f5fd8
3 изменённых файлов: 40 добавлений и 26 удалений

Просмотреть файл

@ -44,6 +44,7 @@ SkDebuggerGUI::SkDebuggerGUI(QWidget *parent) :
, fBreakpointsActivated(false)
, fDeletesActivated(false)
, fPause(false)
, fLoading(false)
{
setupUi(this);
connect(&fListWidget, SIGNAL(currentItemChanged(QListWidgetItem*,
@ -90,7 +91,11 @@ SkDebuggerGUI::SkDebuggerGUI(QWidget *parent) :
connect(&fActionShowDeletes, SIGNAL(triggered()), this, SLOT(showDeletes()));
fInspectorWidget.setDisabled(true);
fMenuBar.setDisabled(true);
//fMenuBar.setDisabled(true);
fMenuEdit.setDisabled(true);
fMenuNavigate.setDisabled(true);
fMenuView.setDisabled(true);
}
SkDebuggerGUI::~SkDebuggerGUI() {
@ -257,28 +262,30 @@ void SkDebuggerGUI::pauseDrawing(bool isPaused) {
}
void SkDebuggerGUI::registerListClick(QListWidgetItem *item) {
int currentRow = fListWidget.currentRow();
if (!fPause) {
fCanvasWidget.drawTo(currentRow);
}
std::vector<std::string> *v = fCanvasWidget.getCurrentCommandInfo(
currentRow);
/* TODO(chudy): Add command type before parameters. Rename v
* to something more informative. */
if (v) {
std::vector<std::string>::iterator it;
QString info;
info.append("<b>Parameters: </b><br/>");
for (it = v->begin(); it != v->end(); ++it) {
info.append(QString((*it).c_str()));
info.append("<br/>");
if(!fLoading) {
int currentRow = fListWidget.currentRow();
if (!fPause) {
fCanvasWidget.drawTo(currentRow);
}
std::vector<std::string> *v = fCanvasWidget.getCurrentCommandInfo(
currentRow);
/* TODO(chudy): Add command type before parameters. Rename v
* to something more informative. */
if (v) {
std::vector<std::string>::iterator it;
QString info;
info.append("<b>Parameters: </b><br/>");
for (it = v->begin(); it != v->end(); ++it) {
info.append(QString((*it).c_str()));
info.append("<br/>");
}
fInspectorWidget.setDetailText(info);
fInspectorWidget.setDisabled(false);
fInspectorWidget.setMatrix(fCanvasWidget.getCurrentMatrix());
fInspectorWidget.setClip(fCanvasWidget.getCurrentClip());
}
fInspectorWidget.setDetailText(info);
fInspectorWidget.setDisabled(false);
fInspectorWidget.setMatrix(fCanvasWidget.getCurrentMatrix());
fInspectorWidget.setClip(fCanvasWidget.getCurrentClip());
}
}
@ -528,7 +535,9 @@ void SkDebuggerGUI::setupDirectoryWidget() {
}
void SkDebuggerGUI::loadPicture(QString fileName) {
fLoading = true;
fCanvasWidget.loadPicture(fileName);
std::string cocks = fileName.toStdString();
std::vector<std::string> *cv = fCanvasWidget.getDrawCommands();
/* fDebugCanvas is reinitialized every load picture. Need it to retain value
* of the visibility filter. */
@ -538,7 +547,11 @@ void SkDebuggerGUI::loadPicture(QString fileName) {
setupComboBox(cv);
fInspectorWidget.setDisabled(false);
fSettingsWidget.setDisabled(false);
fMenuBar.setDisabled(false);
fMenuEdit.setDisabled(false);
fMenuNavigate.setDisabled(false);
fMenuView.setDisabled(false);
fLoading = false;
actionPlay();
}
void SkDebuggerGUI::setupListWidget(std::vector<std::string>* cv) {

Просмотреть файл

@ -222,6 +222,7 @@ private:
bool fDeletesActivated;
bool fPause;
int fPausedRow;
bool fLoading;
/**
Creates the entire UI.

Просмотреть файл

@ -51,8 +51,8 @@
],
'link_settings': {
'libraries' : [
'/usr/lib/libQtCore.so',
'/usr/lib/libQtGui.so',
'-lQtCore',
'-lQtGui',
],
},
}],
@ -95,4 +95,4 @@
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2:
# vim: set expandtab tabstop=2 shiftwidth=2: