pouya
10 months ago
18 changed files with 156 additions and 20 deletions
@ -0,0 +1,18 @@ |
|||
import QtQuick 2.13 |
|||
import "./SepantaUiKit/SKBtn" |
|||
|
|||
Item { |
|||
anchors.fill: parent |
|||
Grid { |
|||
spacing: 20 |
|||
anchors.margins: 20 |
|||
anchors.fill: parent |
|||
SKBtn { |
|||
text: "Enable" |
|||
} |
|||
SKBtn { |
|||
text: "Disable" |
|||
isEnable: false |
|||
} |
|||
} |
|||
} |
@ -1,40 +1,42 @@ |
|||
import QtQuick 2.15 |
|||
pragma Singleton |
|||
|
|||
import QtQuick 2.13 |
|||
|
|||
Item { |
|||
property font h1: Qt.font({ |
|||
"family": 'Roboto', |
|||
"weight": Font.Normal, |
|||
"italic": false, |
|||
"pointSize": 40 |
|||
"pixelSize": 40 |
|||
}) |
|||
property font h2: Qt.font({ |
|||
"family": 'Roboto', |
|||
"weight": Font.Medium, |
|||
"italic": false, |
|||
"pointSize": 20 |
|||
"pixelSize": 20 |
|||
}) |
|||
property font h3: Qt.font({ |
|||
"family": 'Roboto', |
|||
"weight": Font.Bold, |
|||
"italic": false, |
|||
"pointSize": 16 |
|||
"pixelSize": 16 |
|||
}) |
|||
property font h4: Qt.font({ |
|||
"family": 'Roboto', |
|||
"weight": Font.DemiBold, |
|||
"italic": false, |
|||
"pointSize": 16 |
|||
"pixelSize": 16 |
|||
}) |
|||
property font h5: Qt.font({ |
|||
"family": 'Roboto', |
|||
"weight": Font.Normal, |
|||
"italic": false, |
|||
"pointSize": 16 |
|||
"pixelSize": 16 |
|||
}) |
|||
property font h6: Qt.font({ |
|||
"family": 'Roboto', |
|||
"weight": Font.Normal, |
|||
"italic": false, |
|||
"pointSize": 12 |
|||
"pixelSize": 12 |
|||
}) |
|||
} |
|||
|
@ -1,5 +1,87 @@ |
|||
import QtQuick 2.15 |
|||
import QtQuick 2.13 |
|||
import QtQml 2.13 |
|||
import "qrc:/SepantaUiKit" |
|||
|
|||
Item { |
|||
id: root |
|||
width: 140 |
|||
height: 50 |
|||
property bool isEnable: true |
|||
onIsEnableChanged: enableHandle() |
|||
function enableHandle() { |
|||
if (isEnable) { |
|||
stateOfComponent = Setting.Enable |
|||
} else { |
|||
stateOfComponent = Setting.Disabel |
|||
} |
|||
} |
|||
|
|||
property var stateOfComponent: Setting.Enable |
|||
onStateOfComponentChanged: stateChanged() |
|||
property alias text: idText.text |
|||
Rectangle { |
|||
id: idBackGround |
|||
anchors.fill: parent |
|||
radius: Setting.radius |
|||
|
|||
Text { |
|||
id: idText |
|||
anchors.fill: parent |
|||
horizontalAlignment: Text.AlignHCenter |
|||
verticalAlignment: Text.AlignVCenter |
|||
color: Colors.balck |
|||
font: Fonts.h3 |
|||
Component.onCompleted: console.log(JSON.stringify(idText.fontInfo)) |
|||
} |
|||
Behavior on color { |
|||
ColorAnimation { |
|||
duration: Setting.animationDuration |
|||
} |
|||
} |
|||
} |
|||
MouseArea { |
|||
anchors.fill: parent |
|||
hoverEnabled: true |
|||
onHoveredChanged: { |
|||
if (isEnable) { |
|||
if (containsMouse) { |
|||
stateOfComponent = Setting.Hoverd |
|||
} else { |
|||
stateOfComponent = Setting.Enable |
|||
} |
|||
} |
|||
} |
|||
onPressed: { |
|||
if (isEnable) { |
|||
stateOfComponent = Setting.Pressed |
|||
} |
|||
} |
|||
onReleased: { |
|||
if (isEnable) { |
|||
stateOfComponent = Setting.Enable |
|||
} |
|||
} |
|||
} |
|||
|
|||
function stateChanged() { |
|||
switch (stateOfComponent) { |
|||
case Setting.Enable: |
|||
idBackGround.color = Colors.primaryEnable |
|||
break |
|||
case Setting.Pressed: |
|||
idBackGround.color = Colors.primaryPressed |
|||
break |
|||
case Setting.Hoverd: |
|||
idBackGround.color = Qt.lighter(Colors.primaryEnable, 1.07) |
|||
break |
|||
case Setting.Disabel: |
|||
idBackGround.color = Qt.darker(Colors.primaryEnable, 4) |
|||
break |
|||
} |
|||
} |
|||
|
|||
Component.onCompleted: { |
|||
enableHandle() |
|||
stateChanged() |
|||
} |
|||
} |
|||
|
@ -0,0 +1,17 @@ |
|||
pragma Singleton |
|||
|
|||
import QtQuick 2.13 |
|||
|
|||
Item { |
|||
property int radius: 25 |
|||
property real disableOpacity: 0.25 |
|||
property real hoverOpacity: 0.20 |
|||
property int animationDuration: 200 |
|||
|
|||
enum State { |
|||
Enable, |
|||
Pressed, |
|||
Hoverd, |
|||
Disabel |
|||
} |
|||
} |
@ -0,0 +1,5 @@ |
|||
import QtQuick 2.13 |
|||
|
|||
Item { |
|||
|
|||
} |
@ -0,0 +1,3 @@ |
|||
singleton Colors 1.0 Colors.qml |
|||
singleton Fonts 1.0 Fonts.qml |
|||
singleton Setting 1.0 Setting.qml |
Loading…
Reference in new issue