;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gtk.lisp,v 1.79 2007-07-12 09:02:13 espen Exp $
+;; $Id: gtk.lisp,v 1.82 2007-08-20 10:54:38 espen Exp $
(in-package "GTK")
(define-callback-marshal %assistant-page-func-callback int
((current-page int)))
- (defbinding assistant-set-forward-func (assistant function) nil
+ (defbinding assistant-set-forward-page-func (assistant function) nil
(assistant assistant)
(%assistant-page-func-callback callback)
((register-callback-function function) pointer-data)
#'(lambda (dialog response)
(when (= response id)
(funcall callback dialog))))
- ((eq signal 'response)
+ ((string-equal signal "response")
#'(lambda (dialog response)
(funcall callback dialog (dialog-find-response dialog response))))
(callback))))
(defmethod shared-initialize ((dialog message-dialog) names &rest initargs
- &key buttons text
+ &key message-type buttons button text
#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
secondary-text)
(declare (ignore names))
#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
(when secondary-text
(message-dialog-format-secondary-markup dialog secondary-text))
+ (when (and (not buttons) (not button))
+ (loop
+ for (key value) on initargs by #'cddr
+ when (and (eq key :signal) (eq (first value) :close))
+ do (warn "Default button configuration changed from ~A to ~A" :close
+ (if (eq message-type :question) :yes-no :ok))
+ (loop-finish)))
(if (typep buttons 'buttons-type)
(apply #'call-next-method dialog names (plist-remove :buttons initargs))
(call-next-method)))