aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/customitems/painteditem
diff options
context:
space:
mode:
authorCristian Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2021-02-05 10:07:19 +0100
committerCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2021-02-09 07:43:07 +0000
commit33743aeb2be37d166bcc3291a98dd22026871cef (patch)
treecd45b08ef2a8c80e5e250e1050a41d8ece6fa199 /examples/quick/customitems/painteditem
parentad01b159e02067ba46d6433412cb1e690553e946 (diff)
examples: directory structure
When generating the gallery automatically, the structure of the examples was not the same for all the modules. This reorganization was made under the following assumption: An example requires: - its own directory, - a '.pyproject' file, - one or more '.py' files, - extra files (likes images, .rc, .ui, etc) Even for cases when subdirectories are made to depict categories, like 'widgets/state-machine/...', one directory is required per example. There should not be '.pyproject' files for categories, except for the general 'examples.pyproject' to open all of them. Task-number: PYSIDE-1490 Pick-to: 6.0 Change-Id: Ie690773c816a248016dbebaad90fbb1d1c2aeea5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'examples/quick/customitems/painteditem')
-rw-r--r--examples/quick/customitems/painteditem/main.qml114
-rw-r--r--examples/quick/customitems/painteditem/painteditem.py106
-rw-r--r--examples/quick/customitems/painteditem/painteditem.pyproject3
3 files changed, 0 insertions, 223 deletions
diff --git a/examples/quick/customitems/painteditem/main.qml b/examples/quick/customitems/painteditem/main.qml
deleted file mode 100644
index d3404cad6..000000000
--- a/examples/quick/customitems/painteditem/main.qml
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt for Python examples 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 The Qt Company Ltd 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$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import TextBalloonPlugin 1.0
-
-Item {
- height: 480
- width: 320
-
- //! [0]
- ListModel {
- id: balloonModel
- ListElement {
- balloonWidth: 200
- }
- ListElement {
- balloonWidth: 120
- }
- }
-
- ListView {
- anchors.bottom: controls.top
- anchors.bottomMargin: 2
- anchors.top: parent.top
- id: balloonView
- delegate: TextBalloon {
- anchors.right: index % 2 == 0 ? undefined : parent.right
- height: 60
- rightAligned: index % 2 == 0 ? false : true
- width: balloonWidth
- }
- model: balloonModel
- spacing: 5
- width: parent.width
- }
- //! [0]
-
- //! [1]
- Rectangle {
- id: controls
-
- anchors.bottom: parent.bottom
- anchors.left: parent.left
- anchors.margins: 1
- anchors.right: parent.right
- border.width: 2
- color: "white"
- height: parent.height * 0.15
-
- Text {
- anchors.centerIn: parent
- text: "Add another balloon"
- }
-
- MouseArea {
- anchors.fill: parent
- hoverEnabled: true
- onClicked: {
- balloonModel.append({
- "balloonWidth": Math.floor(
- Math.random(
- ) * 200 + 100)
- })
- balloonView.positionViewAtIndex(balloonView.count - 1,
- ListView.End)
- }
- onEntered: {
- parent.color = "#8ac953"
- }
- onExited: {
- parent.color = "white"
- }
- }
- }
- //! [1]
-}
diff --git a/examples/quick/customitems/painteditem/painteditem.py b/examples/quick/customitems/painteditem/painteditem.py
deleted file mode 100644
index 5476bdbaf..000000000
--- a/examples/quick/customitems/painteditem/painteditem.py
+++ /dev/null
@@ -1,106 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2020 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the Qt for Python examples 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 The Qt Company Ltd 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$
-##
-#############################################################################
-
-import sys
-
-from PySide6.QtGui import QPainter, QBrush, QColor
-from PySide6.QtWidgets import QApplication
-from PySide6.QtQml import qmlRegisterType
-from PySide6.QtCore import QUrl, Property, Signal, Qt, QPointF
-from PySide6.QtQuick import QQuickPaintedItem, QQuickView
-
-
-class TextBalloon(QQuickPaintedItem):
-
- rightAlignedChanged = Signal()
-
- def __init__(self, parent=None):
- self._rightAligned = False
- super().__init__(parent)
-
- @Property(bool, notify=rightAlignedChanged)
- def rightAligned(self):
- return self._rightAligned
-
- @rightAligned.setter
- def rightAlignedSet(self, value):
- self._rightAligned = value
- self.rightAlignedChanged.emit()
-
- def paint(self, painter: QPainter):
-
- brush = QBrush(QColor("#007430"))
-
- painter.setBrush(brush)
- painter.setPen(Qt.NoPen)
- painter.setRenderHint(QPainter.Antialiasing)
-
- itemSize = self.size()
-
- painter.drawRoundedRect(0, 0, itemSize.width(), itemSize.height() - 10, 10, 10)
-
- if self.rightAligned:
- points = [
- QPointF(itemSize.width() - 10.0, itemSize.height() - 10.0),
- QPointF(itemSize.width() - 20.0, itemSize.height()),
- QPointF(itemSize.width() - 30.0, itemSize.height() - 10.0),
- ]
- else:
- points = [
- QPointF(10.0, itemSize.height() - 10.0),
- QPointF(20.0, itemSize.height()),
- QPointF(30.0, itemSize.height() - 10.0),
- ]
- painter.drawConvexPolygon(points)
-
-
-if __name__ == "__main__":
-
- app = QApplication(sys.argv)
- view = QQuickView()
- view.setResizeMode(QQuickView.SizeRootObjectToView)
- qmlRegisterType(TextBalloon, "TextBalloonPlugin", 1, 0, "TextBalloon")
- view.setSource(QUrl.fromLocalFile("main.qml"))
-
- if view.status() == QQuickView.Error:
- sys.exit(-1)
- view.show()
-
- sys.exit(app.exec_())
diff --git a/examples/quick/customitems/painteditem/painteditem.pyproject b/examples/quick/customitems/painteditem/painteditem.pyproject
deleted file mode 100644
index 0c70ebe59..000000000
--- a/examples/quick/customitems/painteditem/painteditem.pyproject
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "files": ["main.qml", "painteditem.pyproject"]
-}