examples/QtQuick/phoneutil/qml/phoneutil/ProgressBar.qml

00001 /****************************************************************************
00002 **
00003 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
00004 ** All rights reserved.
00005 ** Contact: Nokia Corporation
00006 **
00007 **
00008 ** $QT_BEGIN_LICENSE:BSD$
00009 ** You may use this file under the terms of the BSD license as follows:
00010 **
00011 ** "Redistribution and use in source and binary forms, with or without
00012 ** modification, are permitted provided that the following conditions are
00013 ** met:
00014 **   * Redistributions of source code must retain the above copyright
00015 **     notice, this list of conditions and the following disclaimer.
00016 **   * Redistributions in binary form must reproduce the above copyright
00017 **     notice, this list of conditions and the following disclaimer in
00018 **     the documentation and/or other materials provided with the
00019 **     distribution.
00020 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
00021 **     the names of its contributors may be used to endorse or promote
00022 **     products derived from this software without specific prior written
00023 **     permission.
00024 **
00025 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00026 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00027 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
00028 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00029 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00030 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00031 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00032 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00033 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00034 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00035 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
00036 ** $QT_END_LICENSE$
00037 **
00038 ****************************************************************************/
00039 
00040 
00041 import QtQuick 1.0
00042 
00043 Item {
00044     id: progressbar
00045 
00046     property int minimum: 0
00047     property int maximum: 100
00048     property int value: 0
00049     property alias color: gradient1.color
00050     property alias secondColor: gradient2.color
00051 
00052     width: 250; height: 23
00053     clip: true
00054 
00055     BorderImage {
00056         source: "images/background.png"
00057         width: parent.width; height: parent.height
00058         border { left: 4; top: 4; right: 4; bottom: 4 }
00059     }
00060 
00061     Rectangle {
00062         id: highlight
00063 
00064         property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
00065 
00066         width: highlight.widthDest
00067         Behavior on width { SmoothedAnimation { velocity: 1200 } }
00068 
00069         anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
00070         radius: 1
00071         gradient: Gradient {
00072             GradientStop { id: gradient1; position: 0.0 }
00073             GradientStop { id: gradient2; position: 1.0 }
00074         }
00075 
00076     }
00077     Text {
00078         anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
00079         color: "white"
00080         font.bold: true
00081         text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
00082         horizontalAlignment: Text.AlignHCenter
00083     }
00084 }

Generated by  doxygen 1.6.2