X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=cwiki-edit.el;h=7b8c506dc42dcce227f419902d9a5b8ef2b55fee;hb=ff1dae13d988279765f1f77c81c62b71224ed946;hp=eb22d2784cbebd325aa6aea77f4a6db8a64f8dff;hpb=e1b3389e85e7c33da336e72cc14b1c95ad3d24dd;p=chise%2Fest.git diff --git a/cwiki-edit.el b/cwiki-edit.el index eb22d27..7b8c506 100644 --- a/cwiki-edit.el +++ b/cwiki-edit.el @@ -2,33 +2,33 @@ (defvar chise-wiki-view-url "view.cgi") (defvar chise-wiki-edit-url "edit.cgi") -(require 'cwiki-common) +(require 'cwiki-format) -(defun www-edit-display-input-box (object name value &optional format) - (when (stringp format) - (setq format (intern format))) - (let (prefix) - (if (or (eq format 'HEX) - (eq format 'hex)) - (if (integerp value) - (setq prefix "0x"))) - (princ (www-format-encode-string - (format "%s \u2190 %s" - name - (or prefix "")))) - (princ - (format " - - -" - (www-format-encode-string - (format "%s" name) 'without-tags) - (www-format-apply-value object name - format nil value - nil nil - 'without-tags) - )))) +;; (defun www-edit-display-input-box (object name value &optional format) +;; (when (stringp format) +;; (setq format (intern format))) +;; (let (prefix) +;; (if (or (eq format 'HEX) +;; (eq format 'hex)) +;; (if (integerp value) +;; (setq prefix "0x"))) +;; (princ (www-format-encode-string +;; (format "%s \u2190 %s" +;; name +;; (or prefix "")))) +;; (princ +;; (format " +;; +;; +;; " +;; (www-format-encode-string +;; (format "%s" name) 'without-tags) +;; (www-format-apply-value object name +;; format nil value +;; nil nil +;; 'without-tags) +;; )))) (defun www-edit-display-feature-input-box (char feature-name &optional format value) @@ -62,48 +62,48 @@ size=\"64\" maxlength=\"256\" value=\"%s\"> ""))) ) -(defun www-edit-display-char-desc (uri-char uri-feature-name - &optional lang format) +(defun www-edit-display-object-desc (genre uri-object uri-feature-name + &optional lang format) (when (stringp format) (setq format (intern format))) - (let ((char (www-uri-decode-object 'character uri-char)) + (let ((object (www-uri-decode-object genre uri-object)) (feature-name (www-uri-decode-feature-name uri-feature-name)) base-name metadata-name - char-spec str) - (when (characterp char) + object-spec str) + (when (characterp object) (princ (format " CHISE-wiki character: %s \n" (encode-coding-string - (decode-uri-string uri-char 'utf-8-mcs-er) + (decode-uri-string uri-object 'utf-8-mcs-er) 'utf-8-mcs-er))) (princ "\n") (princ (format "

%s

\n" - (www-format-encode-string (char-to-string char)))) + (www-format-encode-string (char-to-string object)))) (princ "
\n") (princ (encode-coding-string (format "

(char : )

" - (decode-uri-string uri-char 'utf-8-mcs-er)) + (decode-uri-string uri-object 'utf-8-mcs-er)) 'utf-8-mcs-er)) - (setq char-spec (char-attribute-alist char)) + (setq object-spec (char-attribute-alist object)) (if (string-match "\\*" (setq str (symbol-name feature-name))) (setq base-name (intern (substring str 0 (match-beginning 0))) metadata-name (intern (substring str (match-end 0)))) (setq base-name feature-name)) - (unless (assq base-name char-spec) - (setq char-spec (cons (cons base-name nil) - char-spec))) - (dolist (cell (sort char-spec + (unless (assq base-name object-spec) + (setq object-spec (cons (cons base-name nil) + object-spec))) + (dolist (cell (sort object-spec (lambda (a b) (char-attribute-name< (car a)(car b))))) (cond ((eq (car cell) feature-name) - (www-edit-display-feature-input-box char feature-name format) + (www-edit-display-feature-input-box object feature-name format) ) (t (princ "

") @@ -111,12 +111,12 @@ size=\"30\" maxlength=\"30\" value=\"%s\">)

(www-format-eval-list (or (char-feature-property (car cell) 'format) '((name) " : " (value))) - char (car cell) lang uri-char)) + object (car cell) lang uri-object)) (princ "

\n") (when (and (eq base-name (car cell)) metadata-name) (princ "")) )) @@ -126,7 +126,7 @@ size=\"30\" maxlength=\"30\" value=\"%s\">)

(defun www-edit-display-feature-desc (uri-feature-name uri-property-name - &optional lang uri-char) + &optional lang uri-object) (let ((feature-name (www-uri-decode-feature-name uri-feature-name)) (property-name (www-uri-decode-feature-name uri-property-name)) name@lang) @@ -150,7 +150,7 @@ size=\"30\" maxlength=\"30\" value=\"%s\">\n" (format "

(に限\u5B9Aしない) " - (decode-uri-string uri-char 'utf-8-mcs-er)) + (decode-uri-string uri-object 'utf-8-mcs-er)) 'utf-8-mcs-er)) (princ "

") (if (eq property-name 'name) @@ -258,7 +258,8 @@ size=\"30\" maxlength=\"30\" value=\"%s\">に限\u5B9Aしない) (split-string target "&"))) (setq ret (car target)) (cond ((eq (car ret) 'char) - (www-edit-display-char-desc + (www-edit-display-object-desc + 'character (cdr ret) ; (decode-uri-string (cdr ret) 'utf-8-mcs-er) (decode-uri-string (cdr (assq 'feature target)) 'utf-8-mcs-er) @@ -276,6 +277,16 @@ size=\"30\" maxlength=\"30\" value=\"%s\">に限\u5B9Aしない) ;; (decode-uri-string (cdr (assq 'char target)) ;; 'utf-8-mcs-er) ) + ) + (t + (www-edit-display-object-desc + (car ret) + (cdr ret) + (decode-uri-string (cdr (assq 'feature target)) + 'utf-8-mcs-er) + lang + (decode-uri-string (cdr (assq 'format target)) + 'utf-8-mcs-er)) )) (www-html-display-paragraph (format "%S" target))