43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
from pymol.wizard import Wizard
|
|
from pymol import cmd
|
|
import pymol
|
|
import types
|
|
|
|
class Toggle(Wizard):
|
|
|
|
def __init__(self, *arg, _self=cmd):
|
|
self.message = []
|
|
for a in arg:
|
|
if not isinstance(a,list):
|
|
self.message.append(a)
|
|
else:
|
|
self.message.extend(a)
|
|
for a in self.message:
|
|
print(a)
|
|
self.message_visible = 1
|
|
|
|
def toggle(self):
|
|
self.message_visible = not self.message_visible
|
|
cmd.refresh_wizard()
|
|
|
|
def get_prompt(self):
|
|
if self.message_visible:
|
|
self.prompt = self.message
|
|
else:
|
|
self.prompt = None
|
|
return self.prompt
|
|
|
|
def get_panel(self):
|
|
panel = [
|
|
[ 2, 'Toggle Fullscreen',
|
|
'cmd.full_screen()'],
|
|
[ 2, 'Toggle Stereo 3D',
|
|
'cmd.stereo("off" if cmd.get_setting_int("stereo") else "on")'],
|
|
[ 2, 'Toggle Message',
|
|
'cmd.get_wizard().toggle()'],
|
|
[ 2, 'Dismiss', 'cmd.set_wizard()' ]
|
|
]
|
|
if len(self.message)==0:
|
|
del panel[2]
|
|
return panel
|