SkSettingsWidget.h revision 7dcae67cae277549accdd38d0496b72d00151239
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);
467dcae67cae277549accdd38d0496b72d00151239chudy@google.com
477dcae67cae277549accdd38d0496b72d00151239chudy@google.comsignals:
487dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void scrollingPreferences(bool isStickyActivate);
497dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void showStyle(bool isSingleCommand);
507dcae67cae277549accdd38d0496b72d00151239chudy@google.com    void visibilityFilter(bool isEnabled);
517dcae67cae277549accdd38d0496b72d00151239chudy@google.com
52902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.comprivate:
537dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout mainFrameLayout;
547dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame mainFrame;
557dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout fVerticalLayout;
56902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
577dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fVisibileText;
587dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame fVisibleFrame;
597dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout fVisibleFrameLayout;
607dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QRadioButton fVisibleOn;
617dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QRadioButton fVisibleOff;
62902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
637dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fCommandToggle;
647dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame fCommandFrame;
657dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QVBoxLayout fCommandLayout;
66902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
677dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLineEdit fCurrentCommandBox;
687dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fCurrentCommandLabel;
697dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QHBoxLayout fCurrentCommandLayout;
70902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
717dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QCheckBox fCommandCheckBox;
72902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
737dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLabel fZoomSetting;
747dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QFrame fZoomFrame;
757dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QLineEdit fZoomBox;
767dcae67cae277549accdd38d0496b72d00151239chudy@google.com    QHBoxLayout fZoomLayout;
77902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com};
78902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com
79902ebe5eb41a350b766238b3b103c22fe9fc0fb5chudy@google.com#endif /* SKSETTINGSWIDGET_H_ */
80