I tinkered with my code, and it was a (spacing (:thickness 0) ... ) argument in the layout for the list.
I appreciate your help. I posted what I thought was applicable in this case.
Here it is for reference.
(define-application-frame stocks-app () () (:geometry :width 1024 :height 768 :left 64 :top 32) (:panes (history-table (make-button-field-table :titles '("Name" "Symbol" "Sector" "Industry" "Date" "Open" "Close" "Volume" "High" "Low") :items '(("DEF" "1" "" "" "2" "X" "5" "6" "7" "8") ("ABC" "3" "" "" "4" "Y" "5" "6" "7" "8") ("GHI" "6" "" "" "5" "Z" "5" "6" "7" "8")) :scroll-bars t)) (index (make-list-pane :id 'index-list :value 'nil :items *index-list* :mode :nonexclusive ;:visible-items 10 doesn't work :prefer-single-selection t :callback 'nil :test #'string=)) (symbols (make-pane 'list-pane)) ; (symbols (make-list-pane ;; supports 1543 items in list , need 3188 to display ; :id 'symbols-list ; :value 'nil ; :items 'nil ; :mode :nonexclusive ; ;:visible-items 10 doesn't work ; :prefer-single-selection t ; :callback 'nil ; ;:scroll-bars t doesn't work ; :test #'string=)) (update-history-button (make-button-pane :id 'update-history :label "Update History")) (download-history-button (make-button-pane :id 'download-history :label "Download History")) (select-stocks-history-button (make-button-pane :id 'select-stocks-history :label "Select Stocks")) (import-history-button (make-button-pane :id 'import-history :label "Import"))) (:layouts (default (with-tab-layout ('tab-page :name 'stocks-layout :height 768) ; Tabs are "History" "Real-Time" ("History" (spacing (:thickness 8) (horizontally (:width 1024) +fill+ (vertically (:height 768) (labelling (:label "History" :height 512 :width 1024) (spacing (:thickness 16) history-table)) (horizontally (:x-spacing 4 :y-spacing 4) (labelling (:label "Indices" :height 128 :width 192) (scrolling (:scroll-bar :vertical) (spacing (:thickness 0) index))) (labelling (:label "Stocks" :height 128) (scrolling (:scroll-bar :vertical) ;; was (scrolling (:thickness 0) symbols))) ;) (horizontally () +fill+ download-history-button update-history-button select-stocks-history-button import-history-button +fill+)) +fill+)))))) (:menu-bar t))
(define-stocks-app-command (com-quit :menu t) () (frame-exit *application-frame*) nil)
(define-stocks-app-command (com-add-items :menu t :name t) () (let ((list-pane (find-pane-named *application-frame* 'symbols)) (index-pane (find-pane-named *application-frame* 'index))) (if (eql (values-list (gadget-value index-pane)) "NYSE") (setf (list-pane-items list-pane) (loop for i from 0 to 3000 collect i)))))
(defvar *stocks-app-frame* nil)
(defun stocks-window () (flet ((run () (let ((frame (make-application-frame 'stocks-app))) (setf *stocks-app-frame* frame) (run-frame-top-level frame)))) (make-thread #'run :name "Stocks Window"))) (stocks-window)
On Wed, Aug 8, 2012 at 9:19 PM, Stas Boukarev stassats@gmail.com wrote:
P C psilocidal@gmail.com writes:
Hello Stas,
Thank you for your suggestion.
I tried the code you showed me and it worked on its own, but when I tried to use :
(setf (clim-extensions:list-pane-items list-pane) (loop for i from 0 to (- (list-length new-list) 1) collect (nth i new-list)))
it still only displays half of the list. I collected just i and out of
list
of 3189, it only displays 1543 ( 0 - 1542 ).
My list is of a bunch of strings.
I am going to look through my code tomorrow and see what I did wrong. Would setting the key arguments when making the list pane affect
adjusting
the items? Items and value is set at nil, but mode is nonexclusive and
test
is #'string=.
If you still haven't resolved your issues, it'd be wise to send your actual code (it's always wise to show the code).
-- With best regards, Stas.