| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkInspectorWidget.h" | 10 #include "SkInspectorWidget.h" |
| 11 #include <iostream> | 11 #include <iostream> |
| 12 | 12 |
| 13 static const int kSignificantNumbersInFields = 5; |
| 14 |
| 13 SkInspectorWidget::SkInspectorWidget() : QWidget() | 15 SkInspectorWidget::SkInspectorWidget() : QWidget() |
| 14 , fHorizontalLayout(this) | 16 , fHorizontalLayout(this) |
| 15 , fMatrixAndClipWidget(this) | 17 , fMatrixAndClipWidget(this) |
| 16 , fVerticalLayout(&fMatrixAndClipWidget) | 18 , fVerticalLayout(&fMatrixAndClipWidget) { |
| 17 , fMatrixLabel(this) | |
| 18 , fClipLabel(this) { | |
| 19 | |
| 20 fHorizontalLayout.setSpacing(6); | |
| 21 fHorizontalLayout.setContentsMargins(11, 11, 11, 11); | |
| 22 | |
| 23 QString tabNames[kTotalTabCount]; | 19 QString tabNames[kTotalTabCount]; |
| 24 tabNames[kOverview_TabType] = "Overview"; | 20 tabNames[kOverview_TabType] = "Overview"; |
| 25 tabNames[kDetail_TabType] = "Details"; | 21 tabNames[kDetail_TabType] = "Details"; |
| 26 tabNames[kClipStack_TabType] = "Clip Stack"; | 22 tabNames[kClipStack_TabType] = "Clip Stack"; |
| 27 | 23 |
| 28 for (int i = 0; i < kTotalTabCount; i++) { | 24 for (int i = 0; i < kTotalTabCount; i++) { |
| 29 fTabTexts[i].setReadOnly(true); | 25 fTabTexts[i].setReadOnly(true); |
| 30 fTabLayouts[i].setSpacing(6); | |
| 31 fTabLayouts[i].setContentsMargins(11, 11, 11, 11); | |
| 32 fTabLayouts[i].addWidget(&fTabTexts[i]); | 26 fTabLayouts[i].addWidget(&fTabTexts[i]); |
| 33 fTabs[i].setLayout(&fTabLayouts[i]); | 27 fTabs[i].setLayout(&fTabLayouts[i]); |
| 34 fTabWidget.addTab(&fTabs[i], tabNames[i]); | 28 fTabWidget.addTab(&fTabs[i], tabNames[i]); |
| 35 } | 29 } |
| 36 | 30 |
| 37 fHorizontalLayout.setAlignment(Qt::AlignTop); | 31 fHorizontalLayout.setAlignment(Qt::AlignTop); |
| 38 fHorizontalLayout.addWidget(&fTabWidget); | 32 fHorizontalLayout.addWidget(&fTabWidget); |
| 39 | 33 |
| 40 /* NOTE(chudy): We add all the line edits to (this). Then we lay them out | 34 fMatrixAndClipWidget.setFrameStyle(QFrame::Panel); |
| 41 * by adding them to horizontal layouts. | |
| 42 * | |
| 43 * We will have 1 big vertical layout, 3 horizontal layouts and then 3 | |
| 44 * line edits in each horizontal layout. */ | |
| 45 fMatrixAndClipWidget.setFixedSize(260,300); | |
| 46 fMatrixAndClipWidget.setDisabled(true); | 35 fMatrixAndClipWidget.setDisabled(true); |
| 47 | |
| 48 fVerticalLayout.setAlignment(Qt::AlignVCenter); | 36 fVerticalLayout.setAlignment(Qt::AlignVCenter); |
| 49 fVerticalLayout.addLayout(setupMatrix()); | 37 this->setupMatrix(); |
| 50 fVerticalLayout.addLayout(setupClip()); | 38 this->setupClip(); |
| 39 fVerticalLayout.addWidget(&fMatrixGroup); |
| 40 fVerticalLayout.addWidget(&fClipGroup); |
| 51 fHorizontalLayout.addWidget(&fMatrixAndClipWidget); | 41 fHorizontalLayout.addWidget(&fMatrixAndClipWidget); |
| 52 } | 42 } |
| 53 | 43 |
| 54 void SkInspectorWidget::setText(QString text, TabType type) { | 44 void SkInspectorWidget::setText(QString text, TabType type) { |
| 55 fTabTexts[type].setHtml(text); | 45 fTabTexts[type].setHtml(text); |
| 56 } | 46 } |
| 57 | 47 |
| 58 void SkInspectorWidget::setMatrix(const SkMatrix& matrix) { | 48 void SkInspectorWidget::setMatrix(const SkMatrix& matrix) { |
| 59 for(int i=0; i<9; i++) { | 49 for(int i=0; i<9; i++) { |
| 60 fMatrixEntry[i].setText(QString::number(matrix.get(i))); | 50 fMatrixEntry[i].setText(QString::number(matrix.get(i), 'g', kSignificant
NumbersInFields)); |
| 61 } | 51 } |
| 62 } | 52 } |
| 63 | 53 |
| 64 void SkInspectorWidget::setClip(const SkIRect& clip) { | 54 void SkInspectorWidget::setClip(const SkIRect& clip) { |
| 65 fClipEntry[0].setText(QString::number(clip.left())); | 55 fClipEntry[0].setText(QString::number(clip.left(), 'g', kSignificantNumbersI
nFields)); |
| 66 fClipEntry[1].setText(QString::number(clip.top())); | 56 fClipEntry[1].setText(QString::number(clip.top(), 'g', kSignificantNumbersIn
Fields)); |
| 67 fClipEntry[2].setText(QString::number(clip.right())); | 57 fClipEntry[2].setText(QString::number(clip.right(), 'g', kSignificantNumbers
InFields)); |
| 68 fClipEntry[3].setText(QString::number(clip.bottom())); | 58 fClipEntry[3].setText(QString::number(clip.bottom(), 'g', kSignificantNumber
sInFields)); |
| 69 } | 59 } |
| 70 | 60 |
| 71 QVBoxLayout* SkInspectorWidget::setupMatrix() { | 61 void SkInspectorWidget::setupMatrix() { |
| 72 fMatrixLabel.setText("Current Matrix"); | 62 fMatrixGroup.setTitle("Current Matrix"); |
| 73 fMatrixLabel.setAlignment(Qt::AlignHCenter); | 63 fMatrixGroup.setLayout(&fMatrixLayout); |
| 74 | 64 for (int r = 0; r < 3; ++r) { |
| 75 fMatrixLayout.setSpacing(6); | 65 for(int c = 0; c < 3; c++) { |
| 76 fMatrixLayout.setContentsMargins(11,11,11,0); | 66 QLineEdit* entry = &fMatrixEntry[r * 3 + c]; |
| 77 fMatrixLayout.setAlignment(Qt::AlignTop | Qt::AlignHCenter); | 67 fMatrixLayout.addWidget(entry, r, c, Qt::AlignTop | Qt::AlignHCenter
); |
| 78 fMatrixLayout.addWidget(&fMatrixLabel); | 68 entry->setReadOnly(true); |
| 79 | 69 entry->setFixedWidth(70); |
| 80 for(int i =0; i<9; i++) { | |
| 81 fMatrixEntry[i].setMinimumSize(QSize(70,25)); | |
| 82 fMatrixEntry[i].setMaximumSize(QSize(70,16777215)); | |
| 83 fMatrixEntry[i].setReadOnly(true); | |
| 84 | |
| 85 fMatrixRow[i/3].addWidget(&fMatrixEntry[i]); | |
| 86 if(i%3 == 2) { | |
| 87 fMatrixLayout.addLayout(&fMatrixRow[i/3]); | |
| 88 } | 70 } |
| 89 } | 71 } |
| 90 | |
| 91 return &fMatrixLayout; | |
| 92 } | 72 } |
| 93 | 73 |
| 94 QVBoxLayout* SkInspectorWidget::setupClip() { | 74 void SkInspectorWidget::setupClip() { |
| 95 fClipLabel.setText("Current Clip"); | 75 fClipGroup.setTitle("Current Clip"); |
| 96 fClipLabel.setAlignment(Qt::AlignHCenter); | 76 fClipGroup.setLayout(&fClipLayout); |
| 97 | 77 for(int r = 0; r < 2; r++) { |
| 98 fClipLayout.setSpacing(6); | 78 for(int c = 0; c < 2; c++) { |
| 99 fClipLayout.setContentsMargins(11,11,11,0); | 79 QLineEdit* entry = &fClipEntry[r * 2 + c]; |
| 100 fClipLayout.setAlignment(Qt::AlignTop | Qt::AlignHCenter); | 80 fClipLayout.addWidget(entry, r, c, Qt::AlignTop | Qt::AlignHCenter); |
| 101 fClipLayout.addWidget(&fClipLabel); | 81 entry->setReadOnly(true); |
| 102 | 82 entry->setFixedWidth(70); |
| 103 for(int i =0; i<4; i++) { | |
| 104 fClipEntry[i].setMinimumSize(QSize(70,25)); | |
| 105 fClipEntry[i].setMaximumSize(QSize(70,16777215)); | |
| 106 fClipEntry[i].setReadOnly(true); | |
| 107 | |
| 108 fClipRow[i/2].addWidget(&fClipEntry[i]); | |
| 109 if(i%2 == 1) { | |
| 110 fClipLayout.addLayout(&fClipRow[i/2]); | |
| 111 } | 83 } |
| 112 } | 84 } |
| 113 | |
| 114 return &fClipLayout; | |
| 115 } | 85 } |
| OLD | NEW |