diff options
Diffstat (limited to 'chromium/third_party/skia/debugger/QT/SkInspectorWidget.h')
-rw-r--r-- | chromium/third_party/skia/debugger/QT/SkInspectorWidget.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/chromium/third_party/skia/debugger/QT/SkInspectorWidget.h b/chromium/third_party/skia/debugger/QT/SkInspectorWidget.h new file mode 100644 index 00000000000..96a6da38e17 --- /dev/null +++ b/chromium/third_party/skia/debugger/QT/SkInspectorWidget.h @@ -0,0 +1,107 @@ + +/* + * Copyright 2012 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#ifndef SKINSPECTORWIDGET_H_ +#define SKINSPECTORWIDGET_H_ + +#include "SkMatrix.h" + +#include <QWidget> +#include <QTabWidget> +#include <QTextEdit> +#include <QHBoxLayout> +#include <QLabel> +#include <QLineEdit> + +/** \class SkInspectorWidget + + The InspectorWidget contains the overview and details tab. These contain + information about the whole picture and details about each draw command. + */ +class SkInspectorWidget : public QWidget { + Q_OBJECT + +public: + enum TabType { + kOverview_TabType, + kDetail_TabType, + kClipStack_TabType, + kTotalTabCount, + }; + + /** + Constructs a widget with the specified parent for layout purposes. + @param parent The parent container of this widget + */ + SkInspectorWidget(); + + void setDisabled(bool isDisabled) { + fMatrixAndClipWidget.setDisabled(isDisabled); + } + + /** + Sets the text in tab at the specified index. + @param text + */ + void setText(QString text, TabType type); + + /** + Sets the text in the current matrix. + @param matrixValues + */ + void setMatrix(const SkMatrix& matrix); + + /** + Sets the text in the current clip. + @param clipValues + */ + void setClip(const SkIRect& clip); + + class Tab : public QWidget { + QWidget fTab; + QHBoxLayout fTabLayout; + QTextEdit fTabText; + QString fName; + + 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); + } + }; + +private: + QHBoxLayout fHorizontalLayout; + QTabWidget fTabWidget; + + QWidget fTabs[kTotalTabCount]; + QHBoxLayout fTabLayouts[kTotalTabCount]; + QTextEdit fTabTexts[kTotalTabCount]; + + QWidget fMatrixAndClipWidget; + QVBoxLayout fVerticalLayout; + + QLabel fMatrixLabel; + QVBoxLayout fMatrixLayout; + QHBoxLayout fMatrixRow[3]; + QLineEdit fMatrixEntry[9]; + + QLabel fClipLabel; + QVBoxLayout fClipLayout; + QHBoxLayout fClipRow[2]; + QLineEdit fClipEntry[4]; + + QVBoxLayout* setupMatrix(); + QVBoxLayout* setupClip(); +}; + +#endif |