Changeset 12493


Ignore:
Timestamp:
Jul 31, 2009, 12:10:15 PM (10 years ago)
Author:
gb
Message:

Cocotron conditionalization; needs smoke-testing on OSX.

Location:
trunk/source/cocoa-ide
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/cocoa-editor.lisp

    r12430 r12493  
    1515                                           (#/fontWithName:size:
    1616                                            ns:ns-font
    17                                             #@"Monaco" 10.0))
     17                                            #+darwin-target
     18                                            #@"Monaco"
     19                                            #-darwin-target
     20                                            #@"Lucida Typewriter"
     21                                            10.0))
    1822                   "Default font for editor windows")
    1923
     
    445449                       idx 0))))))))
    446450
     451
    447452(objc:defmethod (#/getLineStart:end:contentsEnd:forRange: :void)
    448453    ((self hemlock-buffer-string)
     
    634639    (#/edited:range:changeInLength: self #$NSTextStorageEditedAttributes range 0)))
    635640
     641
    636642(defloadvar *buffer-change-invocation*
    637643    (with-autorelease-pool
     
    701707(objc:defmethod #/initWithString: ((self hemlock-text-storage) s)
    702708  (setq s (%inc-ptr s 0))
    703   (let* ((newself (#/init self))
    704          (styles (make-editor-style-map))
     709  (let* ((styles (make-editor-style-map))
    705710         (mirror (make-instance ns:ns-mutable-attributed-string
    706711                                   :with-string s
    707                                    :attributes (#/objectAtIndex: styles 0))))
     712                                   :attributes (#/objectAtIndex: styles 0)))
     713         (string (#/retain (#/string mirror)))
     714         (newself (call-next-method string)))
    708715    (declare (type hemlock-text-storage newself))
    709716    (setf (slot-value newself 'styles) styles)
    710717    (setf (slot-value newself 'hemlock-string) s)
    711718    (setf (slot-value newself 'mirror) mirror)
    712     (setf (slot-value newself 'string) (#/retain (#/string mirror)))
     719    (setf (slot-value newself 'string) string)
    713720    newself))
    714721
     
    856863;;; Mostly experimental, so that we can see what happens when a
    857864;;; real typesetter is used.
     865#-cocotron
     866(progn
    858867(defclass hemlock-ats-typesetter (ns:ns-ats-typesetter)
    859868    ()
     
    868877  (#_NSLog #@"layoutGlyphs: start = %d, maxlines = %d" :int start-index :int max-lines)
    869878  (call-next-method layout-manager start-index max-lines next-index))
    870 
     879)
    871880
    872881
     
    14501459  (hemlock-buffer-string-cache (#/hemlockString (#/textStorage self))))
    14511460
     1461#-cocotron                              ; for now, small struct return FFI issue
    14521462(objc:defmethod (#/selectionRangeForProposedRange:granularity: :ns-range)
    14531463    ((self hemlock-textstorage-text-view)
     
    17691779                (#/setBackgroundColor: tv color)
    17701780                (#/setTypingAttributes: tv (#/objectAtIndex: (#/styles textstorage) style))
     1781                #-cocotron
    17711782                (#/setSmartInsertDeleteEnabled: tv nil)
    17721783                (#/setAllowsUndo: tv nil) ; don't want NSTextView undo
     1784                #-cocotron
    17731785                (#/setUsesFindPanel: tv t)
     1786                #-cocotron
    17741787                (#/setUsesFontPanel: tv nil)
    17751788                (#/setMenu: tv (text-view-context-menu))
     
    17951808
    17961809(defun make-scrolling-textview-for-pane (pane textstorage track-width color style)
    1797   (let* ((contentrect (#/frame (#/contentView pane))))
     1810  (let* ((contentrect (#/frame pane)))
    17981811    (multiple-value-bind (tv scrollview)
    17991812        (make-scrolling-text-view-for-textstorage
     
    18111824        (incf (ns:ns-rect-y r) 15)
    18121825        (#/setFrame: scrollview r))
     1826      #-cocotron
    18131827      (#/setAutohidesScrollers: scrollview t)
    18141828      (setf (slot-value pane 'scroll-view) scrollview
     
    19151929          (#/setMaxSize: echo (ns:make-ns-size large-number-for-text large-number-for-text))
    19161930          (#/setRichText: echo nil)
     1931          #-cocotron
    19171932          (#/setUsesFontPanel: echo nil)
    19181933          (#/setHorizontallyResizable: echo t)
     
    22932308      (#/setUsesScreenFonts: layout screen-p)
    22942309      (values (fround (#/defaultLineHeightForFont: layout sf))
    2295               (fround (ns:ns-size-width (#/advancementForGlyph: sf (#/glyphWithName: sf #@" "))))))))
     2310              (fround (ns:ns-size-width (#/advancementForGlyph: sf (char-code #\space))))))))
    22962311         
    22972312
     
    23522367;;; Map *default-file-character-encoding* to an :<NSS>tring<E>ncoding
    23532368(defun get-default-encoding ()
     2369  #-cocotron                            ;need IANA conversion stuff
    23542370  (let* ((file-encoding *default-file-character-encoding*))
    23552371    (when (and (typep file-encoding 'keyword)
     
    27522768  #+debug
    27532769  (#_NSLog #@"Make window controllers")
    2754   (with-callback-context "makeWindowControllers"
    27552770    (let* ((textstorage  (slot-value self 'textstorage))
    27562771           (window (%hemlock-frame-for-textstorage
     
    27982813      (let ((view (hemlock-view window)))
    27992814        (hi::handle-hemlock-event view #'(lambda ()
    2800                                            (hi::process-file-options)))))))
     2815                                           (hi::process-file-options))))))
    28012816
    28022817
     
    29252940
    29262941(defun iana-charset-name-of-nsstringencoding (ns)
     2942  #+cocotron (declare (ignore ns))
     2943  #+cocotron +null-ptr+
     2944  #-cocotron
    29272945  (#_CFStringConvertEncodingToIANACharSetName
    29282946   (#_CFStringConvertNSStringEncodingToEncoding ns)))
    29292947   
    2930 
    29312948(defun nsstring-for-nsstring-encoding (ns)
    29322949  (let* ((iana (iana-charset-name-of-nsstringencoding ns)))
     
    29412958
    29422959(defun supported-string-encoding-p (ns-string-encoding)
     2960  #-cocotron
    29432961  (let* ((cfname (#_CFStringConvertEncodingToIANACharSetName
    29442962                  (#_CFStringConvertNSStringEncodingToEncoding ns-string-encoding)))
     
    30403058          (let* ((item (#/itemAtIndex: appmenu i))
    30413059                 (title (#/title item)))
    3042             (when (#/hasSuffix: title targetname)
    3043               (let ((new-title (#/mutableCopy title)))
    3044                 (ns:with-ns-range (r 0 (#/length new-title))
    3045                   (#/replaceOccurrencesOfString:withString:options:range:
    3046                    new-title targetname cfbundlename #$NSLiteralSearch r))
    3047                 (#/setTitle: item new-title)
    3048                 (#/release new-title)))))))))
     3060            (unless (%null-ptr-p title)
     3061              (when (#/hasSuffix: title targetname)
     3062                (let ((new-title (#/mutableCopy title)))
     3063                  (ns:with-ns-range (r 0 (#/length new-title))
     3064                    (#/replaceOccurrencesOfString:withString:options:range:
     3065                     new-title targetname cfbundlename #$NSLiteralSearch r))
     3066                  (#/setTitle: item new-title)
     3067                  (#/release new-title))))))))))
    30493068             
    30503069(defun initialize-user-interface ()
  • trunk/source/cocoa-ide/cocoa-listener.lisp

    r12423 r12493  
    88                                                   (#/fontWithName:size:
    99                                                    ns:ns-font
    10                                                     #@"Monaco" 10.0))
     10                                                    #+darwin-target
     11                                                    #@"Monaco"
     12                                                    #-darwin-target
     13                                                    #@"Lucida Typewriter"
     14                                                    10.0))
    1115                   "Default font for listener input")
    1216(def-cocoa-default *listener-output-font* :font #'(lambda ()
    1317                                                    (#/fontWithName:size:
    1418                                                     ns:ns-font
    15                                                      #@"Monaco" 10.0))
     19                                                     #+darwin-target
     20                                                     #@"Monaco"
     21                                                     #-darwin-target
     22                                                     #@"Lucida Typewriter"
     23                                                     10.0))
    1624                   "Default font for listener output")
    1725
Note: See TracChangeset for help on using the changeset viewer.