SkSettingsWidget.h revision e606d6e210b17dd9dd582d4d3ec70acb4f3213d5
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#ifndef SKSETTINGSWIDGET_H_
11902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#define SKSETTINGSWIDGET_H_
12902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
13902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QWidget>
14902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QHBoxLayout>
15902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QTextEdit>
16902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QFrame>
17902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QLabel>
18902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QRadioButton>
19902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#include <QCheckBox>
207dcae67cae277549accdd38d0496b72d00151239chudy@google.com#include <QLineEdit>
21902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
22902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com/** \class SkSettingsWidget
23902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
24902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com    The SettingsWidget contains multiple checkboxes and toggles for altering
25902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com    the visibility.
26902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com */
27902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.comclass SkSettingsWidget : public QWidget {
28902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com    Q_OBJECT
29902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
30902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.compublic:
31902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com    /**
32902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com        Constructs a widget with the specified parent for layout purposes.
33902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com        @param parent  The parent container of this widget
34902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com     */
35902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com    SkSettingsWidget(QWidget *parent = NULL);
36902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com    ~SkSettingsWidget();
37902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
387dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void setZoomText(int scaleFactor);
397dcae67cae277549accdd38d0496b72d00151239chudy@google.com
407dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QCheckBox* getCommandCheckBox();
417dcae67cae277549accdd38d0496b72d00151239chudy@google.com
427dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QRadioButton* getVisibilityButton();
437dcae67cae277549accdd38d0496b72d00151239chudy@google.com
447dcae67cae277549accdd38d0496b72d00151239chudy@google.comprivate slots:
457dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void updateCommand(int newCommand);
46e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    void updateHit(int newHit);
477dcae67cae277549accdd38d0496b72d00151239chudy@google.com
487dcae67cae277549accdd38d0496b72d00151239chudy@google.comsignals:
497dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void scrollingPreferences(bool isStickyActivate);
507dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void showStyle(bool isSingleCommand);
517dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void visibilityFilter(bool isEnabled);
527dcae67cae277549accdd38d0496b72d00151239chudy@google.com
53902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.comprivate:
547dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout mainFrameLayout;
557dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame mainFrame;
567dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout fVerticalLayout;
57902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
587dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fVisibileText;
597dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame fVisibleFrame;
607dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout fVisibleFrameLayout;
617dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QRadioButton fVisibleOn;
627dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QRadioButton fVisibleOff;
63902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
647dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fCommandToggle;
657dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame fCommandFrame;
667dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout fCommandLayout;
67902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
687dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fCurrentCommandLabel;
69e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    QLineEdit fCurrentCommandBox;
707dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QHBoxLayout fCurrentCommandLayout;
71902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
72e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    QLabel fCommandHitLabel;
73e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    QLineEdit fCommandHitBox;
74e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com    QHBoxLayout fCommandHitLayout;
75e606d6e210b17dd9dd582d4d3ec70acb4f3213d5chudy@google.com
767dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QCheckBox fCommandCheckBox;
77902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
787dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fZoomSetting;
797dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame fZoomFrame;
807dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLineEdit fZoomBox;
817dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QHBoxLayout fZoomLayout;
82902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com};
83902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
84902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#endif /* SKSETTINGSWIDGET_H_ */
85