Skip to content

Instantly share code, notes, and snippets.

@jmercouris
Created October 27, 2017 16:28
Show Gist options
  • Save jmercouris/959fafbbe3f032e3cd012288a51f61d2 to your computer and use it in GitHub Desktop.
Save jmercouris/959fafbbe3f032e3cd012288a51f61d2 to your computer and use it in GitHub Desktop.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(eval-when (:compile-toplevel :load-toplevel :execute)
(require "COCOA"))
(eval-when (:compile-toplevel :load-toplevel :execute)
(require :demo-packages)
(require :window-utils)
(require :window-controller)
(require :text-views)
(require :constraint-layout))
(in-package :hello)
(defparameter *win* nil)
(defclass key-table-view (ns:ns-table-view)
()
(:metaclass ns:+ns-object))
(objc:defmethod (#/keyDown: :void) ((self key-table-view) event)
(let* ((code (#/keyCode event)))
(if (and (>= (#/selectedRow self) 0)
(= code 36)) ; return key
(#/sendAction:to:from: *NSApp* (#/doubleAction self) (#/target self) self)
(call-next-method event))))
(defmethod make-hello-window ((lc lisp-window-controller))
(let* ((hello-label (make-label-view))
(win (make-instance 'ns:ns-window
:title "Hello World"
:resizable t
:content-subviews (list hello-label))))
(setf *win* win)
(values win (list win hello-label))))
(defun make-label-view ()
(let ((view
(make-instance 'label-view
:title "Hello World")))
(constrain-to-natural-size view)
view))
(defun hello ()
(let ((wc (make-instance 'lisp-window-controller
:build-method #'make-hello-window)))
(show-window wc)
wc))
(provide :hello)
(print "load finished")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Repl when loading
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
class_addIvar failed
[Condition of type SIMPLE-ERROR]
Restarts:
0: [RETRY-LOAD] Retry loading #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/iu-classes"
1: [SKIP-LOAD] Skip loading #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/iu-classes"
2: [LOAD-OTHER] Load other file instead of #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/iu-classes"
3: [RETRY-LOAD] Retry loading #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/ns-object-utils"
4: [SKIP-LOAD] Skip loading #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/ns-object-utils"
5: [LOAD-OTHER] Load other file instead of #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/ns-object-utils"
--more--
Backtrace:
0: (#<STANDARD-METHOD (SETF CLASS-DIRECT-SLOTS) :BEFORE (T OBJC:OBJC-CLASS)> (#<STANDARD-DIRECT-SLOT-DEFINITION for instance slot INTERFACE-UTILITIES::DOCUMENT-CLASS #x3020029CAB3D> ..)) #<OBJC:OBJC-CLAS..
1: (CCL::%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE (NIL #<STANDARD-METHOD (SETF CLASS-DIRECT-SLOTS) :BEFORE (T OBJC:OBJC-CLASS)> . 77033433))
2: (CCL::%%STANDARD-COMBINED-METHOD-DCODE ((#<STANDARD-METHOD (SETF CLASS-DIRECT-SLOTS) :BEFORE (T OBJC:OBJC-CLASS)>) NIL #<STANDARD-WRITER-METHOD (SETF CLASS-DIRECT-SLOTS) (T CLASS)>) 77033433)
3: (NIL #<Unknown Arguments>)
4: (#<CCL::STANDARD-KERNEL-METHOD CCL::ENSURE-CLASS-INITIALIZED (CCL::SLOTS-CLASS)> #<OBJC:OBJC-CLASS INTERFACE-UTILITIES:LISP-DOC-CONTROLLER (#x1D1B3E0)> :DIRECT-SUPERCLASSES (#<OBJC:OBJC-CLASS NS:NS-OB..
5: (CCL::%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE (NIL #<CCL::STANDARD-KERNEL-METHOD REINITIALIZE-INSTANCE :AFTER (CCL::SLOTS-CLASS)> . 77033476))
6: (CCL::%%STANDARD-COMBINED-METHOD-DCODE (NIL (#<CCL::STANDARD-KERNEL-METHOD REINITIALIZE-INSTANCE :AFTER (CCL::SLOTS-CLASS)>) #<STANDARD-METHOD REINITIALIZE-INSTANCE (OBJC:OBJC-OBJECT)>) 77033476)
7: (NIL #<Unknown Arguments>)
8: (#<STANDARD-METHOD ENSURE-CLASS-USING-CLASS (OBJC:OBJC-CLASS T)> #<OBJC:OBJC-CLASS INTERFACE-UTILITIES:LISP-DOC-CONTROLLER (#x1D1B3E0)> INTERFACE-UTILITIES:LISP-DOC-CONTROLLER :DIRECT-SUPERCLASSES (NS..
9: (CCL::ENSURE-CLASS-FOR-DEFCLASS INTERFACE-UTILITIES:LISP-DOC-CONTROLLER :DIRECT-SUPERCLASSES (NS:NS-OBJECT) :DIRECT-SLOTS ((:NAME INTERFACE-UTILITIES::DOCUMENT-CLASS :INITFORM NIL :INITFUNCTION ..))))..
10: (CCL::CALL-CHECK-REGS CCL::ENSURE-CLASS-FOR-DEFCLASS INTERFACE-UTILITIES:LISP-DOC-CONTROLLER :DIRECT-SUPERCLASSES (NS:NS-OBJECT) :DIRECT-SLOTS ((:NAME INTERFACE-UTILITIES::DOCUMENT-CLASS ..)))) :METAC..
11: ((:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM))
12: (CCL::CALL-WITH-COMPILATION-UNIT #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM) #x24CDA8AF> :OVERRIDE NIL)
13: (CCL::LOAD-FROM-STREAM #<BASIC-FILE-CHARACTER-INPUT-STREAM ("/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/iu-classes.lisp"/39 UTF-8) #x302002995CED> NIL)
14: (CCL::%LOAD #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/iu-classes.lisp" NIL NIL :ERROR :DEFAULT NIL)
15: (LOAD #P"/Users/jmercouris/Projects/Next/archive/CocoaInterface/Utilities/iu-classes" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT :PRESERVE-OPTIMIZATION-SETTINGS NIL)
16: (CCL::MODULE-PROVIDE-SEARCH-PATH :IU-CLASSES)
17: (CCL::SOME-XX-ONE 0 NIL #<COMPILED-LEXICAL-CLOSURE (:INTERNAL REQUIRE) #x24CDAC5F> (ASDF/OPERATE:MODULE-PROVIDE-ASDF CCL::MODULE-PROVIDE-SEARCH-PATH))
18: (REQUIRE :IU-CLASSES NIL)
19: (CCL::CALL-CHECK-REGS REQUIRE :IU-CLASSES)
--more--
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment