787 lines
17 KiB
Python
787 lines
17 KiB
Python
|
"""
|
||
|
|
||
|
License:
|
||
|
This collection of code named GS CurveTools is a property of George Sladkovsky (Yehor Sladkovskyi)
|
||
|
and can not be copied or distributed without his written permission.
|
||
|
|
||
|
GS CurveTools v1.3.1 Studio
|
||
|
Copyright 2023, George Sladkovsky (Yehor Sladkovskyi)
|
||
|
All Rights Reserved
|
||
|
|
||
|
Autodesk Maya is a property of Autodesk, Inc.
|
||
|
|
||
|
Social Media and Contact Links:
|
||
|
|
||
|
Discord Server: https://discord.gg/f4DH6HQ
|
||
|
Online Store: https://sladkovsky3d.artstation.com/store
|
||
|
Online Documentation: https://gs-curvetools.readthedocs.io/
|
||
|
Twitch Channel: https://www.twitch.tv/videonomad
|
||
|
YouTube Channel: https://www.youtube.com/c/GeorgeSladkovsky
|
||
|
ArtStation Portfolio: https://www.artstation.com/sladkovsky3d
|
||
|
Contact Email: george.sladkovsky@gmail.com
|
||
|
|
||
|
"""
|
||
|
|
||
|
import math
|
||
|
from imp import reload
|
||
|
|
||
|
import maya.cmds as mc
|
||
|
|
||
|
from . import utils
|
||
|
|
||
|
reload(utils)
|
||
|
|
||
|
# Scaling
|
||
|
|
||
|
MULT = 1
|
||
|
if mc.about(mac=True):
|
||
|
MULT = 1
|
||
|
else:
|
||
|
MULT = mc.mayaDpiSetting(q=1, rsv=1)
|
||
|
# mult = 1
|
||
|
|
||
|
|
||
|
def scale(a):
|
||
|
# types (int\float) -> (float)
|
||
|
if isinstance(a, list):
|
||
|
return [i * MULT for i in a]
|
||
|
else:
|
||
|
return a * MULT
|
||
|
|
||
|
|
||
|
# Fonts
|
||
|
NORMAL_FONT = 11 * MULT
|
||
|
SMALL_FONT = 10 * MULT
|
||
|
|
||
|
# Normal Button
|
||
|
BUTTON_HEIGHT = 24 * MULT
|
||
|
BORDER_RADIUS = 4 * MULT
|
||
|
BORDER_WIDTH = 2 * MULT
|
||
|
BACKGROUND_COLOR = 'rgb(93,93,93)'
|
||
|
PRESSED_BACKGROUND_COLOR = 'rgb(128,128,128)'
|
||
|
HOVER_BACKGROUND_COLOR = 'rgb(100,100,100)'
|
||
|
|
||
|
# Active Button (Orange)
|
||
|
ORANGE = 'rgb(219,148,86)'
|
||
|
ORANGE_HOVER = 'rgb(225,155,90)'
|
||
|
ORANGE_PRESSED = 'rgb(235,170,105)'
|
||
|
|
||
|
# Active Button (Blue)
|
||
|
BLUE = 'rgb(82,133,166)'
|
||
|
BLUE_HOVER = 'rgb(95,145,185)'
|
||
|
|
||
|
# Active Button (White)
|
||
|
BORDER_WIDTH_WHITE = 2 * MULT
|
||
|
|
||
|
# Small Button
|
||
|
SMALL_BORDER_RADIUS = 4 * MULT
|
||
|
SMALL_BORDER_WIDTH = 1 * MULT
|
||
|
SMALL_BORDER_COLOR = 'rgb(93,93,93)'
|
||
|
SMALL_BACKGROUND_COLOR = 'rgba(93,93,93,0)'
|
||
|
SMALL_PRESSED_COLOR = 'rgba(128,128,128,255)'
|
||
|
SMALL_HOVER_COLOR = 'rgb(100,100,100)'
|
||
|
|
||
|
# Layer/Set Button
|
||
|
LAYER_BOTTOM_PADDING = 1 * MULT
|
||
|
LAYER_BORDER_RADIUS = 4 * MULT
|
||
|
LAYER_HEIGHT = 16 * MULT
|
||
|
LAYER_BORDER_WIDTH = 1 * MULT
|
||
|
|
||
|
# Images/Icons
|
||
|
DROP_DOWN_ARROW_IMAGE = utils.getFolder.icons() + 'drop-down-arrow.png'
|
||
|
|
||
|
### Regular Buttons ###
|
||
|
|
||
|
buttonNormal = '''
|
||
|
QPushButton {{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br};
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
}}
|
||
|
QPushButton:pressed {{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked {{
|
||
|
background-color: {ac_bg_clr};
|
||
|
}}
|
||
|
QPushButton:hover {{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(BORDER_RADIUS),
|
||
|
h=int(BUTTON_HEIGHT),
|
||
|
bg_clr=str(BACKGROUND_COLOR),
|
||
|
pr_bg_clr=str(PRESSED_BACKGROUND_COLOR),
|
||
|
h_bg_clr=str(HOVER_BACKGROUND_COLOR),
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
buttonNormalBlueBorder = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br};
|
||
|
border-color: {borderBlue};
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
padding: -{bw}px;
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: {ac_bg_clr};
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(BORDER_RADIUS),
|
||
|
h=int(BUTTON_HEIGHT),
|
||
|
bw=int(BORDER_WIDTH),
|
||
|
bg_clr=str(BACKGROUND_COLOR),
|
||
|
pr_bg_clr=str(PRESSED_BACKGROUND_COLOR),
|
||
|
h_bg_clr=str(HOVER_BACKGROUND_COLOR),
|
||
|
borderBlue=str(BLUE),
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
buttonIcon = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: none;
|
||
|
border-radius: {br}px;
|
||
|
border:none;
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: none;
|
||
|
border:none;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(BORDER_RADIUS / 2),
|
||
|
h=int(BUTTON_HEIGHT),
|
||
|
bg_clr=str(BACKGROUND_COLOR),
|
||
|
pr_bg_clr=str(PRESSED_BACKGROUND_COLOR),
|
||
|
h_bg_clr=str(HOVER_BACKGROUND_COLOR),
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
buttonActiveOrange = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br}px;
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(BORDER_RADIUS),
|
||
|
h=int(BUTTON_HEIGHT),
|
||
|
bg_clr=ORANGE,
|
||
|
pr_bg_clr=str(ORANGE_PRESSED),
|
||
|
h_bg_clr=str(ORANGE_HOVER),
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
buttonActiveBlue = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br}px;
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(BORDER_RADIUS),
|
||
|
h=int(BUTTON_HEIGHT),
|
||
|
bg_clr=BLUE,
|
||
|
pr_bg_clr=str(PRESSED_BACKGROUND_COLOR),
|
||
|
h_bg_clr=str(HOVER_BACKGROUND_COLOR),
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
buttonActiveWhite = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br}px;
|
||
|
border-width: {bw}px;
|
||
|
border-color: white;
|
||
|
border-style: solid;
|
||
|
padding: -{bw}px;
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(BORDER_RADIUS),
|
||
|
h=int(BUTTON_HEIGHT),
|
||
|
bw=int(BORDER_WIDTH_WHITE),
|
||
|
bg_clr=ORANGE,
|
||
|
pr_bg_clr=str(PRESSED_BACKGROUND_COLOR))
|
||
|
|
||
|
frameButton = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
border-top-left-radius: {br}px;
|
||
|
border-top-right-radius: {br}px;
|
||
|
border-bottom-left-radius: 0px;
|
||
|
border-bottom-right-radius: 0px;
|
||
|
}}
|
||
|
QPushButton:disabled
|
||
|
{{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=4 * MULT,
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
frameButtonNotCollapsable = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
border-top-left-radius: {br}px;
|
||
|
border-top-right-radius: {br}px;
|
||
|
border-bottom-left-radius: 0px;
|
||
|
border-bottom-right-radius: 0px;
|
||
|
}}
|
||
|
'''.format(br=4 * MULT,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=BACKGROUND_COLOR)
|
||
|
|
||
|
smallNormal = '''
|
||
|
QPushButton {{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed {{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked {{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled {{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked {{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover {{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked:hover {{
|
||
|
background-color: {h_bg_checked_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=SMALL_BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
h_bg_checked_clr=BLUE_HOVER,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
smallFilled = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled
|
||
|
{{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
smallFilledBlue = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled
|
||
|
{{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=BLUE,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=BLUE,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=BLUE_HOVER,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
smallNoBorder = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: 0px;
|
||
|
border-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
color: rgb(255,0,0)
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled
|
||
|
{{
|
||
|
color: rgb(255,0,0);
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=SMALL_BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
sliderLabel = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: 0px;
|
||
|
border-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
color: rgb(255,0,0)
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled
|
||
|
{{
|
||
|
color: rgb(255,0,0);
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=SMALL_BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
### Compound Buttons ###
|
||
|
|
||
|
smallCompoundTopLeft = '''
|
||
|
QPushButton {{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-top-left-radius: {br}px;
|
||
|
border-top-right-radius: 0px;
|
||
|
border-bottom-left-radius: 0px;
|
||
|
border-bottom-right-radius: 0px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed {{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked {{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled {{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked {{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover {{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked:hover {{
|
||
|
background-color: {h_bg_checked_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=SMALL_BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
h_bg_checked_clr=BLUE_HOVER,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
smallCompoundTopRight = '''
|
||
|
QPushButton {{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-top-left-radius: 0px;
|
||
|
border-top-right-radius: {br}px;
|
||
|
border-bottom-left-radius: 0px;
|
||
|
border-bottom-right-radius: 0px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed {{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked {{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled {{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked {{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover {{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked:hover {{
|
||
|
background-color: {h_bg_checked_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=SMALL_BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
h_bg_checked_clr=BLUE_HOVER,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
smallFilledCompoundBottom = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-width: {bw}px;
|
||
|
border-top-left-radius: 0px;
|
||
|
border-top-right-radius: 0px;
|
||
|
border-bottom-left-radius: {br}px;
|
||
|
border-bottom-right-radius: {br}px;
|
||
|
border-color: {br_clr};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
background-color: {pr_bg_clr};
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: {ac_bg_clr};
|
||
|
border-color: lightgrey;
|
||
|
border-style: solid;
|
||
|
border-width: {bw}px;
|
||
|
}}
|
||
|
QPushButton:disabled
|
||
|
{{
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:disabled:checked
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-style: none;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
background-color: {h_bg_clr};
|
||
|
}}
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
bg_clr=BACKGROUND_COLOR,
|
||
|
pr_bg_clr=SMALL_PRESSED_COLOR,
|
||
|
h_bg_clr=SMALL_HOVER_COLOR,
|
||
|
ac_bg_clr=BLUE)
|
||
|
|
||
|
### Layer Button ###
|
||
|
|
||
|
|
||
|
def layer(background_color='rbga(0,0,0,0)', outline='rgb(93,93,93)'):
|
||
|
|
||
|
styleSheet = '''
|
||
|
QPushButton
|
||
|
{{
|
||
|
background-color: {bg};
|
||
|
border-width: {bw}px;
|
||
|
border-color: {bc};
|
||
|
border-style: solid;
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
padding: -{bw}px;
|
||
|
}}
|
||
|
QPushButton:hover
|
||
|
{{
|
||
|
border-width: {bw}px;
|
||
|
border-color: {bc_hover};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:pressed
|
||
|
{{
|
||
|
border-width: {bw}px;
|
||
|
border-color: {bc_checked};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
QPushButton:checked
|
||
|
{{
|
||
|
background-color: {bg};
|
||
|
border-width: {bw}px;
|
||
|
border-color: {bc_checked};
|
||
|
border-radius: {radius};
|
||
|
border-style: solid;
|
||
|
min-height: {h}px;
|
||
|
max-height: {h}px;
|
||
|
padding: -{bw}px;
|
||
|
}}
|
||
|
QPushButton:checked:hover
|
||
|
{{
|
||
|
border-width: {bw}px;
|
||
|
border-color: {bc_checked};
|
||
|
border-style: solid;
|
||
|
}}
|
||
|
'''.format(bw=math.ceil(LAYER_BORDER_WIDTH),
|
||
|
h=math.ceil(LAYER_HEIGHT),
|
||
|
bg=background_color,
|
||
|
bc=outline,
|
||
|
bc_hover=ORANGE,
|
||
|
radius=BORDER_RADIUS,
|
||
|
bc_checked='white')
|
||
|
|
||
|
return styleSheet
|
||
|
|
||
|
### Labels ###
|
||
|
|
||
|
|
||
|
subDLabel = '''
|
||
|
QLabel
|
||
|
{{
|
||
|
color : {orange};
|
||
|
}}
|
||
|
'''.format(orange=ORANGE)
|
||
|
|
||
|
layerLabel = '''
|
||
|
QLabel
|
||
|
{{
|
||
|
font: {weight} {f_size}px;
|
||
|
padding-bottom: {p}px;
|
||
|
}}
|
||
|
'''.format(f_size=int(NORMAL_FONT),
|
||
|
weight='bold',
|
||
|
p=int(LAYER_BOTTOM_PADDING))
|
||
|
|
||
|
### Input Fields ###
|
||
|
|
||
|
inputField = '''
|
||
|
QSpinBox
|
||
|
{
|
||
|
border-style: solid;
|
||
|
border-radius: 4px;
|
||
|
}
|
||
|
'''
|
||
|
|
||
|
### Combo Box ###
|
||
|
|
||
|
smallComboBox = '''
|
||
|
QComboBox
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br}px;
|
||
|
}}
|
||
|
QComboBox:hover
|
||
|
{{
|
||
|
background-color: {bc_hover};
|
||
|
}}
|
||
|
QComboBox:on
|
||
|
{{
|
||
|
border-top-left-radius: {br}px;
|
||
|
border-top-right-radius: {br}px;
|
||
|
border-bottom-left-radius: 0px;
|
||
|
border-bottom-right-radius: 0px;
|
||
|
}}
|
||
|
QComboBox::drop-down
|
||
|
{{
|
||
|
background-color: {bg_clr};
|
||
|
border-radius: {br}px;
|
||
|
width: {drop_down_width};
|
||
|
}}
|
||
|
QComboBox::down-arrow
|
||
|
{{
|
||
|
image: url("{path}");
|
||
|
width: {icon_size}px;
|
||
|
height: {icon_size}px;
|
||
|
}}
|
||
|
'''.format(br=int(SMALL_BORDER_RADIUS),
|
||
|
br_clr=SMALL_BORDER_COLOR,
|
||
|
bg_clr=BACKGROUND_COLOR,
|
||
|
bw=int(SMALL_BORDER_WIDTH),
|
||
|
path=DROP_DOWN_ARROW_IMAGE,
|
||
|
icon_size=int(scale(8)),
|
||
|
bc_hover=HOVER_BACKGROUND_COLOR,
|
||
|
drop_down_width=int(scale(16)))
|