Changeset 9749


Ignore:
Timestamp:
Jun 13, 2008, 11:11:27 PM (11 years ago)
Author:
mikel
Message:

debugging outlets for prgoress window

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

Legend:

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

    r9747 r9749  
    324324      (#/release ns-other-button))))
    325325
     326;;; -----------------------------------------------------------------
     327;;; utility to display a Cocoa progress window
     328;;; -----------------------------------------------------------------
     329
     330(defparameter *progress-window-controller* nil)
     331
     332(defclass progress-window-controller (ns:ns-window-controller)
     333    ((progress-window :foreign-type :id :reader progress-window)
     334     (message-field :foreign-type :id :reader progress-window-message-field)
     335     (progress-bar :foreign-type :id :reader progress-window-progress-bar))
     336  (:metaclass ns:+ns-object))
     337
     338(defun get-progress-window ()
     339  (unless *progress-window-controller*
     340    (setf *progress-window-controller*
     341          (make-instance 'progress-window-controller))
     342    (#/initWithWindowNibName: *progress-window-controller* #@"ProgressWindow"))
     343  (unless (#/isWindowLoaded *progress-window-controller*)
     344    (#/loadWindow *progress-window-controller*))
     345  (let ((window (progress-window *progress-window-controller*)))
     346    (if (or (null window)
     347            (%null-ptr-p window))
     348        nil
     349        window)))
     350
    326351(defmacro with-modal-progress-dialog (title message &body body)
    327   )
    328 
     352  `(let* ((nstitle (%make-nsstring ,title))
     353          (nsmessage (%make-nsstring ,message))
     354          (window (get-progress-window))
     355          (progress-bar (progress-window-progress-bar *progress-window-controller*))
     356          (message-field (progress-window-message-field *progress-window-controller*)))
     357     (unwind-protect
     358          (if window
     359              (progn
     360                (#/setTitle: window nstitle)
     361                (#/setIndeterminate: progress-bar #$YES)
     362                (#/setStringValue: message-field nsmessage)
     363                (#/makeKeyAndOrderFront: window +null-ptr+)
     364                (let ((modal-session (#/beginModalSessionForWindow: ccl::*nsapp* window)))
     365                  (#/startAnimation: progress-bar +null-ptr+)
     366                  ,@body
     367                  (#/stopAnimation: progress-bar +null-ptr+)
     368                  (#/orderOut: window +null-ptr+)
     369                  (#/endModalSession: ccl::*nsapp* modal-session)))
     370              (alert-window :title "Failure"
     371                            :message "Unable to load the modal progress window"))
     372       (#/release nstitle)
     373       (#/release nsmessage))))
     374
  • trunk/source/cocoa-ide/ide-contents/Resources/English.lproj/ProgressWindow.nib/designable.nib

    r9748 r9749  
    99                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
    1010                        <bool key="EncodedWithXMLCoder">YES</bool>
    11                         <integer value="1" id="9"/>
     11                        <integer value="2"/>
    1212                </object>
    1313                <object class="NSArray" key="IBDocument.PluginDependencies">
     
    121121                                        <int key="connectionID">8</int>
    122122                                </object>
     123                                <object class="IBConnectionRecord">
     124                                        <object class="IBOutletConnection" key="connection">
     125                                                <string key="label">progressWindow</string>
     126                                                <reference key="source" ref="1001"/>
     127                                                <reference key="destination" ref="1005"/>
     128                                        </object>
     129                                        <int key="connectionID">9</int>
     130                                </object>
    123131                        </object>
    124132                        <object class="IBMutableOrderedSet" key="objectRecords">
     
    217225                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
    218226                                        <string>{{225, 992}, {300, 90}}</string>
    219                                         <reference ref="9"/>
     227                                        <integer value="1"/>
    220228                                        <string>{196, 240}</string>
    221229                                        <string>{{357, 418}, {480, 270}}</string>
     
    246254                        </object>
    247255                        <nil key="sourceID"/>
    248                         <int key="maxID">8</int>
     256                        <int key="maxID">9</int>
    249257                </object>
    250258                <object class="IBClassDescriber" key="IBDocument.Classes">
     
    259267                                                        <string>messageField</string>
    260268                                                        <string>progressBar</string>
    261                                                         <string>window</string>
     269                                                        <string>progressWindow</string>
    262270                                                </object>
    263271                                                <object class="NSMutableArray" key="dict.values">
Note: See TracChangeset for help on using the changeset viewer.