Grid based on pinboard layout? And a small related problem.
Hello,
I am writing my own grid widget based on pinboard layout, something
like multi-column-list but supporting any pane, including input panes
and checkboxes etc. Has anybody else done something similar? Care to
share ideas? I looked at Ystok grid, but I would like to have
something simpler and more generic, because I need to bind it to
another framework.
Because it can be any pane, I am wrapping it in simple-layout. Then I
ran into something strange, but it I don't know whether it is because
I misunderstood something or not.
It looks like if I add simple layouts into pinboard before I display
it, they are not displayed properly. It does not matter whether I use
manipulate-pinboard or set the layout-description. However, if I close
the container, and create new container with the same pinboard layout
instance, the panes are shown correctly.
It also works if I just add the simple layouts in the description
parameters of the pinboard-layout. But then I can't add the :pinboard
argument, and I have understood that pinboard-object needs to know
what pinboard-layout it belongs to, although it seems this is not
needed when displaying the layout.
Perhpas there is something else I need to be aware of?
(defclass g (capi:pinboard-layout)
())
(defclass c (capi:pinboard-object capi:simple-layout)
())
(setf g (make-instance 'g))
(setf c (make-instance 'c :description (list (make-instance
'capi:title-pane :text "Foobar"))))
(capi:manipulate-pinboard g c :add)
;(setf (capi:layout-description g) (list c))
(capi:contain g)
; now close the window, and execute the previous line again
Best regards,
Mikko Ahonen