def __init__(self, plt, width=640, height=480, depth=24, title='', hw_render_mode='opengl'): # create the GUI: self.plt = plt self.width = width self.height = height self.master = plt._master self.root = Tkinter.Toplevel(self.master) self.root.title(title) self.root.protocol("WM_DELETE_WINDOW", self.close) self.root.bind("<KeyPress-q>", self.close) self.root.minsize(200, 200) self.root.geometry('%sx%s' % (width,height)) self.root.withdraw() self.frame = Tkinter.Frame(self.root, relief='sunken', bd=2) self.frame.pack(side='top', fill='both', expand=1) #button = Tkinter.Button(self.root, text="Quit", command=self.close) #button.pack() # start DX: cmd = DX.DXEXEC + ' -execonly -hwrender opengl' self.conn = DX.DXLStartDX(cmd, None) #DX.DXLLoadMacroDirectory(self.conn, DXMACROS) # hack for loading necessary macro files: DX.exDXLLoadScript(self.conn, os.path.join(DXMACROS, "ArrangeMemberMacro.net")) DX.exDXLLoadScript(self.conn, os.path.join(DXMACROS, "CappedIsoMacro.net")) self.script = ''
def test_dx(): import DX import Tkinter import tempfile DXMACROS = '/usr/share/dx/samples/macros' DXMACROS = os.environ.get('DXMACROS', DXMACROS) master = Tkinter.Tk() master.withdraw() root = Tkinter.Toplevel(master) root.title("Hello OpenDX!") def close_window(event=None): root.withdraw() root.protocol("WM_DELETE_WINDOW", close_window) root.bind("<KeyPress-q>", close_window) root.geometry('320x240') root.withdraw() frame = Tkinter.Frame(root, relief='sunken', bd=2) frame.pack(side='top', fill='both', expand=1) # start DX: cmd = DX.DXEXEC + ' -execonly -hwrender opengl' conn = DX.DXLStartDX(cmd, None) #DX.DXLLoadMacroDirectory(self.conn, DXMACROS) # hack for loading necessary macro files: DX.exDXLLoadScript(conn, os.path.join(DXMACROS, "ArrangeMemberMacro.net")) DX.exDXLLoadScript(conn, os.path.join(DXMACROS, "CappedIsoMacro.net")) root.deiconify() root.update() DX.DXLExecuteOnChange(conn) DX.WaitForDXIdle(conn)
def __init__(self, plt, width=640, height=480, depth=24, title='', hw_render_mode='opengl'): # create the GUI: self.plt = plt self.width = width self.height = height self.master = plt._master self.root = tkinter.Toplevel(self.master) self.root.title(title) self.root.protocol("WM_DELETE_WINDOW", self.close) self.root.bind("<KeyPress-q>", self.close) self.root.minsize(200, 200) self.root.geometry('%sx%s' % (width, height)) self.root.withdraw() self.frame = tkinter.Frame(self.root, relief='sunken', bd=2) self.frame.pack(side='top', fill='both', expand=1) #button = Tkinter.Button(self.root, text="Quit", command=self.close) # button.pack() # start DX: cmd = DX.DXEXEC + ' -execonly -hwrender opengl' self.conn = DX.DXLStartDX(cmd, None) #DX.DXLLoadMacroDirectory(self.conn, DXMACROS) # hack for loading necessary macro files: DX.exDXLLoadScript(self.conn, os.path.join(DXMACROS, "ArrangeMemberMacro.net")) DX.exDXLLoadScript(self.conn, os.path.join(DXMACROS, "CappedIsoMacro.net")) self.script = ''
def send(self, cmd): if not isinstance(cmd, str): raise ValueError('DX command must be string, not %s' \ % type(cmd)) self.script += cmd + '\n' if not cmd.startswith('//'): # don't send comments to DX DX.DXLSend(self.conn, cmd)
def test_dx(): import DX import Tkinter import tempfile DXMACROS = '/usr/share/dx/samples/macros' DXMACROS = os.environ.get('DXMACROS', DXMACROS) master = Tkinter.Tk() master.withdraw() root = Tkinter.Toplevel(master) root.title("Hello OpenDX!") def close_window(event=None): root.withdraw() root.protocol("WM_DELETE_WINDOW", close_window) root.bind("<KeyPress-q>", close_window) root.geometry('320x240') root.withdraw() frame = Tkinter.Frame(root, relief='sunken', bd=2) frame.pack(side='top', fill='both', expand=1) # start DX: cmd = DX.DXEXEC + ' -execonly -hwrender opengl' conn = DX.DXLStartDX(cmd, None) #DX.DXLLoadMacroDirectory(self.conn, DXMACROS) # hack for loading necessary macro files: DX.exDXLLoadScript(conn, os.path.join(DXMACROS, "ArrangeMemberMacro.net")) DX.exDXLLoadScript(conn, os.path.join(DXMACROS, "CappedIsoMacro.net")) root.deiconify() root.update() DX.DXLExecuteOnChange(conn) DX.WaitForDXIdle(conn)
def exit(self): self.root.destroy() DX.WaitForDXIdle(self.conn) DX.DXLExitDX(self.conn)
def display(self, show=True): if show: self.root.deiconify() self.root.update() DX.DXLExecuteOnChange(self.conn) DX.WaitForDXIdle(self.conn)
def reset(self): self.script = '' DX.DXLEndExecuteOnChange(self.conn) DX.DXLSync(self.conn)