aboutsummaryrefslogtreecommitdiffstats
path: root/doc/codesnippets/doc/src/snippets/signalmapper
diff options
context:
space:
mode:
Diffstat (limited to 'doc/codesnippets/doc/src/snippets/signalmapper')
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/accountsfile.txt1
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/filereader.cpp59
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/filereader.h28
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/main.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/reportfile.txt2
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/signalmapper.pro12
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/taxfile.txt1
7 files changed, 116 insertions, 0 deletions
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/accountsfile.txt b/doc/codesnippets/doc/src/snippets/signalmapper/accountsfile.txt
new file mode 100644
index 000000000..2ec5ffbc1
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/accountsfile.txt
@@ -0,0 +1 @@
+1 + 1 = 2
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/filereader.cpp b/doc/codesnippets/doc/src/snippets/signalmapper/filereader.cpp
new file mode 100644
index 000000000..8732dab34
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/filereader.cpp
@@ -0,0 +1,59 @@
+#include <QtGui>
+#include "filereader.h"
+
+
+FileReader::FileReader(QWidget *parent)
+ : QWidget(parent)
+{
+ textEdit = new QTextEdit;
+
+ taxFileButton = new QPushButton("Tax File");
+ accountFileButton = new QPushButton("Accounts File");
+ reportFileButton = new QPushButton("Report File");
+
+//! [0]
+ signalMapper = new QSignalMapper(this);
+ signalMapper->setMapping(taxFileButton, QString("taxfile.txt"));
+ signalMapper->setMapping(accountFileButton, QString("accountsfile.txt"));
+ signalMapper->setMapping(reportFileButton, QString("reportfile.txt"));
+
+ connect(taxFileButton, SIGNAL(clicked()),
+ signalMapper, SLOT (map()));
+ connect(accountFileButton, SIGNAL(clicked()),
+ signalMapper, SLOT (map()));
+ connect(reportFileButton, SIGNAL(clicked()),
+ signalMapper, SLOT (map()));
+//! [0]
+
+//! [1]
+ connect(signalMapper, SIGNAL(mapped(const QString &)),
+ this, SLOT(readFile(const QString &)));
+//! [1]
+
+ QHBoxLayout *buttonLayout = new QHBoxLayout;
+ buttonLayout->addWidget(taxFileButton);
+ buttonLayout->addWidget(accountFileButton);
+ buttonLayout->addWidget(reportFileButton);
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(textEdit);
+ mainLayout->addLayout(buttonLayout);
+
+ setLayout(mainLayout);
+}
+
+void FileReader::readFile(const QString &filename)
+{
+ QFile file(filename);
+
+ if (!file.open(QIODevice::ReadOnly)) {
+ QMessageBox::information(this, tr("Unable to open file"),
+ file.errorString());
+ return;
+ }
+
+
+ QTextStream in(&file);
+ textEdit->setPlainText(in.readAll());
+}
+
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/filereader.h b/doc/codesnippets/doc/src/snippets/signalmapper/filereader.h
new file mode 100644
index 000000000..a3be08829
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/filereader.h
@@ -0,0 +1,28 @@
+#ifndef FILEREADER_H
+#define FILEREADER_H
+
+#include <QTextEdit>
+#include <QPushButton>
+#include <QSignalMapper>
+
+class FileReader : public QWidget
+{
+ Q_OBJECT
+
+public:
+ FileReader(QWidget *parent=0);
+ void readFromFile(QString filename);
+
+public slots:
+ void readFile(const QString &);
+
+private:
+ QTextEdit *textEdit;
+ QPushButton *taxFileButton;
+ QPushButton *accountFileButton;
+ QPushButton *reportFileButton;
+ QSignalMapper *signalMapper;
+};
+
+#endif
+
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/main.cpp b/doc/codesnippets/doc/src/snippets/signalmapper/main.cpp
new file mode 100644
index 000000000..ebc601b7b
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/main.cpp
@@ -0,0 +1,13 @@
+#include <QtGui>
+#include "filereader.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+
+ FileReader *reader = new FileReader;
+ reader->show();
+
+ return app.exec();
+}
+
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/reportfile.txt b/doc/codesnippets/doc/src/snippets/signalmapper/reportfile.txt
new file mode 100644
index 000000000..30123cc60
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/reportfile.txt
@@ -0,0 +1,2 @@
+Tax this year = 50%
+Total profit = 2
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/signalmapper.pro b/doc/codesnippets/doc/src/snippets/signalmapper/signalmapper.pro
new file mode 100644
index 000000000..9a9d66955
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/signalmapper.pro
@@ -0,0 +1,12 @@
+######################################################################
+# Automatically generated by qmake (2.01a) Wed Jul 2 14:50:56 2008
+######################################################################
+
+TEMPLATE = app
+TARGET =
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+HEADERS += filereader.h
+SOURCES += filereader.cpp main.cpp
diff --git a/doc/codesnippets/doc/src/snippets/signalmapper/taxfile.txt b/doc/codesnippets/doc/src/snippets/signalmapper/taxfile.txt
new file mode 100644
index 000000000..a682e0aaa
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/signalmapper/taxfile.txt
@@ -0,0 +1 @@
+Tax this year = 50%