add gtk main-loop-events
authorDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Wed, 18 Mar 2009 21:54:01 +0000 (00:54 +0300)
committerDmitry Kalyanov <Kalyanov.Dmitry@gmail.com>
Wed, 18 Mar 2009 21:54:01 +0000 (00:54 +0300)
gtk/gtk.asd
gtk/gtk.demo.lisp
gtk/gtk.dialog.example.lisp
gtk/gtk.main-loop-events.lisp [new file with mode: 0644]
gtk/gtk.menu.lisp
gtk/gtk.misc.lisp

index 68fe66f..3661f03 100644 (file)
@@ -43,6 +43,8 @@
                (:file "gtk.child-properties")
                (:file "gtk.widget")
                (:file "gtk.builder")
+
+               (:file "gtk.main-loop-events")
                
 
                (:file "gtk.generated-child-properties")
index 978a3d1..68e0a54 100644 (file)
           (c 0))
       (builder-connect-signals-simple builder `(("toolbutton1_clicked_cb" ,(lambda (b)
                                                                                    (declare (ignore b))
+                                                                                   #+nil(print (current-event))
                                                                                    (setf (text-buffer-text (text-view-buffer text-view))
                                                                                          (format nil "Clicked ~A times~%" (incf c)))
                                                                                    (status-bar-pop (builder-get-object builder "statusbar1")
index e9647e3..8432480 100644 (file)
@@ -28,5 +28,5 @@
                                                    (format t "Response was: ~S~%" (dialog-run dialog))
                                                    (object-destroy dialog)))))
 
-    (gtk-widget-show-all window)
+    (widget-show window)
     (gtk-main)))
\ No newline at end of file
diff --git a/gtk/gtk.main-loop-events.lisp b/gtk/gtk.main-loop-events.lisp
new file mode 100644 (file)
index 0000000..c882fee
--- /dev/null
@@ -0,0 +1,62 @@
+(in-package :gtk)
+
+; TODO: gtk_get_default_language
+
+(defcfun gtk-main-iteration :boolean)
+
+(export 'gtk-main-iteration)
+
+(defcfun gtk-main-iteration-do :boolean
+  (blocking :boolean))
+
+(export 'gtk-main-iteration-do)
+
+; TODO: gtk_main_do_event
+
+(defcfun (grad-add "gtk_grab_add") :void
+  (widget g-object))
+
+(export 'grab-add)
+
+(defcfun (grab-current "gtk_grab_get_current") g-object)
+
+(export 'grab-current)
+
+(defcfun (grab-remove "gtk_grab_remove") :void
+  (widget g-object))
+
+(export 'grab-remove)
+
+; TODO: gtk_quit_add_destroy
+
+; TODO: gtk_quit_add
+
+; TODO: gtk_quit_add_full
+
+; TODO: gtk_quit_remove
+
+; TODO: gtk_quit_remove_by_data
+
+; TODO: gtk_key_snooper_install
+
+; TODO: gtk_key_snooper_remove
+
+(defcfun (current-event "gtk_get_current_event") (g-boxed-ptr event))
+
+(export 'current-event)
+
+(defcfun (current-event-time gtk-get-current-event-time) :uint32)
+
+(export 'current-event-time)
+
+(defcfun (event-widget "gtk_get_event_widget") g-object
+  (event (g-boxed-ptr event)))
+
+(export 'event-widget)
+
+(defcfun (propagate-event "gtk_propagate_event") :void
+  (widget g-object)
+  (event (g-boxed-ptr event)))
+
+(export 'propagate-event)
+
index 5c3df95..4a8ba7e 100644 (file)
@@ -38,7 +38,7 @@
                           (mem-ref y :int) 0
                           (mem-ref push-in :boolean) nil))))
 
-(defun menu-popup (menu &key parent-menu-shell parent-menu-item position-func (button 0) (activate-time (gtk-get-current-event-time)))
+(defun menu-popup (menu &key parent-menu-shell parent-menu-item position-func (button 0) (activate-time (current-event-time)))
   (if position-func
       (with-stable-pointer (ptr position-func)
         (gtk-menu-popup menu parent-menu-shell parent-menu-item
index 8d7bdf2..f20f586 100644 (file)
@@ -2,5 +2,3 @@
 
 (defcallback stable-pointer-free-destroy-notify-callback :void ((data :pointer))
   (free-stable-pointer data))
-
-(defcfun gtk-get-current-event-time :uint32)
\ No newline at end of file