forked from qt-creator/qt-creator
Added gui example for debugger testing
This commit is contained in:
11
tests/manual/gdbdebugger/gui/gui.pro
Normal file
11
tests/manual/gdbdebugger/gui/gui.pro
Normal file
@@ -0,0 +1,11 @@
|
||||
######################################################################
|
||||
# Automatically generated by qmake (2.01a) Fri Mar 5 09:08:08 2010
|
||||
######################################################################
|
||||
|
||||
TARGET = gui
|
||||
CONFIG+=console
|
||||
TEMPLATE = app
|
||||
SOURCES += main.cpp \
|
||||
mainwindow.cpp
|
||||
HEADERS += mainwindow.h
|
||||
FORMS += mainwindow.ui
|
||||
41
tests/manual/gdbdebugger/gui/main.cpp
Normal file
41
tests/manual/gdbdebugger/gui/main.cpp
Normal file
@@ -0,0 +1,41 @@
|
||||
/**************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** Commercial Usage
|
||||
**
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://qt.nokia.com/contact.
|
||||
**
|
||||
**************************************************************************/
|
||||
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtDebug>
|
||||
#include "mainwindow.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
qDebug() << "pid=" << QApplication::applicationPid();
|
||||
Foo::MainWindow w;
|
||||
w.show();
|
||||
return a.exec();
|
||||
}
|
||||
346
tests/manual/gdbdebugger/gui/mainwindow.cpp
Normal file
346
tests/manual/gdbdebugger/gui/mainwindow.cpp
Normal file
@@ -0,0 +1,346 @@
|
||||
/**************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** Commercial Usage
|
||||
**
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://qt.nokia.com/contact.
|
||||
**
|
||||
**************************************************************************/
|
||||
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include <QDateTime>
|
||||
#define _USE_MATH_DEFINES
|
||||
#include <math.h>
|
||||
#include <QDebug>
|
||||
#include <QThread>
|
||||
#include <string>
|
||||
#include <list>
|
||||
#include <set>
|
||||
#include <QLibrary>
|
||||
#include <QLibraryInfo>
|
||||
#include <QFileInfo>
|
||||
#include <QSharedPointer>
|
||||
#include <QDir>
|
||||
#include <QLinkedList>
|
||||
#include <QStandardItemModel>
|
||||
|
||||
struct TestClass {
|
||||
TestClass();
|
||||
|
||||
int m_i;
|
||||
float m_f;
|
||||
};
|
||||
|
||||
TestClass::TestClass() :
|
||||
m_i(1),
|
||||
m_f(M_E)
|
||||
{
|
||||
}
|
||||
|
||||
namespace Foo {
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent), ui(new Ui::MainWindowClass),
|
||||
m_w(-42), m_wc("Hallo"), m_wqs("quallo"),
|
||||
m_thread1(0),m_thread2(0),m_fastThread(0)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
terminateThread();
|
||||
}
|
||||
|
||||
void MainWindow::simpleBP(int inc, const QString &inx)
|
||||
{
|
||||
int array[2] = {1,2};
|
||||
m_w++;
|
||||
QString x = "h\"allo";
|
||||
QString *xp = &x;
|
||||
qDebug() << inc << inx << *xp;
|
||||
}
|
||||
|
||||
void MainWindow::on_actionDialog_triggered()
|
||||
{
|
||||
complexBP(0, "ahh");
|
||||
}
|
||||
|
||||
void MainWindow::complexBP(int *inc, QString inx)
|
||||
{
|
||||
m_w++;
|
||||
const char *cc = "hallo";
|
||||
|
||||
const char *np = 0;
|
||||
|
||||
char c = 'c';
|
||||
unsigned char uc = 'u';
|
||||
short s = 5;
|
||||
unsigned short us = 56;
|
||||
|
||||
int i = 5;
|
||||
int *ip = &i;
|
||||
const int * const ipc = &i;
|
||||
unsigned int ui = 56;
|
||||
|
||||
long l = 5;
|
||||
unsigned long ul = 55;
|
||||
|
||||
qint64 i64 = 54354;
|
||||
quint64 iu64 = 54354;
|
||||
|
||||
float r = M_PI;
|
||||
double d = M_PI;
|
||||
|
||||
QString x = "Hallo ";
|
||||
x += QDateTime::currentDateTime().toString();
|
||||
|
||||
const QString &xr = x;
|
||||
|
||||
std::string stdString = "SHallo";
|
||||
std::list<std::string> stdList;
|
||||
stdList.push_back(stdString);
|
||||
|
||||
std::list<int> intList;
|
||||
intList.push_back(1);
|
||||
intList.push_back(2);
|
||||
|
||||
TestClass tc;
|
||||
++i;
|
||||
qDebug() << i;
|
||||
++i;
|
||||
qDebug() << i;
|
||||
|
||||
QFileInfo dir(QDir::tempPath());
|
||||
|
||||
QDebug nsp = qDebug().nospace();
|
||||
for (int j = 0; j < 80; j++) {
|
||||
nsp << 'x';
|
||||
}
|
||||
|
||||
QStringList sl;
|
||||
sl << "one" << "two" << "three";
|
||||
|
||||
QList<int> qintList;
|
||||
qintList << 4 << 6;
|
||||
|
||||
qDebug() << inc << inx << dir.absoluteFilePath();
|
||||
//statusBar()->showMessage(x);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionCrash_triggered()
|
||||
{
|
||||
|
||||
QString h = "Hallo";
|
||||
// fsdfd
|
||||
QString *s = 0;
|
||||
qDebug() << *s;
|
||||
}
|
||||
|
||||
void MainWindow::on_actionSimpleBP_triggered()
|
||||
{
|
||||
simpleBP(42, "Hallo");
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionIncr_watch_triggered()
|
||||
{
|
||||
m_w++;
|
||||
}
|
||||
|
||||
class MyThread : public QThread {
|
||||
public:
|
||||
MyThread(int base, QObject *parent) : QThread(parent), m_base(base) {}
|
||||
|
||||
void run();
|
||||
private:
|
||||
int m_base;
|
||||
};
|
||||
|
||||
void MyThread::run()
|
||||
{
|
||||
QString x;
|
||||
const int end = m_base + 20;
|
||||
for (int i = m_base; i < end; i++) {
|
||||
qDebug() << "L" << currentThreadId() << i << '/' << end;
|
||||
QThread::msleep(100);
|
||||
if (i < 10) {
|
||||
x += QString::number(i);
|
||||
qDebug() << "lt 10";
|
||||
x += ',';
|
||||
}
|
||||
}
|
||||
qDebug() << "Terminating" << currentThreadId();
|
||||
}
|
||||
|
||||
class MyFastThread : public QThread {
|
||||
public:
|
||||
MyFastThread(QObject *parent) : QThread(parent) {}
|
||||
void run() { qDebug() << "Done" << currentThreadId(); }
|
||||
};
|
||||
|
||||
|
||||
void MainWindow::terminateThread()
|
||||
{
|
||||
if (m_thread1 && m_thread1->isRunning())
|
||||
m_thread1->terminate();
|
||||
if (m_thread2 && m_thread2->isRunning())
|
||||
m_thread2->terminate();
|
||||
}
|
||||
void MainWindow::on_actionThread_triggered()
|
||||
{
|
||||
if (!m_fastThread)
|
||||
m_fastThread = new MyFastThread(this);
|
||||
m_fastThread->start();
|
||||
if (!m_thread1)
|
||||
m_thread1 = new MyThread(0, this);
|
||||
if (!m_thread1->isRunning())
|
||||
m_thread1->start();
|
||||
if (!m_thread2)
|
||||
m_thread2 = new MyThread(20, this);
|
||||
if (!m_thread2->isRunning())
|
||||
m_thread2->start();
|
||||
}
|
||||
|
||||
void MainWindow::on_actionException_triggered()
|
||||
{
|
||||
try {
|
||||
throw (5) ;
|
||||
} catch(int e) {
|
||||
qDebug() << "caught "<< e;
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_actionUncaughtException_triggered()
|
||||
{
|
||||
throw QString("eeh!") ;
|
||||
}
|
||||
|
||||
void MainWindow::on_actionDumperBP_triggered()
|
||||
{
|
||||
m_w++;
|
||||
std::string stdS;
|
||||
std::list<int> sil;
|
||||
QList<int> il;
|
||||
std::list<std::string> stdStringList;
|
||||
std::list<std::wstring> stdWStringList;
|
||||
QStringList sl;
|
||||
QString s = "hallo";
|
||||
for (int c = 'a'; c < 'c'; c++) {
|
||||
s += c + 23;
|
||||
stdS += c;
|
||||
sl.push_back(s);
|
||||
stdStringList.push_back(std::string(1, c));
|
||||
stdWStringList.push_back(std::wstring(1, c));
|
||||
il.push_back(c);
|
||||
sil.push_back(c);
|
||||
qDebug() << s;
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_actionExtTypes_triggered()
|
||||
{
|
||||
QVariant v1(QLatin1String("hallo"));
|
||||
QVariant v2(QStringList(QLatin1String("hallo")));
|
||||
QVector<QString> vec;
|
||||
vec.push_back("Hallo");
|
||||
vec.push_back("Hallo2");
|
||||
std::set<std::string> stdSet;
|
||||
stdSet.insert("s1");
|
||||
QWidget *ww = this;
|
||||
QWidget &wwr = *ww;
|
||||
QSharedPointer<QString> sps(new QString("hallo"));
|
||||
QList<QSharedPointer<QString> > spsl;
|
||||
spsl.push_back(sps);
|
||||
QMap<QString,QString> stringmap;
|
||||
QMap<int,int> intmap;
|
||||
std::map<std::string, std::string> stdstringmap;
|
||||
stdstringmap[std::string("A")] = std::string("B");
|
||||
int hidden = 45;
|
||||
|
||||
if (1 == 1 ) {
|
||||
int hidden = 7;
|
||||
qDebug() << hidden;
|
||||
}
|
||||
|
||||
QLinkedList<QString> lls;
|
||||
lls << "link1" << "link2";
|
||||
QStandardItemModel *model =new QStandardItemModel;
|
||||
model->appendRow(new QStandardItem("i1"));
|
||||
|
||||
QList <QList<int> > nestedIntList;
|
||||
nestedIntList << QList<int>();
|
||||
nestedIntList.front() << 1 << 2;
|
||||
|
||||
QVariantList vList;
|
||||
vList.push_back(QVariant(42));
|
||||
vList.push_back(QVariant("HALLO"));
|
||||
|
||||
|
||||
stringmap.insert("A", "B");
|
||||
intmap.insert(3,4);
|
||||
QSet<QString> stringSet;
|
||||
stringSet.insert("S1");
|
||||
stringSet.insert("S2");
|
||||
qDebug() << *(spsl.front()) << hidden;
|
||||
}
|
||||
|
||||
void MainWindow::on_actionForeach_triggered()
|
||||
{
|
||||
QStringList sl;
|
||||
sl << "1" << "2" << "3";
|
||||
foreach(const QString &s, sl)
|
||||
qDebug() << s;
|
||||
sl.clear();
|
||||
qDebug() << sl;
|
||||
}
|
||||
|
||||
void MainWindow::on_actionAssert_triggered()
|
||||
{
|
||||
Q_ASSERT(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foo::MainWindow::on_actionScopes_triggered()
|
||||
{
|
||||
int x = 0;
|
||||
if (x == 0) {
|
||||
int x = 1;
|
||||
} else {
|
||||
int x = 2;
|
||||
}
|
||||
qDebug() << x;
|
||||
}
|
||||
|
||||
void Foo::MainWindow::on_actionLongString_triggered()
|
||||
{
|
||||
QString incr = QString::fromLatin1("0123456789").repeated(4);
|
||||
QString s = incr;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
s += incr;
|
||||
qDebug() <<s;
|
||||
}
|
||||
}
|
||||
79
tests/manual/gdbdebugger/gui/mainwindow.h
Normal file
79
tests/manual/gdbdebugger/gui/mainwindow.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/**************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** Commercial Usage
|
||||
**
|
||||
** Licensees holding valid Qt Commercial licenses may use this file in
|
||||
** accordance with the Qt Commercial License Agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Nokia.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at http://qt.nokia.com/contact.
|
||||
**
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
class QThread;
|
||||
|
||||
namespace Ui{
|
||||
class MainWindowClass;
|
||||
}
|
||||
|
||||
namespace Foo {
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
MainWindow(QWidget *parent = 0);
|
||||
~MainWindow();
|
||||
|
||||
private:
|
||||
Ui::MainWindowClass *ui;
|
||||
void simpleBP(int c, const QString &x);
|
||||
void complexBP(int *c, QString x);
|
||||
|
||||
private slots:
|
||||
void on_actionLongString_triggered();
|
||||
void on_actionScopes_triggered();
|
||||
void on_actionAssert_triggered();
|
||||
void on_actionForeach_triggered();
|
||||
void on_actionExtTypes_triggered();
|
||||
void on_actionDumperBP_triggered();
|
||||
void on_actionUncaughtException_triggered();
|
||||
void on_actionException_triggered();
|
||||
void on_actionThread_triggered();
|
||||
void on_actionIncr_watch_triggered();
|
||||
void on_actionDialog_triggered();
|
||||
void on_actionCrash_triggered();
|
||||
void on_actionSimpleBP_triggered();
|
||||
|
||||
private:
|
||||
void terminateThread();
|
||||
int m_w;
|
||||
const char *m_wc;
|
||||
QString m_wqs;
|
||||
QThread *m_thread1, *m_thread2;
|
||||
QThread *m_fastThread;
|
||||
};
|
||||
|
||||
}
|
||||
#endif // MAINWINDOW_H
|
||||
191
tests/manual/gdbdebugger/gui/mainwindow.ui
Normal file
191
tests/manual/gdbdebugger/gui/mainwindow.ui
Normal file
@@ -0,0 +1,191 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>MainWindowClass</class>
|
||||
<widget class="QMainWindow" name="MainWindowClass">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>400</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>MainWindow</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralWidget"/>
|
||||
<widget class="QMenuBar" name="menuBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>600</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
<property name="title">
|
||||
<string>File</string>
|
||||
</property>
|
||||
<addaction name="actionExit"/>
|
||||
<addaction name="actionDialog"/>
|
||||
<addaction name="actionCrash"/>
|
||||
</widget>
|
||||
<addaction name="menuFile"/>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="mainToolBar">
|
||||
<attribute name="toolBarArea">
|
||||
<enum>LeftToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<addaction name="actionException"/>
|
||||
<addaction name="actionThread"/>
|
||||
<addaction name="actionForeach"/>
|
||||
<addaction name="actionAssert"/>
|
||||
<addaction name="actionScopes"/>
|
||||
<addaction name="actionLongString"/>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusBar"/>
|
||||
<widget class="QToolBar" name="toolBar">
|
||||
<property name="windowTitle">
|
||||
<string>toolBar</string>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<addaction name="actionDialog"/>
|
||||
<addaction name="actionExit"/>
|
||||
<addaction name="actionCrash"/>
|
||||
<addaction name="actionSimpleBP"/>
|
||||
<addaction name="actionExtTypes"/>
|
||||
<addaction name="actionIncr_watch"/>
|
||||
<addaction name="actionUncaughtException"/>
|
||||
<addaction name="actionDumperBP"/>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="toolBar_2">
|
||||
<property name="windowTitle">
|
||||
<string>toolBar_2</string>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>LeftToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
<action name="actionExit">
|
||||
<property name="text">
|
||||
<string>Exit</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+Q</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDialog">
|
||||
<property name="text">
|
||||
<string>Test</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionCrash">
|
||||
<property name="text">
|
||||
<string>Crash</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSimpleBP">
|
||||
<property name="text">
|
||||
<string>simpleBP</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionIncr_watch">
|
||||
<property name="text">
|
||||
<string>incr watch</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionThread">
|
||||
<property name="text">
|
||||
<string>thread</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionException">
|
||||
<property name="text">
|
||||
<string>exception</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionUncaughtException">
|
||||
<property name="text">
|
||||
<string>uncaughtException</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDumperBP">
|
||||
<property name="text">
|
||||
<string>dumperBP</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionExtTypes">
|
||||
<property name="text">
|
||||
<string>extTypes</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionForeach">
|
||||
<property name="text">
|
||||
<string>foreach</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionAssert">
|
||||
<property name="text">
|
||||
<string>assert</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionScopes">
|
||||
<property name="text">
|
||||
<string>scopes</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionLongString">
|
||||
<property name="text">
|
||||
<string>LongString</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>actionExit</sender>
|
||||
<signal>triggered()</signal>
|
||||
<receiver>MainWindowClass</receiver>
|
||||
<slot>close()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>-1</x>
|
||||
<y>-1</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>299</x>
|
||||
<y>199</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>MainWindowClass</sender>
|
||||
<signal>iconSizeChanged(QSize)</signal>
|
||||
<receiver>MainWindowClass</receiver>
|
||||
<slot>hide()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>75</x>
|
||||
<y>146</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>259</x>
|
||||
<y>266</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
Reference in New Issue
Block a user