1902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 2902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com/* 3902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com * Copyright 2012 Google Inc. 4902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com * 5902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com * Use of this source code is governed by a BSD-style license that can be 6902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com * found in the LICENSE file. 7902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com */ 8902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 9902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 10902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include "SkInspectorWidget.h" 11902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <iostream> 12902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 137c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunenstatic const int kSignificantNumbersInFields = 5; 147c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen 152d537a18f49cb492358c2b051f4786075dd9406cchudy@google.comSkInspectorWidget::SkInspectorWidget() : QWidget() 162f891793957252b0262276c957c67798c905be80chudy@google.com , fHorizontalLayout(this) 172f891793957252b0262276c957c67798c905be80chudy@google.com , fMatrixAndClipWidget(this) 187c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen , fVerticalLayout(&fMatrixAndClipWidget) { 196bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com QString tabNames[kTotalTabCount]; 206bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com tabNames[kOverview_TabType] = "Overview"; 216bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com tabNames[kDetail_TabType] = "Details"; 222a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org tabNames[kClipStack_TabType] = "Clip Stack"; 236bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com 246bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com for (int i = 0; i < kTotalTabCount; i++) { 256bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com fTabTexts[i].setReadOnly(true); 266bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com fTabLayouts[i].addWidget(&fTabTexts[i]); 276bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com fTabs[i].setLayout(&fTabLayouts[i]); 286bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com fTabWidget.addTab(&fTabs[i], tabNames[i]); 296bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com } 302f891793957252b0262276c957c67798c905be80chudy@google.com 312f891793957252b0262276c957c67798c905be80chudy@google.com fHorizontalLayout.setAlignment(Qt::AlignTop); 322f891793957252b0262276c957c67798c905be80chudy@google.com fHorizontalLayout.addWidget(&fTabWidget); 33902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 347c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fMatrixAndClipWidget.setFrameStyle(QFrame::Panel); 352f891793957252b0262276c957c67798c905be80chudy@google.com fMatrixAndClipWidget.setDisabled(true); 362f891793957252b0262276c957c67798c905be80chudy@google.com fVerticalLayout.setAlignment(Qt::AlignVCenter); 377c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen this->setupMatrix(); 387c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen this->setupClip(); 397c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fVerticalLayout.addWidget(&fMatrixGroup); 407c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fVerticalLayout.addWidget(&fClipGroup); 412f891793957252b0262276c957c67798c905be80chudy@google.com fHorizontalLayout.addWidget(&fMatrixAndClipWidget); 42902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com} 43902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 446bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.comvoid SkInspectorWidget::setText(QString text, TabType type) { 456bd109a39370d21bfd4b48f5a28df8bcfc7f5ba2chudy@google.com fTabTexts[type].setHtml(text); 46902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com} 47902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 482f891793957252b0262276c957c67798c905be80chudy@google.comvoid SkInspectorWidget::setMatrix(const SkMatrix& matrix) { 492f891793957252b0262276c957c67798c905be80chudy@google.com for(int i=0; i<9; i++) { 507c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fMatrixEntry[i].setText(QString::number(matrix.get(i), 'g', kSignificantNumbersInFields)); 512f891793957252b0262276c957c67798c905be80chudy@google.com } 52902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com} 53902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 542f891793957252b0262276c957c67798c905be80chudy@google.comvoid SkInspectorWidget::setClip(const SkIRect& clip) { 557c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipEntry[0].setText(QString::number(clip.left(), 'g', kSignificantNumbersInFields)); 567c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipEntry[1].setText(QString::number(clip.top(), 'g', kSignificantNumbersInFields)); 577c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipEntry[2].setText(QString::number(clip.right(), 'g', kSignificantNumbersInFields)); 587c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipEntry[3].setText(QString::number(clip.bottom(), 'g', kSignificantNumbersInFields)); 59902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com} 60902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 617c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunenvoid SkInspectorWidget::setupMatrix() { 627c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fMatrixGroup.setTitle("Current Matrix"); 637c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fMatrixGroup.setLayout(&fMatrixLayout); 647c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen for (int r = 0; r < 3; ++r) { 657c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen for(int c = 0; c < 3; c++) { 667c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen QLineEdit* entry = &fMatrixEntry[r * 3 + c]; 677c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fMatrixLayout.addWidget(entry, r, c, Qt::AlignTop | Qt::AlignHCenter); 687c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen entry->setReadOnly(true); 697c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen entry->setFixedWidth(70); 702f891793957252b0262276c957c67798c905be80chudy@google.com } 71902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com } 72902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com} 73902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com 747c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunenvoid SkInspectorWidget::setupClip() { 757c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipGroup.setTitle("Current Clip"); 767c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipGroup.setLayout(&fClipLayout); 777c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen for(int r = 0; r < 2; r++) { 787c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen for(int c = 0; c < 2; c++) { 797c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen QLineEdit* entry = &fClipEntry[r * 2 + c]; 807c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen fClipLayout.addWidget(entry, r, c, Qt::AlignTop | Qt::AlignHCenter); 817c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen entry->setReadOnly(true); 827c339ae1e362e9f02cdfb9b32007f143dec0bc0ekkinnunen entry->setFixedWidth(70); 832f891793957252b0262276c957c67798c905be80chudy@google.com } 84902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com } 85902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com} 86