added the condition property for buttons
This commit is contained in:
parent
9a0563d8ff
commit
b3aa77b416
2 changed files with 6 additions and 1 deletions
|
@ -10,7 +10,7 @@ The `global` section can be used to define general styling. this includes:
|
||||||
|
|
||||||
`background`: hex color
|
`background`: hex color
|
||||||
`foreground`: hex color
|
`foreground`: hex color
|
||||||
`highlight`: hex color (color on hover)
|
`highlight`: hex color, color on hover
|
||||||
`padding_x`: integer
|
`padding_x`: integer
|
||||||
`padding_y`: integer
|
`padding_y`: integer
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ All components have the following properties:
|
||||||
Buttons are defined in a section that starts with `button:`, and perform an action when clicked. They're also highlighted on hover. They have the following extra properties:
|
Buttons are defined in a section that starts with `button:`, and perform an action when clicked. They're also highlighted on hover. They have the following extra properties:
|
||||||
|
|
||||||
`command`: the shell command to run on click
|
`command`: the shell command to run on click
|
||||||
|
`condition`: an evaluated expression that returns "true" if the button should be enabled.
|
||||||
|
|
||||||
#### Label
|
#### Label
|
||||||
|
|
||||||
|
|
|
@ -94,6 +94,10 @@ def make_button(name: str):
|
||||||
)
|
)
|
||||||
if 'font' in spec:
|
if 'font' in spec:
|
||||||
button.configure(font = font(spec['font']))
|
button.configure(font = font(spec['font']))
|
||||||
|
if 'condition' in spec:
|
||||||
|
state = beval(spec['condition']);
|
||||||
|
if state.lower() != "true":
|
||||||
|
button['state'] = 'disabled'
|
||||||
components.append(button)
|
components.append(button)
|
||||||
|
|
||||||
def make_label(name: str):
|
def make_label(name: str):
|
||||||
|
|
Loading…
Reference in a new issue