Changed return type for TREE-ROW-REFERENCE-GET-PATH
[clg] / gtk / gtkwidget.lisp
index 64aabe4..100b0e2 100644 (file)
@@ -20,7 +20,7 @@
 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-;; $Id: gtkwidget.lisp,v 1.28 2007-06-20 10:20:47 espen Exp $
+;; $Id: gtkwidget.lisp,v 1.30 2008-04-11 18:42:40 espen Exp $
 
 (in-package "GTK")
 
@@ -60,8 +60,7 @@
    ((slot-boundp object 'parent)
     (with-slots (parent child-properties) object
       (setf child-properties
-       (make-instance 
-        (gethash (class-of parent) *container-to-child-class-mappings*)
+       (make-instance (find-child-class (class-of parent))
        :parent parent :child object))))
    ((call-next-method))))
 
@@ -525,9 +524,21 @@ widget or a list of containers."
 
 ;;; Additional bindings and functions
 
-(defbinding (widget-mapped-p "gtk_widget_mapped_p") () boolean
+(defbinding %widget-flags () int
   (widget widget))
 
+(defun widget-flags (widget)
+  (let ((flags (%widget-flags widget)))
+    (nconc 
+     (int-to-object-flags flags)
+     (int-to-widget-flags flags))))
+
+(defun widget-mapped-p (widget)
+  (find :mapped (widget-flags widget)))
+
+(defun widget-realized-p (widget)
+  (find :realized (widget-flags widget)))
+
 (defbinding widget-get-size-allocation () nil
   (widget widget)
   (width int :out)