PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Rendering
GUI
QtGUI
PIODockWidget.cpp
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2016 The Qt Company Ltd.
4
** Contact: https://www.qt.io/licensing/
5
**
6
** This file is part of the demonstration applications of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:BSD$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and The Qt Company. For licensing terms
14
** and conditions see https://www.qt.io/terms-conditions. For further
15
** information use the contact form at https://www.qt.io/contact-us.
16
**
17
** BSD License Usage
18
** Alternatively, you may use this file under the terms of the BSD license
19
** as follows:
20
**
21
** "Redistribution and use in source and binary forms, with or without
22
** modification, are permitted provided that the following conditions are
23
** met:
24
** * Redistributions of source code must retain the above copyright
25
** notice, this list of conditions and the following disclaimer.
26
** * Redistributions in binary form must reproduce the above copyright
27
** notice, this list of conditions and the following disclaimer in
28
** the documentation and/or other materials provided with the
29
** distribution.
30
** * Neither the name of The Qt Company Ltd nor the names of its
31
** contributors may be used to endorse or promote products derived
32
** from this software without specific prior written permission.
33
**
34
**
35
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46
**
47
** $QT_END_LICENSE$
48
**
49
****************************************************************************/
50
51
#include "
PIODockWidget.h
"
52
#include "
PIOTabWidget.h
"
53
#include "
PLogWidget.h
"
54
#include "
PConsoleWidget.h
"
55
56
#include <QAction>
57
#include <QtEvents>
58
#include <QFrame>
59
#include <QMainWindow>
60
#include <QMenu>
61
#include <QPainter>
62
#include <QImage>
63
#include <QColor>
64
#include <QDialog>
65
#include <QDialogButtonBox>
66
#include <QGridLayout>
67
#include <QSignalBlocker>
68
#include <QSpinBox>
69
#include <QLabel>
70
#include <QPainterPath>
71
#include <QPushButton>
72
#include <QHBoxLayout>
73
#include <QBitmap>
74
#include <QtDebug>
75
#include <QApplication>
76
77
#undef DEBUG_SIZEHINTS
78
79
namespace
dyno
80
{
81
PIODockWidget::PIODockWidget
(QMainWindow *parent, Qt::WindowFlags flags)
82
: QDockWidget(parent, flags),
83
mainWindow
(parent),
84
m_ioTabWidget
(nullptr)
85
{
86
setObjectName(QLatin1String(
"IO Dock Widget"
));
87
setWindowTitle(objectName() + QLatin1String(
" [*]"
));
88
89
setupWidgets
();
90
}
91
92
static
PIODockWidget
*
findByName
(
const
QMainWindow *mainWindow,
const
QString &name)
93
{
94
foreach
(
PIODockWidget
*dock, mainWindow->findChildren<
PIODockWidget
*>()) {
95
if
(name == dock->objectName())
96
return
dock;
97
}
98
return
Q_NULLPTR;
99
}
100
101
void
PIODockWidget::changeTab
(
int
index)
102
{
103
QWidget* currentWidget =
m_ioTabWidget
->currentWidget();
104
105
this->setWindowTitle(
m_ioTabWidget
->tabText(index));
106
}
107
108
void
PIODockWidget::toggleLogging
()
109
{
110
mLogWidget
->toggleLogging();
111
}
112
113
#ifndef QT_NO_CONTEXTMENU
114
void
PIODockWidget::contextMenuEvent
(QContextMenuEvent *event)
115
{
116
event
->accept();
117
// menu->exec(event->globalPos());
118
}
119
#endif
// QT_NO_CONTEXTMENU
120
121
122
void
PIODockWidget::setupWidgets
()
123
{
124
m_ioTabWidget
=
new
PIOTabWidget
();
125
m_ioTabWidget
->setObjectName(
"ControlPanel"
);
126
m_ioTabWidget
->setContentsMargins(0, 0, 0, 0);
127
m_ioTabWidget
->setTabPosition(QTabWidget::South);
128
m_ioTabWidget
->setObjectName(QStringLiteral(
"tabWidget"
));
129
m_ioTabWidget
->setGeometry(QRect(140, 60, 361, 241));
130
131
m_ioTabWidget
->tabBar()->setObjectName(
"ControlPanelTabBar"
);
132
133
//Create log widget
134
mLogWidget
=
PLogWidget::instance
();
135
m_ioTabWidget
->addTab(
mLogWidget
, QString(
"Log"
));
136
m_ioTabWidget
->setTabText(
m_ioTabWidget
->indexOf(
mLogWidget
), QApplication::translate(
"MainWindow"
,
"Log"
, Q_NULLPTR));
137
138
mConsoleWidget
=
new
PConsoleWidget
();
139
m_ioTabWidget
->addTab(
mConsoleWidget
, QString(
"Console"
));
140
m_ioTabWidget
->setTabText(
m_ioTabWidget
->indexOf(
mConsoleWidget
), QApplication::translate(
"MainWindow"
,
"Console"
, Q_NULLPTR));
141
this->setWidget(
m_ioTabWidget
);
142
143
QObject::connect(
m_ioTabWidget
, SIGNAL(currentChanged(
int
)),
this
, SLOT(
changeTab
(
int
)));
144
145
this->setWindowTitle(
"Log"
);
146
}
147
}
PConsoleWidget.h
PIODockWidget.h
PIOTabWidget.h
PLogWidget.h
dyno::PConsoleWidget
Definition
PConsoleWidget.h:10
dyno::PIODockWidget
Definition
PIODockWidget.h:67
dyno::PIODockWidget::mLogWidget
PLogWidget * mLogWidget
Definition
PIODockWidget.h:100
dyno::PIODockWidget::m_ioTabWidget
PIOTabWidget * m_ioTabWidget
Definition
PIODockWidget.h:98
dyno::PIODockWidget::mConsoleWidget
PConsoleWidget * mConsoleWidget
Definition
PIODockWidget.h:101
dyno::PIODockWidget::mainWindow
QMainWindow * mainWindow
Definition
PIODockWidget.h:97
dyno::PIODockWidget::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event) override
Definition
PIODockWidget.cpp:114
dyno::PIODockWidget::setupWidgets
void setupWidgets()
Definition
PIODockWidget.cpp:122
dyno::PIODockWidget::PIODockWidget
PIODockWidget(QMainWindow *parent=Q_NULLPTR, Qt::WindowFlags flags=Qt::WindowFlags())
Definition
PIODockWidget.cpp:81
dyno::PIODockWidget::changeTab
void changeTab(int index)
Definition
PIODockWidget.cpp:101
dyno::PIODockWidget::toggleLogging
void toggleLogging()
Definition
PIODockWidget.cpp:108
dyno::PIOTabWidget
Definition
PIOTabWidget.h:9
dyno::PLogWidget::instance
static PLogWidget * instance()
Definition
PLogWidget.cpp:101
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
dyno::findByName
static PDockWidget * findByName(const QMainWindow *mainWindow, const QString &name)
Definition
PDockWidget.cpp:279
Generated by
1.13.2