aboutsummaryrefslogtreecommitdiffhomepage
path: root/debugger/QT/SkSettingsWidget.h
blob: 1afb93ef8f51fb6ad1cd897ae350a0c67317bda4 (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

/*
 * 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(QWidget *parent = NULL);
    ~SkSettingsWidget();

    void setZoomText(int scaleFactor);

    QRadioButton* getVisibilityButton();

    QCheckBox* getGLCheckBox() {
        return &fGLCheckBox;
    }

    QCheckBox* getRasterCheckBox() {
        return &fRasterCheckBox;
    }

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;

    QLabel fCurrentCommandLabel;
    QLineEdit fCurrentCommandBox;
    QHBoxLayout fCurrentCommandLayout;

    QLabel fCommandHitLabel;
    QLineEdit fCommandHitBox;
    QHBoxLayout fCommandHitLayout;

    QLabel fCanvasToggle;
    QFrame fCanvasFrame;
    QVBoxLayout fCanvasLayout;

    QHBoxLayout fRasterLayout;
    QLabel fRasterLabel;
    QCheckBox fRasterCheckBox;

    QHBoxLayout fGLLayout;
    QLabel fGLLabel;
    QCheckBox fGLCheckBox;

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

#endif /* SKSETTINGSWIDGET_H_ */