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 "SkSettingsWidget.h"
117dcae67cae277549accdd38d0496b72d00151239chudy@google.com#include <iostream>
127dcae67cae277549accdd38d0496b72d00151239chudy@google.com#include <math.h>
137dcae67cae277549accdd38d0496b72d00151239chudy@google.com
14ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com// TODO(chudy): See if the layout can't be attached to the frame post construction.
152d537a18f49cb492358c2b051f4786075dd9406cchudy@google.comSkSettingsWidget::SkSettingsWidget() : QWidget()
167dcae67cae277549accdd38d0496b72d00151239chudy@google.com    , mainFrameLayout(this)
177dcae67cae277549accdd38d0496b72d00151239chudy@google.com    , fVerticalLayout(&mainFrame)
187dcae67cae277549accdd38d0496b72d00151239chudy@google.com    , fVisibleFrameLayout(&fVisibleFrame)
197dcae67cae277549accdd38d0496b72d00151239chudy@google.com    , fCommandLayout(&fCommandFrame)
207dcae67cae277549accdd38d0496b72d00151239chudy@google.com    , fCurrentCommandBox(&fCommandFrame)
21e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    , fCommandHitBox(&fCommandFrame)
22ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    , fCanvasLayout(&fCanvasFrame)
237dcae67cae277549accdd38d0496b72d00151239chudy@google.com    , fZoomLayout(&fZoomFrame)
242d537a18f49cb492358c2b051f4786075dd9406cchudy@google.com    , fZoomBox(&fZoomFrame)
257dcae67cae277549accdd38d0496b72d00151239chudy@google.com{
267dcae67cae277549accdd38d0496b72d00151239chudy@google.com    // Sets up the container and it's alignment around the settings widget.
277dcae67cae277549accdd38d0496b72d00151239chudy@google.com    mainFrame.setFrameShape(QFrame::StyledPanel);
287dcae67cae277549accdd38d0496b72d00151239chudy@google.com    mainFrame.setFrameShadow(QFrame::Raised);
297dcae67cae277549accdd38d0496b72d00151239chudy@google.com    mainFrameLayout.setSpacing(6);
307dcae67cae277549accdd38d0496b72d00151239chudy@google.com    mainFrameLayout.setContentsMargins(0,0,0,0);
317dcae67cae277549accdd38d0496b72d00151239chudy@google.com    mainFrameLayout.addWidget(&mainFrame);
327dcae67cae277549accdd38d0496b72d00151239chudy@google.com
337dcae67cae277549accdd38d0496b72d00151239chudy@google.com    // Vertical Layout is the alignment inside of the main frame.
347dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVerticalLayout.setContentsMargins(11,11,11,11);
357dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVerticalLayout.setAlignment(Qt::AlignTop);
367dcae67cae277549accdd38d0496b72d00151239chudy@google.com
377dcae67cae277549accdd38d0496b72d00151239chudy@google.com    // Visible Toggle
3822d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fVisibleText.setText("Visibility Filter");
397dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVisibleFrame.setFrameShape(QFrame::StyledPanel);
407dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVisibleFrame.setFrameShadow(QFrame::Raised);
4122d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org
4222d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fVisibilityCombo.addItem("Off", QVariant(false));
4322d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fVisibilityCombo.addItem("On", QVariant(true));
4422d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org
4522d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fVisibleFrameLayout.setContentsMargins(11, 5, 11, 5);
4622d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fVisibleFrameLayout.addWidget(&fVisibilityCombo);
4722d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    connect(&fVisibilityCombo, SIGNAL(activated(int)), this,
4822d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org            SIGNAL(visibilityFilterChanged()));
497dcae67cae277549accdd38d0496b72d00151239chudy@google.com
50ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    // Canvas
51ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasToggle.setText("Render Targets");
52ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasFrame.setFrameShape(QFrame::StyledPanel);
53ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasFrame.setFrameShadow(QFrame::Raised);
54ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
55ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fRasterLabel.setText("Raster: ");
56ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fRasterLabel.setMinimumWidth(178);
57ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fRasterLabel.setMaximumWidth(178);
58ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
592a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org    fPathOpsLabel.setText("PathOps: ");
602a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org    fPathOpsLabel.setMinimumWidth(178);
612a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org    fPathOpsLabel.setMaximumWidth(178);
622a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org
63ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fRasterCheckBox.setChecked(true);
64ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
65f4741c1322944e194ca34a8f5cf8188fe2c0efe2robertphillips@google.com    fOverdrawVizLabel.setText("     Overdraw Viz: ");
66f4741c1322944e194ca34a8f5cf8188fe2c0efe2robertphillips@google.com    fOverdrawVizLabel.setMinimumWidth(178);
67f4741c1322944e194ca34a8f5cf8188fe2c0efe2robertphillips@google.com    fOverdrawVizLabel.setMaximumWidth(178);
68f4741c1322944e194ca34a8f5cf8188fe2c0efe2robertphillips@google.com
69768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fMegaVizLabel.setText("         Mega Viz: ");
70768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fMegaVizLabel.setMinimumWidth(178);
71768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fMegaVizLabel.setMaximumWidth(178);
72768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org
73e8fe4bc3efa8f18f5651c5d005fba1935a741be0robertphillips@google.com#if SK_SUPPORT_GPU
74ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fGLLabel.setText("OpenGL: ");
75ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fGLLabel.setMinimumWidth(178);
76ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fGLLabel.setMaximumWidth(178);
77fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org
78fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org    fGLMSAAButtonGroup.setTitle("MSAA");
79fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org    fGLMSAAButtonGroup.setMinimumWidth(178);
80fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org    fGLMSAAButtonGroup.setMaximumWidth(178);
81fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org    fGLMSAAButtonGroup.setEnabled(fGLCheckBox.isChecked());
82fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org
8322d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fGLMSAACombo.addItem("Off", QVariant(0));
8422d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fGLMSAACombo.addItem("4", QVariant(4));
8522d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fGLMSAACombo.addItem("16", QVariant(16));
86fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org
8722d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fGLMSAALayout.addWidget(&fGLMSAACombo);
88fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org    fGLMSAAButtonGroup.setLayout(&fGLMSAALayout);
89fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org
9022d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    connect(&fGLCheckBox, SIGNAL(toggled(bool)), &fGLMSAAButtonGroup,
9122d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org            SLOT(setEnabled(bool)));
9222d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    connect(&fGLCheckBox, SIGNAL(toggled(bool)), this,
9322d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org            SIGNAL(glSettingsChanged()));
9422d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    connect(&fGLMSAACombo, SIGNAL(activated(int)), this,
9522d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org            SIGNAL(glSettingsChanged()));
96e8fe4bc3efa8f18f5651c5d005fba1935a741be0robertphillips@google.com#endif
97ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
9832bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com    {
9932bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com        // set up filter buttons
10032bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com        fFilterButtonGroup.setTitle("Filtering");
10132bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com        fFilterButtonGroup.setMinimumWidth(178);
10232bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com        fFilterButtonGroup.setMaximumWidth(178);
10332bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com
10422d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        fFilterCombo.addItem("As encoded", QVariant(SkPaint::kNone_FilterLevel));
10522d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        fFilterCombo.addItem("None", QVariant(SkPaint::kNone_FilterLevel));
10622d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        fFilterCombo.addItem("Low", QVariant(SkPaint::kLow_FilterLevel));
10722d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        fFilterCombo.addItem("Medium", QVariant(SkPaint::kMedium_FilterLevel));
10822d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        fFilterCombo.addItem("High", QVariant(SkPaint::kHigh_FilterLevel));
10932bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com
11022d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        fFilterLayout.addWidget(&fFilterCombo);
11132bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com        fFilterButtonGroup.setLayout(&fFilterLayout);
11232bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com
11322d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org        connect(&fFilterCombo, SIGNAL(activated(int)), this,
11422d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org                SIGNAL(texFilterSettingsChanged()));
11532bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com    }
11632bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com
117ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fRasterLayout.addWidget(&fRasterLabel);
118ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fRasterLayout.addWidget(&fRasterCheckBox);
1192a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org    fRasterLayout.addWidget(&fPathOpsLabel);
1202a67e123a3e559774a16a58cbe5106bc0fb86740commit-bot@chromium.org    fRasterLayout.addWidget(&fPathOpsCheckBox);
121ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
122768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fVizLayout.addWidget(&fOverdrawVizLabel);
123768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fVizLayout.addWidget(&fOverdrawVizCheckBox);
124768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fVizLayout.addWidget(&fMegaVizLabel);
125768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fVizLayout.addWidget(&fMegaVizCheckBox);
126f4741c1322944e194ca34a8f5cf8188fe2c0efe2robertphillips@google.com
127e8fe4bc3efa8f18f5651c5d005fba1935a741be0robertphillips@google.com#if SK_SUPPORT_GPU
128ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fGLLayout.addWidget(&fGLLabel);
129ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fGLLayout.addWidget(&fGLCheckBox);
130e8fe4bc3efa8f18f5651c5d005fba1935a741be0robertphillips@google.com#endif
131ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
132ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasLayout.setSpacing(6);
133ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasLayout.setContentsMargins(11,11,11,11);
134ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasLayout.addLayout(&fRasterLayout);
135768ac85655017d4106444bf3ad044680a575ccaacommit-bot@chromium.org    fCanvasLayout.addLayout(&fVizLayout);
136e8fe4bc3efa8f18f5651c5d005fba1935a741be0robertphillips@google.com#if SK_SUPPORT_GPU
137ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fCanvasLayout.addLayout(&fGLLayout);
138fde1e7ccb4524aa2e0c42872e529ee25d09e7f34commit-bot@chromium.org    fCanvasLayout.addWidget(&fGLMSAAButtonGroup);
139e8fe4bc3efa8f18f5651c5d005fba1935a741be0robertphillips@google.com#endif
14032bbcf828d66ad244fa25b468bc3a229e531491frobertphillips@google.com    fCanvasLayout.addWidget(&fFilterButtonGroup);
141ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com
1427dcae67cae277549accdd38d0496b72d00151239chudy@google.com    // Command Toggle
1437dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCommandToggle.setText("Command Scrolling Preferences");
1447dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCommandFrame.setFrameShape(QFrame::StyledPanel);
1457dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCommandFrame.setFrameShadow(QFrame::Raised);
1467dcae67cae277549accdd38d0496b72d00151239chudy@google.com
1477dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLabel.setText("Current Command: ");
1487dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLabel.setMinimumWidth(178);
1497dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLabel.setMaximumWidth(178);
1507dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandBox.setText("0");
1517dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandBox.setMinimumSize(QSize(50,25));
1527dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandBox.setMaximumSize(QSize(50,25));
1537dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandBox.setAlignment(Qt::AlignRight);
1547dcae67cae277549accdd38d0496b72d00151239chudy@google.com
1557dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLayout.setSpacing(0);
1567dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLayout.setContentsMargins(0,0,0,0);
1577dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLayout.setAlignment(Qt::AlignLeft);
1587dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLayout.addWidget(&fCurrentCommandLabel);
1597dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandLayout.addWidget(&fCurrentCommandBox);
1607dcae67cae277549accdd38d0496b72d00151239chudy@google.com
161e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLabel.setText("Command HitBox: ");
162e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLabel.setMinimumWidth(178);
163e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLabel.setMaximumWidth(178);
164e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitBox.setText("0");
165e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitBox.setMinimumSize(QSize(50,25));
166e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitBox.setMaximumSize(QSize(50,25));
167e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitBox.setAlignment(Qt::AlignRight);
168e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLayout.setSpacing(0);
169e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLayout.setContentsMargins(0,0,0,0);
170e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLayout.setAlignment(Qt::AlignLeft);
171e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLayout.addWidget(&fCommandHitLabel);
172e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitLayout.addWidget(&fCommandHitBox);
173e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com
1747dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCommandLayout.setSpacing(6);
1757dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCommandLayout.setContentsMargins(11,11,11,11);
1767dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCommandLayout.addLayout(&fCurrentCommandLayout);
177e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandLayout.addLayout(&fCommandHitLayout);
1787dcae67cae277549accdd38d0496b72d00151239chudy@google.com
1797dcae67cae277549accdd38d0496b72d00151239chudy@google.com    // Zoom Info
1807dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomSetting.setText("Zoom Level: ");
1817dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomSetting.setMinimumWidth(178);
1827dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomSetting.setMaximumWidth(178);
1837dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomFrame.setFrameShape(QFrame::StyledPanel);
1847dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomFrame.setFrameShadow(QFrame::Raised);
1857dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomBox.setText("100%");
1867dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomBox.setMinimumSize(QSize(50,25));
1877dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomBox.setMaximumSize(QSize(50,25));
1887dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomBox.setAlignment(Qt::AlignRight);
1897dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomLayout.setSpacing(6);
1907dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomLayout.setContentsMargins(11,11,11,11);
1917dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomLayout.addWidget(&fZoomSetting);
1927dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fZoomLayout.addWidget(&fZoomBox);
1937dcae67cae277549accdd38d0496b72d00151239chudy@google.com
1947dcae67cae277549accdd38d0496b72d00151239chudy@google.com    // Adds all widgets to settings container
19522d39332bdba4e2e36aa050220392dcd33d81c19commit-bot@chromium.org    fVerticalLayout.addWidget(&fVisibleText);
1967dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVerticalLayout.addWidget(&fVisibleFrame);
1977dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVerticalLayout.addWidget(&fCommandToggle);
1987dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVerticalLayout.addWidget(&fCommandFrame);
199ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fVerticalLayout.addWidget(&fCanvasToggle);
200ea5488b9655fc7d71345c3a823de85f8b74e3279chudy@google.com    fVerticalLayout.addWidget(&fCanvasFrame);
2017dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fVerticalLayout.addWidget(&fZoomFrame);
2027dcae67cae277549accdd38d0496b72d00151239chudy@google.com
203e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    this->setDisabled(true);
2047dcae67cae277549accdd38d0496b72d00151239chudy@google.com}
205902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
206902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
2077dcae67cae277549accdd38d0496b72d00151239chudy@google.comvoid SkSettingsWidget::updateCommand(int newCommand) {
2087dcae67cae277549accdd38d0496b72d00151239chudy@google.com    fCurrentCommandBox.setText(QString::number(newCommand));
2097dcae67cae277549accdd38d0496b72d00151239chudy@google.com}
210902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
211e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.comvoid SkSettingsWidget::updateHit(int newHit) {
212e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    fCommandHitBox.setText(QString::number(newHit));
213e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com}
214e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com
215e8cc6e8071935339a06548b13a0668b56a7540f5bungeman@google.comvoid SkSettingsWidget::setZoomText(float scale) {
216e8cc6e8071935339a06548b13a0668b56a7540f5bungeman@google.com    fZoomBox.setText(QString::number(scale*100, 'f', 0).append("%"));
2177dcae67cae277549accdd38d0496b72d00151239chudy@google.com}
218