aboutsummaryrefslogtreecommitdiffhomepage
path: root/debugger/QT/SkSettingsWidget.h
blob: 1a16ed243fa62b5085d1f14dee80bb828efb297a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112

/*
 * 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 SKSETTINGSWIDGET_H_
#define SKSETTINGSWIDGET_H_

#include <QWidget>
#include <QHBoxLayout>
#include <QTextEdit>
#include <QFrame>
#include <QLabel>
#include <QRadioButton>
#include <QCheckBox>
#include <QLineEdit>

/** \class SkSettingsWidget

    The SettingsWidget contains multiple checkboxes and toggles for altering
    the visibility.
 */
class SkSettingsWidget : public QWidget {
    Q_OBJECT

public:
    /**
        Constructs a widget with the specified parent for layout purposes.
        @param parent  The parent container of this widget
     */
    SkSettingsWidget();

    /** Sets the displayed user zoom level. A scale of 1.0 represents no zoom. */
    void setZoomText(float scale);

    QRadioButton* getVisibilityButton();

#if SK_SUPPORT_GPU
    QCheckBox* getGLCheckBox() {
        return &fGLCheckBox;
    }
#endif

    QCheckBox* getRasterCheckBox() {
        return &fRasterCheckBox;
    }

    QCheckBox* getOverdrawVizCheckBox() {
        return &fOverdrawVizCheckBox;
    }

private slots:
    void updateCommand(int newCommand);
    void updateHit(int newHit);

signals:
    void scrollingPreferences(bool isStickyActivate);
    void showStyle(bool isSingleCommand);
    void visibilityFilter(bool isEnabled);

private:
    QVBoxLayout mainFrameLayout;
    QFrame mainFrame;
    QVBoxLayout fVerticalLayout;

    QLabel fVisibileText;
    QFrame fVisibleFrame;
    QVBoxLayout fVisibleFrameLayout;
    QRadioButton fVisibleOn;
    QRadioButton fVisibleOff;

    QLabel fCommandToggle;
    QFrame fCommandFrame;
    QVBoxLayout fCommandLayout;

    QHBoxLayout fCurrentCommandLayout;
    QLabel fCurrentCommandLabel;
    QLineEdit fCurrentCommandBox;

    QHBoxLayout fCommandHitLayout;
    QLabel fCommandHitLabel;
    QLineEdit fCommandHitBox;

    QFrame fCanvasFrame;
    QVBoxLayout fCanvasLayout;
    QLabel fCanvasToggle;

    QHBoxLayout fRasterLayout;
    QLabel fRasterLabel;
    QCheckBox fRasterCheckBox;

    QHBoxLayout fOverdrawVizLayout;
    QLabel fOverdrawVizLabel;
    QCheckBox fOverdrawVizCheckBox;

#if SK_SUPPORT_GPU
    QHBoxLayout fGLLayout;
    QLabel fGLLabel;
    QCheckBox fGLCheckBox;
#endif

    QFrame fZoomFrame;
    QHBoxLayout fZoomLayout;
    QLabel fZoomSetting;
    QLineEdit fZoomBox;
};

#endif /* SKSETTINGSWIDGET_H_ */