Add get-notebook-name slot in ein:worksheet

This commit is contained in:
Takafumi Arakaki 2012-08-28 18:00:07 +02:00
parent 1bf5bfd0da
commit e93801f101
4 changed files with 14 additions and 5 deletions

View file

@ -243,6 +243,9 @@ will be updated with kernel's cwd."
(defalias 'ein:notebook-name 'ein:$notebook-notebook-name)
(defun ein:notebook-name-getter (notebook)
(cons #'ein:notebook-name notebook))
;;; Open notebook
@ -450,6 +453,7 @@ This is equivalent to do ``C-c`` in the console program."
&optional (func #'ein:worksheet-new))
(funcall func notebook
(ein:$notebook-nbformat notebook)
(ein:notebook-name-getter notebook)
(ein:$notebook-kernel notebook)
(ein:$notebook-events notebook)))

View file

@ -30,6 +30,8 @@
(require 'ein-core)
(require 'ein-events)
;; FIXME: Make a class with `:get-notebook-name' slot like `ein:worksheet'
(defun ein:pager-new (name events)
;; currently pager = name.
(ein:pager-bind-events name events)

View file

@ -37,9 +37,10 @@
:documentation
"Worksheet without needs for saving.")
(defun ein:scratchsheet-new (notebook nbformat kernel events &rest args)
(defun ein:scratchsheet-new (notebook nbformat get-notebook-name
kernel events &rest args)
(apply #'make-instance 'ein:scratchsheet
:nbformat nbformat
:nbformat nbformat :get-notebook-name get-notebook-name
:notebook notebook :kernel kernel :events events
args))

View file

@ -86,6 +86,7 @@ this value."
(;; Recursive reference to notebook... but needs notebook name here.
(notebook :initarg :notebook :type ein:$notebook)
(nbformat :initarg :nbformat :type integer)
(get-notebook-name :initarg :get-notebook-name :type cons)
(data :initarg :data)
(ewoc :initarg :ewoc :type ewoc)
(kernel :initarg :kernel :type ein:$kernel)
@ -100,9 +101,10 @@ this value."
;;; Initialization of object and buffer
(defun ein:worksheet-new (notebook nbformat kernel events &rest args)
(defun ein:worksheet-new (notebook nbformat get-notebook-name
kernel events &rest args)
(apply #'make-instance 'ein:worksheet
:nbformat nbformat
:nbformat nbformat :get-notebook-name get-notebook-name
:notebook notebook :kernel kernel :events events
args))
@ -140,7 +142,7 @@ this value."
(ein:worksheet-set-modified-p ein:%worksheet% value))))
(defmethod ein:worksheet-notebook-name ((ws ein:worksheet))
(ein:notebook-name (oref ws :notebook)))
(ein:funcall-packed (oref ws :get-notebook-name)))
(defmethod ein:worksheet-url-or-port ((ws ein:worksheet))
(ein:$notebook-url-or-port (oref ws :notebook)))