summaryrefslogtreecommitdiffstats
path: root/tests/manual/wasm/a11y/basic_widgets/basica11ywidget.cpp
blob: dc1688f5b94ff65ceedcd5aa198c0e6e65b2bc28 (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
113
114
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include "basica11ywidget.h"

BasicA11yWidget::BasicA11yWidget()  :
                                     m_toolBar (new QToolBar()),
                                     m_layout(new QVBoxLayout),
                                     m_tabWidget(new QTabWidget)
{
    createActions();
    createMenus();
    createToolBar();
    m_lblDateTime =new QLabel("Select Chrono Menu for todays date and time.");
    m_layout->addWidget(m_lblDateTime);
    m_tabWidget->addTab(new GeneralTab(), ("General Widget"));
    m_editView =new EditViewTab();
    m_tabWidget->addTab(m_editView, ("Edit Widget"));
    m_layout->addWidget(m_tabWidget);

    m_layout->addStretch();

    connect(m_editView, &EditViewTab::connectToToolBar, this,&BasicA11yWidget::connectToolBar);
    setLayout(m_layout);

}
void BasicA11yWidget::handleButton() {

    QDialog *asmSmplDlg = new QDialog(this);
    QVBoxLayout *vlayout = new QVBoxLayout(asmSmplDlg);
    asmSmplDlg->setWindowTitle("WebAssembly Dialog box ");
    QLabel *label = new QLabel("Accessibility Demo sample application developed in Qt.");
    QAbstractButton *bExit = new QPushButton("Exit");
    vlayout->addWidget(label);
    vlayout->addWidget(bExit);
    asmSmplDlg->setLayout(vlayout);
    auto p = asmSmplDlg->palette();
    p.setColor( asmSmplDlg->backgroundRole(), Qt::gray);
    asmSmplDlg->setPalette(p);
    asmSmplDlg->show();
    asmSmplDlg->connect(bExit, SIGNAL(clicked()), asmSmplDlg, SLOT(close()));
}

void BasicA11yWidget::createToolBar()
{
    m_copyAct = new QAction(tr("&Copy"), this);
    m_copyAct->setShortcuts(QKeySequence::Copy);

    m_pasteAct = new QAction(tr("&Paste"), this);
    m_pasteAct->setStatusTip(tr("To paste selected text"));
    m_pasteAct->setShortcuts(QKeySequence::Paste);

    m_cutAct = new QAction(tr("C&ut"), this);
    m_cutAct->setShortcuts(QKeySequence::Cut);

    m_toolBar->addAction(m_copyAct);
    m_toolBar->addAction(m_cutAct);
    m_toolBar->addAction(m_pasteAct);
    m_layout->addWidget(m_toolBar);

}
void BasicA11yWidget::connectToolBar()
{
  connect(m_copyAct, &QAction::triggered, m_editView->getTextEdit(), &QPlainTextEdit::copy);
  connect(m_pasteAct, &QAction::triggered, m_editView->getTextEdit(), &QPlainTextEdit::paste);
  connect(m_cutAct, &QAction::triggered, m_editView->getTextEdit(), &QPlainTextEdit::cut);
}
void BasicA11yWidget::createActions()
{
    m_DateAct = new QAction( tr("&Date"), this);
    m_DateAct->setStatusTip(tr("To tell you todays date."));
    connect(m_DateAct, &QAction::triggered, this, &BasicA11yWidget::todaysDate);

    m_TimeAct = new QAction(tr("&Time"), this);
    m_TimeAct->setStatusTip(tr("To tell you current time."));
    connect(m_TimeAct, &QAction::triggered, this, &BasicA11yWidget::currentTime);

}
void BasicA11yWidget::createMenus()
{
    m_menuBar = new QMenuBar();

    m_TodayMenu = m_menuBar->addMenu(tr("&Chrono"));
    m_TodayMenu->addAction(m_DateAct);
    m_TodayMenu->addAction(m_TimeAct);

    m_aboutAct = new QAction(tr("&About"), this);
    m_aboutAct->setStatusTip(tr("Show the application's About box"));
    connect(m_aboutAct, &QAction::triggered, this, &BasicA11yWidget::about);

    m_helpMenu = m_menuBar->addMenu(tr("&Help"));
    m_helpMenu->addAction(m_aboutAct);

    m_layout->setMenuBar(m_menuBar);
}

void BasicA11yWidget::todaysDate()
{
    QDateTime dt=QDateTime::currentDateTime();
    QString str = "Today's Date:"+ dt.date().toString();
    m_lblDateTime->setText(str);
}

void BasicA11yWidget::currentTime()
{
    QDateTime dt=QDateTime::currentDateTime();
    QString str = "Current Time:"+ dt.time().toString();
    m_lblDateTime->setText(str);
}

void BasicA11yWidget::about()
{
    handleButton();
}