Improved gtk-demo: ensure that leave-gtk-main is called; use show-message instead...
[cl-gtk2.git] / gtk / gtk.widget.lisp
index 3ce426c..2239db3 100644 (file)
@@ -2,6 +2,17 @@
 
 ; TODO: GtkWidget
 
+(define-g-boxed-cstruct selection-data "GtkSelectionData"
+  (selection gdk-atom-as-string :initform nil)
+  (target gdk-atom-as-string :initform nil)
+  (type gdk-atom-as-string :initform nil)
+  (format :int :initform 0)
+  (data :pointer :initform (null-pointer))
+  (length :int :initform 0)
+  (display (g-object display) :initform nil))
+
+(export (boxed-related-symbols 'selection-data))
+
 (defun widget-flags (widget)
   (convert-from-foreign (gtk-object-flags-as-integer widget) 'widget-flags))
 
@@ -15,8 +26,8 @@
 (defcstruct %gtk-widget
   (:object %gtk-object)
   (:private-flags :uint16)
-  (:state state-type)
-  (:saved-state state-type)
+  (:state :uint8)
+  (:saved-state :uint8)
   (:name (:pointer :char))
   (:style :pointer)
   (:requisition requisition-cstruct)
   (:parent :pointer))
 
 (defun widget-state (widget)
-  (foreign-slot-value (pointer widget) '%gtk-widget :state))
+  (convert-from-foreign (foreign-slot-value (pointer widget) '%gtk-widget :state) 'state-type))
 
 (export 'widget-state)
 
 (defun widget-saved-state (widget)
-  (foreign-slot-value (pointer widget) '%gtk-widget :saved-state))
+  (convert-from-foreign (foreign-slot-value (pointer widget) '%gtk-widget :saved-state) 'state-type))
 
 (export 'widget-saved-state)
 
       (gtk-widget-hide-all widget)
       (gtk-widget-hide widget)))
 
+(export 'widget-hide)
+
 (defcfun (widget-map "gtk_widget_map") :void
   (widget g-object))
 
 (defun widget-snapshot (widget &optional clip-rectangle)
   (gtk-widget-get-snapshot widget clip-rectangle))
 
-(export 'widget-snapshot)
\ No newline at end of file
+(export 'widget-snapshot)