def _Window2(title=_argv0, fraction=0.5): '''Create the main NS window and the drawable NS view. ''' frame = NSScreen.alloc().init().mainScreen().frame() if 0.1 < fraction < 1.0: # use the lower left quarter of the screen size as frame w = int(frame.size.width * fraction + 0.5) h = int(frame.size.height * w / frame.size.width) frame = NSRect4_t(frame.origin.x + 10, frame.origin.y + 10, w, h) window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_( frame, NSWindowStyleMaskUsual, # PYCHOK expected NSBackingStoreBuffered, False) # or 0 window.setTitle_(NSStr(title)) # create the drawable_nsobject NSView for vlc.py, see vlc.MediaPlayer.set_nsobject() # for an alternate NSView object with protocol VLCOpenGLVideoViewEmbedding # <https://StackOverflow.com/questions/11562587/create-nsview-directly-from-code> # <https://GitHub.com/ariabuckles/pyobjc-framework-Cocoa/blob/master/Examples/AppKit/DotView/DotView.py> view = NSView.alloc().initWithFrame_(frame) window.setContentView_(view) # force the video/window aspect ratio, adjusted # above when the window is/has been resized window.setContentAspectRatio_(frame.size) window.makeKeyAndOrderFront_(None) return window, view
def create_window(title=''): frame = NSMakeRect(10, 100, 500, 100) window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_( frame, NSWindowStyleMaskUsual, NSBackingStoreBuffered, 0) window.setTitle_(NSStr(title)) window.makeKeyAndOrderFront_(None) return window
def main(timeout=None): # Create a new application instance ... app = NSApplication.sharedApplication() # ... and create its delgate. Note the use of the # Objective C constructors below, because Delegate # is a subclass of an Objective C class, NSObject delegate = _Delegate.alloc().init(app) # Tell the application which delegate object to use. app.setDelegate_(delegate) # Now we can can start to create the window ... frame = NSMakeRect(10, 10, 600, 300) # (Don't worry about these parameters for the moment. They just # specify the type of window, its size and position etc) window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_( frame, NSWindowStyleMaskUsual, NSBackingStoreBuffered, False) # or 0 # tell it which delegate object to use (here it happens # to be the same delegate as the application is using), # otherwise method .windowWillClose_ will not be called window.setDelegate_(delegate) # set some properties. Unicode strings are preferred. window.setTitle_(NSStr('Delegated - Close window to Quit')) # All set. Now we can show the window window.orderFrontRegardless() # set up the timeout if timeout is not None: try: # PyCocoa/test from test import terminating terminating(app, timeout) except ImportError: pass # ... and start the application app.run() # .runEventLoop()
def run_window(): app = NSApplication.sharedApplication() # pool = NSAutoreleasePool.alloc().init() # PYCHOK expected window = NSWindow.alloc() window.initWithContentRect_styleMask_backing_defer_( NSRect4_t(100, 100, 300, 300), NSWindowStyleMaskUsual, NSBackingStoreBuffered, False) window.setTitle_(NSStr("Class Window")) window.makeKeyAndOrderFront_(None) app.run()
def main(timeout=None): app = NSApplication.sharedApplication() frame = NSMakeRect(10, 10, 500, 400) window = NSWindow.alloc().initWithContentRect_styleMask_backing_defer_( frame, NSWindowStyleMaskUsual, NSBackingStoreBuffered, False) window.setTitle_(NSStr('Drawing - Close window to Quit')) view = _View.alloc().initWithFrame_(frame, 10) window.setContentView_(view) delegate = _Delegate.alloc().init(app) window.setDelegate_(delegate) window.display() window.orderFrontRegardless() # set up the timeout terminating(app, timeout) app.run()