aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/macextras/macextras.pro3
-rw-r--r--examples/macextras/mactoolbar/mactoolbar.pro5
-rw-r--r--examples/macextras/mactoolbar/mactoolbar.qrc5
-rw-r--r--examples/macextras/mactoolbar/main.cpp53
-rw-r--r--examples/macextras/mactoolbar/qtlogo.pngbin0 -> 1478 bytes
-rw-r--r--examples/macextras/mactoolbar/rasterwindow.cpp87
-rw-r--r--examples/macextras/mactoolbar/rasterwindow.h59
-rw-r--r--examples/macextras/mactoolbar/toolbarcontrollerwindow.cpp81
-rw-r--r--examples/macextras/mactoolbar/toolbarcontrollerwindow.h57
9 files changed, 349 insertions, 1 deletions
diff --git a/examples/macextras/macextras.pro b/examples/macextras/macextras.pro
index 8fe1d13..a9c135d 100644
--- a/examples/macextras/macextras.pro
+++ b/examples/macextras/macextras.pro
@@ -2,4 +2,5 @@ TEMPLATE = subdirs
mac:SUBDIRS = macfunctions
mac:!ios:SUBDIRS += embeddedqwindow \
- macpasteboardmime
+ macpasteboardmime \
+ mactoolbar
diff --git a/examples/macextras/mactoolbar/mactoolbar.pro b/examples/macextras/mactoolbar/mactoolbar.pro
new file mode 100644
index 0000000..88d5cde
--- /dev/null
+++ b/examples/macextras/mactoolbar/mactoolbar.pro
@@ -0,0 +1,5 @@
+QT += macextras
+
+HEADERS += toolbarcontrollerwindow.h rasterwindow.h
+SOURCES += toolbarcontrollerwindow.cpp rasterwindow.cpp main.cpp
+RESOURCES += mactoolbar.qrc
diff --git a/examples/macextras/mactoolbar/mactoolbar.qrc b/examples/macextras/mactoolbar/mactoolbar.qrc
new file mode 100644
index 0000000..04a9419
--- /dev/null
+++ b/examples/macextras/mactoolbar/mactoolbar.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/">
+ <file>qtlogo.png</file>
+ </qresource>
+</RCC>
diff --git a/examples/macextras/mactoolbar/main.cpp b/examples/macextras/mactoolbar/main.cpp
new file mode 100644
index 0000000..460e9ed
--- /dev/null
+++ b/examples/macextras/mactoolbar/main.cpp
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtMacExtras module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "toolbarcontrollerwindow.h"
+
+#include <QtGui/QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+
+ ToolBarControllerWindow toolbarControllerWindow;
+ toolbarControllerWindow.show();
+
+ return app.exec();
+}
diff --git a/examples/macextras/mactoolbar/qtlogo.png b/examples/macextras/mactoolbar/qtlogo.png
new file mode 100644
index 0000000..d75936b
--- /dev/null
+++ b/examples/macextras/mactoolbar/qtlogo.png
Binary files differ
diff --git a/examples/macextras/mactoolbar/rasterwindow.cpp b/examples/macextras/mactoolbar/rasterwindow.cpp
new file mode 100644
index 0000000..88abad9
--- /dev/null
+++ b/examples/macextras/mactoolbar/rasterwindow.cpp
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtMacExtras module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "rasterwindow.h"
+
+RasterWindow::RasterWindow(QWindow *parent)
+ : QWindow(parent)
+{
+ m_backingStore = new QBackingStore(this);
+ create();
+
+ setGeometry(100, 100, 300, 200);
+}
+
+void RasterWindow::setText(const QString &text)
+{
+ m_text = text;
+ renderNow();
+}
+
+void RasterWindow::exposeEvent(QExposeEvent *)
+{
+ if (isExposed()) {
+ m_backingStore->resize(size());
+ renderNow();
+ }
+}
+
+void RasterWindow::renderNow()
+{
+ if (!isExposed())
+ return;
+
+ QRect rect(0, 0, width(), height());
+ m_backingStore->beginPaint(rect);
+
+ QPaintDevice *device = m_backingStore->paintDevice();
+ QPainter painter(device);
+
+ painter.fillRect(0, 0, width(), height(), Qt::white);
+ render(&painter);
+
+ m_backingStore->endPaint();
+ m_backingStore->flush(rect);
+}
+
+void RasterWindow::render(QPainter *painter)
+{
+ painter->drawText(QRectF(0, 0, width(), height()), Qt::AlignCenter, m_text);
+} \ No newline at end of file
diff --git a/examples/macextras/mactoolbar/rasterwindow.h b/examples/macextras/mactoolbar/rasterwindow.h
new file mode 100644
index 0000000..35f7d23
--- /dev/null
+++ b/examples/macextras/mactoolbar/rasterwindow.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtMacExtras module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+class RasterWindow : public QWindow
+{
+ Q_OBJECT
+public:
+ explicit RasterWindow(QWindow *parent = 0);
+
+ void setText(const QString &text);
+public slots:
+ void renderNow();
+protected:
+ virtual void render(QPainter *painter);
+ void exposeEvent(QExposeEvent *event);
+
+private:
+ QBackingStore *m_backingStore;
+ QString m_text;
+}; \ No newline at end of file
diff --git a/examples/macextras/mactoolbar/toolbarcontrollerwindow.cpp b/examples/macextras/mactoolbar/toolbarcontrollerwindow.cpp
new file mode 100644
index 0000000..4aa76fb
--- /dev/null
+++ b/examples/macextras/mactoolbar/toolbarcontrollerwindow.cpp
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtMacExtras module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "toolbarcontrollerwindow.h"
+
+ToolBarControllerWindow::ToolBarControllerWindow()
+ :RasterWindow(0)
+{
+ setTitle("QMacToolBar Example");
+ RasterWindow::setText("QMacToolBar Example");
+ resize(400, 200);
+
+ QMacToolBar *toolBar = new QMacToolBar(this);
+
+ QIcon qtIcon(QStringLiteral(":qtlogo.png"));
+
+ // add Items
+ QMacToolBarItem *item1 = toolBar->addItem(qtIcon, QStringLiteral("Foo 1"));
+ connect(item1, SIGNAL(activated()), this, SLOT(activated()));
+ QMacToolBarItem *item2 = toolBar->addItem(qtIcon, QStringLiteral("Bar 1"));
+ connect(item2, SIGNAL(activated()), this, SLOT(activated()));
+
+ toolBar->addSeparator();
+
+ QMacToolBarItem *item3 = toolBar->addItem(qtIcon, QStringLiteral("Foo 2"));
+ connect(item3, SIGNAL(activated()), this, SLOT(activated()));
+ QMacToolBarItem *item4 = toolBar->addItem(qtIcon, QStringLiteral("Bar 2"));
+ connect(item4, SIGNAL(activated()), this, SLOT(activated()));
+
+ // add allowed items for the customization menu.
+ QMacToolBarItem *item5 = toolBar->addAllowedItem(qtIcon, QStringLiteral("AllowedFoo"));
+ connect(item5, SIGNAL(activated()), this, SLOT(activated()));
+ QMacToolBarItem *item6 = toolBar->addAllowedItem(qtIcon, QStringLiteral("AllowedBar"));
+ connect(item6, SIGNAL(activated()), this, SLOT(activated()));
+
+ // Attach to the window
+ toolBar->attachToWindow(this);
+}
+
+void ToolBarControllerWindow::activated()
+{
+ QMacToolBarItem *item = static_cast<QMacToolBarItem *>(sender());
+ setText(QStringLiteral("Activated ") + item->text());
+}
diff --git a/examples/macextras/mactoolbar/toolbarcontrollerwindow.h b/examples/macextras/mactoolbar/toolbarcontrollerwindow.h
new file mode 100644
index 0000000..b7251d2
--- /dev/null
+++ b/examples/macextras/mactoolbar/toolbarcontrollerwindow.h
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtMacExtras module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/qdebug.h>
+#include <QtGui/QWindow>
+#include <QMacToolBar>
+
+#include "rasterwindow.h"
+
+class ToolBarControllerWindow : public RasterWindow
+{
+Q_OBJECT
+public:
+ ToolBarControllerWindow();
+public Q_SLOTS:
+ void activated();
+private:
+
+};
+