aboutsummaryrefslogtreecommitdiffhomepage
path: root/debugger
diff options
context:
space:
mode:
authorGravatar kkinnunen <kkinnunen@nvidia.com>2015-01-02 06:35:43 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-01-02 06:35:43 -0800
commit7c339ae1e362e9f02cdfb9b32007f143dec0bc0e (patch)
tree930875f1030e0d1c9ec64a14b7ccec576fca18cd /debugger
parent2fe9c97601802203a1b164bca60cd526df9578cd (diff)
debugger: Make inspector widget smaller
Make inspector widget a bit smaller by letting the Qt widget system layout the widgets. Let the inspector widget calculate its own smallest size. Use stretch factor of 0 for inspector, 1 for picture canvas. Group the matrix and clip widgets in groups. Put the text edits in a grid layout instead of a handwritted column layout containing row layouts. This commit is part of work that tries to make the debugger window to be a bit more resizeable, so that it would fit 1900x1200 screen. Review URL: https://codereview.chromium.org/830743002
Diffstat (limited to 'debugger')
-rw-r--r--debugger/QT/SkDebuggerGUI.cpp8
-rw-r--r--debugger/QT/SkInspectorWidget.cpp92
-rw-r--r--debugger/QT/SkInspectorWidget.h20
3 files changed, 42 insertions, 78 deletions
diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp
index 05f4886616..cb8ae1046e 100644
--- a/debugger/QT/SkDebuggerGUI.cpp
+++ b/debugger/QT/SkDebuggerGUI.cpp
@@ -609,10 +609,6 @@ void SkDebuggerGUI::setupUi(QMainWindow *SkDebuggerGUI) {
fDrawCommandGeometryWidget.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- fInspectorWidget.setSizePolicy(QSizePolicy::Expanding,
- QSizePolicy::Expanding);
- fInspectorWidget.setMaximumHeight(300);
-
fSettingsAndImageLayout.addWidget(&fSettingsWidget);
// View state group, part of inspector.
@@ -654,8 +650,8 @@ void SkDebuggerGUI::setupUi(QMainWindow *SkDebuggerGUI) {
fCanvasSettingsAndImageLayout.addLayout(&fSettingsAndImageLayout, 0);
fMainAndRightColumnLayout.setSpacing(6);
- fMainAndRightColumnLayout.addLayout(&fCanvasSettingsAndImageLayout);
- fMainAndRightColumnLayout.addWidget(&fInspectorWidget);
+ fMainAndRightColumnLayout.addLayout(&fCanvasSettingsAndImageLayout, 1);
+ fMainAndRightColumnLayout.addWidget(&fInspectorWidget, 0);
fMainAndRightColumnWidget.setLayout(&fMainAndRightColumnLayout);
fCentralSplitter.addWidget(&fLeftColumnSplitter);
diff --git a/debugger/QT/SkInspectorWidget.cpp b/debugger/QT/SkInspectorWidget.cpp
index 6bcac1db35..d44814f933 100644
--- a/debugger/QT/SkInspectorWidget.cpp
+++ b/debugger/QT/SkInspectorWidget.cpp
@@ -10,16 +10,12 @@
#include "SkInspectorWidget.h"
#include <iostream>
+static const int kSignificantNumbersInFields = 5;
+
SkInspectorWidget::SkInspectorWidget() : QWidget()
, fHorizontalLayout(this)
, fMatrixAndClipWidget(this)
- , fVerticalLayout(&fMatrixAndClipWidget)
- , fMatrixLabel(this)
- , fClipLabel(this) {
-
- fHorizontalLayout.setSpacing(6);
- fHorizontalLayout.setContentsMargins(11, 11, 11, 11);
-
+ , fVerticalLayout(&fMatrixAndClipWidget) {
QString tabNames[kTotalTabCount];
tabNames[kOverview_TabType] = "Overview";
tabNames[kDetail_TabType] = "Details";
@@ -27,8 +23,6 @@ SkInspectorWidget::SkInspectorWidget() : QWidget()
for (int i = 0; i < kTotalTabCount; i++) {
fTabTexts[i].setReadOnly(true);
- fTabLayouts[i].setSpacing(6);
- fTabLayouts[i].setContentsMargins(11, 11, 11, 11);
fTabLayouts[i].addWidget(&fTabTexts[i]);
fTabs[i].setLayout(&fTabLayouts[i]);
fTabWidget.addTab(&fTabs[i], tabNames[i]);
@@ -37,17 +31,13 @@ SkInspectorWidget::SkInspectorWidget() : QWidget()
fHorizontalLayout.setAlignment(Qt::AlignTop);
fHorizontalLayout.addWidget(&fTabWidget);
- /* NOTE(chudy): We add all the line edits to (this). Then we lay them out
- * by adding them to horizontal layouts.
- *
- * We will have 1 big vertical layout, 3 horizontal layouts and then 3
- * line edits in each horizontal layout. */
- fMatrixAndClipWidget.setFixedSize(260,300);
+ fMatrixAndClipWidget.setFrameStyle(QFrame::Panel);
fMatrixAndClipWidget.setDisabled(true);
-
fVerticalLayout.setAlignment(Qt::AlignVCenter);
- fVerticalLayout.addLayout(setupMatrix());
- fVerticalLayout.addLayout(setupClip());
+ this->setupMatrix();
+ this->setupClip();
+ fVerticalLayout.addWidget(&fMatrixGroup);
+ fVerticalLayout.addWidget(&fClipGroup);
fHorizontalLayout.addWidget(&fMatrixAndClipWidget);
}
@@ -57,59 +47,39 @@ void SkInspectorWidget::setText(QString text, TabType type) {
void SkInspectorWidget::setMatrix(const SkMatrix& matrix) {
for(int i=0; i<9; i++) {
- fMatrixEntry[i].setText(QString::number(matrix.get(i)));
+ fMatrixEntry[i].setText(QString::number(matrix.get(i), 'g', kSignificantNumbersInFields));
}
}
void SkInspectorWidget::setClip(const SkIRect& clip) {
- fClipEntry[0].setText(QString::number(clip.left()));
- fClipEntry[1].setText(QString::number(clip.top()));
- fClipEntry[2].setText(QString::number(clip.right()));
- fClipEntry[3].setText(QString::number(clip.bottom()));
+ fClipEntry[0].setText(QString::number(clip.left(), 'g', kSignificantNumbersInFields));
+ fClipEntry[1].setText(QString::number(clip.top(), 'g', kSignificantNumbersInFields));
+ fClipEntry[2].setText(QString::number(clip.right(), 'g', kSignificantNumbersInFields));
+ fClipEntry[3].setText(QString::number(clip.bottom(), 'g', kSignificantNumbersInFields));
}
-QVBoxLayout* SkInspectorWidget::setupMatrix() {
- fMatrixLabel.setText("Current Matrix");
- fMatrixLabel.setAlignment(Qt::AlignHCenter);
-
- fMatrixLayout.setSpacing(6);
- fMatrixLayout.setContentsMargins(11,11,11,0);
- fMatrixLayout.setAlignment(Qt::AlignTop | Qt::AlignHCenter);
- fMatrixLayout.addWidget(&fMatrixLabel);
-
- for(int i =0; i<9; i++) {
- fMatrixEntry[i].setMinimumSize(QSize(70,25));
- fMatrixEntry[i].setMaximumSize(QSize(70,16777215));
- fMatrixEntry[i].setReadOnly(true);
-
- fMatrixRow[i/3].addWidget(&fMatrixEntry[i]);
- if(i%3 == 2) {
- fMatrixLayout.addLayout(&fMatrixRow[i/3]);
+void SkInspectorWidget::setupMatrix() {
+ fMatrixGroup.setTitle("Current Matrix");
+ fMatrixGroup.setLayout(&fMatrixLayout);
+ for (int r = 0; r < 3; ++r) {
+ for(int c = 0; c < 3; c++) {
+ QLineEdit* entry = &fMatrixEntry[r * 3 + c];
+ fMatrixLayout.addWidget(entry, r, c, Qt::AlignTop | Qt::AlignHCenter);
+ entry->setReadOnly(true);
+ entry->setFixedWidth(70);
}
}
-
- return &fMatrixLayout;
}
-QVBoxLayout* SkInspectorWidget::setupClip() {
- fClipLabel.setText("Current Clip");
- fClipLabel.setAlignment(Qt::AlignHCenter);
-
- fClipLayout.setSpacing(6);
- fClipLayout.setContentsMargins(11,11,11,0);
- fClipLayout.setAlignment(Qt::AlignTop | Qt::AlignHCenter);
- fClipLayout.addWidget(&fClipLabel);
-
- for(int i =0; i<4; i++) {
- fClipEntry[i].setMinimumSize(QSize(70,25));
- fClipEntry[i].setMaximumSize(QSize(70,16777215));
- fClipEntry[i].setReadOnly(true);
-
- fClipRow[i/2].addWidget(&fClipEntry[i]);
- if(i%2 == 1) {
- fClipLayout.addLayout(&fClipRow[i/2]);
+void SkInspectorWidget::setupClip() {
+ fClipGroup.setTitle("Current Clip");
+ fClipGroup.setLayout(&fClipLayout);
+ for(int r = 0; r < 2; r++) {
+ for(int c = 0; c < 2; c++) {
+ QLineEdit* entry = &fClipEntry[r * 2 + c];
+ fClipLayout.addWidget(entry, r, c, Qt::AlignTop | Qt::AlignHCenter);
+ entry->setReadOnly(true);
+ entry->setFixedWidth(70);
}
}
-
- return &fClipLayout;
}
diff --git a/debugger/QT/SkInspectorWidget.h b/debugger/QT/SkInspectorWidget.h
index 96a6da38e1..7adf84fd70 100644
--- a/debugger/QT/SkInspectorWidget.h
+++ b/debugger/QT/SkInspectorWidget.h
@@ -18,6 +18,8 @@
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
+#include <QGroupBox>
+#include <QGridLayout>
/** \class SkInspectorWidget
@@ -71,8 +73,6 @@ public:
Tab(const char* name) {
fTabText.setReadOnly(true);
- fTabLayout.setSpacing(6);
- fTabLayout.setContentsMargins(11, 11, 11, 11);
fTabLayout.addWidget(&fTabText);
fTab.setLayout(&fTabLayout);
fName = QString(name);
@@ -87,21 +87,19 @@ private:
QHBoxLayout fTabLayouts[kTotalTabCount];
QTextEdit fTabTexts[kTotalTabCount];
- QWidget fMatrixAndClipWidget;
+ QFrame fMatrixAndClipWidget;
QVBoxLayout fVerticalLayout;
- QLabel fMatrixLabel;
- QVBoxLayout fMatrixLayout;
- QHBoxLayout fMatrixRow[3];
+ QGroupBox fMatrixGroup;
+ QGridLayout fMatrixLayout;
QLineEdit fMatrixEntry[9];
- QLabel fClipLabel;
- QVBoxLayout fClipLayout;
- QHBoxLayout fClipRow[2];
+ QGroupBox fClipGroup;
+ QGridLayout fClipLayout;
QLineEdit fClipEntry[4];
- QVBoxLayout* setupMatrix();
- QVBoxLayout* setupClip();
+ void setupMatrix();
+ void setupClip();
};
#endif