Paste number 73308: app template; menu, toolbar, tabbed user area

Paste number 73308: app template; menu, toolbar, tabbed user area
Pasted by: fusss
When:5 months, 3 weeks ago
Share:Tweet this! | http://paste.lisp.org/+1KKC
Channel:None
Paste contents:
Raw Source | XML | Display As
(gtk:define-signal-handler button-clicked :void (widget data)
  (let* ((popup (gtk:window-new gtk:window-popup)))
    (format t "button_press_event~%")
    (force-output))
  gtk:+false+)


(defun main-window ()
  (let* ((main-window (gtk:window-new gtk:window-toplevel))
	 (vbox (gtk:vbox-new gtk:+false+ 0))
	 (notebook (gtk:notebook-new))
	 (url (gtk:label-new "cliki.net"))
	 (text-view (gtk:text-view-new))
	 (text-buffer (gtk:text-view-get-buffer text-view))
	 (scrolled-win (gtk:scrolled-window-new (g:nullptr) (g:nullptr)))
	 (menu-bar (gtk:menu-bar-new))
	 (tool-bar (gtk:toolbar-new))
	 (backward (gtk:button-new-from-stock "gtk-go-back"))
	 (forward (gtk:button-new-from-stock "gtk-go-forward"))
	 (file (gtk:menu-item-new-with-label "File"))
	 (edit (gtk:menu-item-new-with-label "Edit"))
	 (help (gtk:menu-item-new-with-label "Help"))
	 (file-menu (gtk:menu-new))
	 (edit-menu (gtk:menu-new))
	 (help-menu (gtk:menu-new))
	 (status-bar (gtk:statusbar-new))
	 (sb-context (gtk:statusbar-get-context-id status-bar "help"))
	 (event-box (gtk:event-box-new))
	 (label (gtk:label-new "double click me")))
  
    (gtk:widget-set-size-request main-window 600 400)
    (gtk:menu-item-set-submenu file file-menu)
    (gtk:menu-shell-append file-menu (gtk:image-menu-item-new-from-stock "gtk-new" (g:nullptr)))
    (gtk:menu-item-set-submenu edit edit-menu)
    (gtk:menu-item-set-submenu help help-menu)
    (gtk:menu-shell-append menu-bar file)
    (gtk:menu-shell-append menu-bar edit)
    (gtk:menu-shell-append menu-bar help)
    
    (gtk:toolbar-set-style tool-bar gtk:toolbar-both)
    (gtk::toolbar-insert tool-bar backward 0)
    (gtk:toolbar-insert tool-bar forward 1)
    
    (gtk:container-add main-window vbox)
    (gtk:widget-show vbox)
    
    
    (gtk:container-add scrolled-win text-view)
    (gtk:notebook-append-page notebook scrolled-win url)
    
    (gtk:box-pack-start vbox menu-bar gtk:+false+ gtk:+false+ 2)
    
    (gtk:box-pack-start vbox notebook gtk:+true+ gtk:+true+ 2)
    (gtk:box-pack-start vbox status-bar gtk:+false+ gtk:+true+ 2)
    
    (gtk:widget-show-all main-window)
    (g:signal-connect event-box "button_press_event" (g:callback button-clicked) label)
    (g:signal-connect main-window "delete" (g:callback delete-signal) (g:nullptr))
    (g:signal-connect main-window "destroy" (g:callback quit-signal) (g:nullptr))
    (gtk:main)))

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.