From 2b70b79874f0313f85135bb898e68c4de33f35a3 Mon Sep 17 00:00:00 2001 From: slava Date: Wed, 22 Nov 2006 00:35:26 +0000 Subject: [PATCH] Definition browser looks better --- library/ui/gadgets/sliders.factor | 2 +- library/ui/gadgets/theme.factor | 36 +++++++++++++++++-------------- library/ui/paint.factor | 1 + library/ui/tools/browser.factor | 13 +++++------ library/ui/tools/listener.factor | 2 +- library/ui/tools/messages.factor | 4 ++-- library/ui/tools/search.factor | 3 ++- library/ui/ui.factor | 21 +++++++++++++++--- 8 files changed, 50 insertions(+), 32 deletions(-) diff --git a/library/ui/gadgets/sliders.factor b/library/ui/gadgets/sliders.factor index 8211a37b8c..df2731b2c5 100644 --- a/library/ui/gadgets/sliders.factor +++ b/library/ui/gadgets/sliders.factor @@ -129,7 +129,7 @@ M: elevator layout* : slide-by-line ( -1/1 slider -- ) >r 32 * r> slide-by ; : ( vector polygon amount -- ) - >r { 0.5 0.5 0.5 1.0 } swap r> + >r gray swap r> [ swap slide-by-line ] curry [ set-gadget-orientation ] keep ; diff --git a/library/ui/gadgets/theme.factor b/library/ui/gadgets/theme.factor index d84c9ef07f..10a3a71c23 100644 --- a/library/ui/gadgets/theme.factor +++ b/library/ui/gadgets/theme.factor @@ -16,17 +16,15 @@ DEFER: set-editor-font IN: gadgets-theme USING: arrays gadgets kernel sequences styles ; -: solid-black T{ solid f { 0.0 0.0 0.0 1.0 } } ; +: black { 0.0 0.0 0.0 1.0 } ; +: white { 1.0 1.0 1.0 1.0 } ; +: gray { 0.6 0.6 0.6 1.0 } ; -: solid-white T{ solid f { 1.0 1.0 1.0 1.0 } } ; +: solid-interior white swap set-gadget-interior ; -: solid-interior solid-white swap set-gadget-interior ; +: solid-boundary black swap set-gadget-boundary ; -: solid-boundary solid-black swap set-gadget-boundary ; - -: faint T{ solid f { 0.62 0.62 0.62 0.8 } } ; - -: faint-boundary faint swap set-gadget-boundary ; +: faint-boundary gray swap set-gadget-boundary ; : plain-gradient T{ gradient f { @@ -72,7 +70,7 @@ USING: arrays gadgets kernel sequences styles ; plain-gradient over set-gadget-interior faint-boundary ; : roll-button-theme ( button -- ) - f solid-black solid-black f + f black dup f swap set-gadget-boundary ; : caret-theme ( caret -- ) @@ -86,19 +84,19 @@ USING: arrays gadgets kernel sequences styles ; } } swap set-gadget-interior ; : reverse-video-theme ( label -- ) - { 1.0 1.0 1.0 1.0 } over set-label-color - solid-black swap set-gadget-interior ; + white over set-label-color + black swap set-gadget-interior ; : label-theme ( gadget -- ) - { 0.0 0.0 0.0 1.0 } over set-label-color + black over set-label-color { "sans-serif" plain 12 } swap set-label-font ; : text-theme ( gadget -- ) - { 0.0 0.0 0.0 1.0 } over set-label-color + black over set-label-color { "monospace" plain 12 } swap set-label-font ; : editor-theme ( editor -- ) - { 0.0 0.0 0.0 1.0 } over set-editor-color + black over set-editor-color { 1.0 0.0 0.0 1.0 } over set-editor-caret-color { 0.8 0.8 1.0 1.0 } over set-editor-selection-color { "monospace" plain 12 } swap set-editor-font ; @@ -110,5 +108,11 @@ USING: arrays gadgets kernel sequences styles ; : menu-theme ( gadget -- ) T{ solid f { 0.95 0.95 0.95 0.95 } } over set-gadget-interior - T{ solid f { 0.7 0.7 0.7 1.0 } } - swap set-gadget-boundary ; + gray swap set-gadget-boundary ; + +: title-theme ( gadget -- ) + { 1 0 } over set-gadget-orientation + T{ gradient f { + { 0.65 0.65 1.0 1.0 } + { 0.65 0.45 1.0 1.0 } + } } swap set-gadget-interior ; diff --git a/library/ui/paint.factor b/library/ui/paint.factor index db3b1f5e66..ef40870116 100644 --- a/library/ui/paint.factor +++ b/library/ui/paint.factor @@ -117,6 +117,7 @@ M: polygon draw-interior : arrow-right { { 0 0 } { 6 3 } { 0 6 } } ; : arrow-down { { 0 0 } { 6 0 } { 3 6 } } ; : arrow-left { { 0 3 } { 6 0 } { 6 6 } } ; +: close-box { { 0 0 } { 6 0 } { 6 6 } { 0 6 } } ; : ( color points -- gadget ) dup max-dim diff --git a/library/ui/tools/browser.factor b/library/ui/tools/browser.factor index 1ebf55895d..b1d96a54e1 100644 --- a/library/ui/tools/browser.factor +++ b/library/ui/tools/browser.factor @@ -38,18 +38,15 @@ TUPLE: tile definition gadget ; definitions-showing delete unparent ; -: ( definition toolbar -- gadget ) - >r [ see ] make-pane r> 2array - make-pile { 5 5 } over set-pack-gap - dup faint-boundary ; +: ( definition -- gadget ) + [ [ see ] make-pane ] keep + unparse [ find-tile close-tile ] + dup faint-boundary ; C: tile ( definition -- gadget ) - 2dup { tile } - over set-gadget-delegate + over over set-gadget-delegate [ set-tile-definition ] keep ; -tile "toolbar" { { "Close" f [ close-tile ] } } define-commands - : show-definition ( definition definitions -- ) 2dup definition-index dup 0 >= [ over nth-gadget swap scroll>rect drop diff --git a/library/ui/tools/listener.factor b/library/ui/tools/listener.factor index 24d7b2f939..2afedd76be 100644 --- a/library/ui/tools/listener.factor +++ b/library/ui/tools/listener.factor @@ -59,7 +59,7 @@ C: listener-gadget ( -- gadget ) { [ ] set-listener-gadget-input - [ "Input" ] + [ "Input" f ] 1/6 } } { 0 1 } make-track* ; diff --git a/library/ui/tools/messages.factor b/library/ui/tools/messages.factor index 261d0a6001..e8857f9194 100644 --- a/library/ui/tools/messages.factor +++ b/library/ui/tools/messages.factor @@ -44,10 +44,10 @@ M: messages batch-ends gadget. ; : ( gadget -- newgadget ) - "Compiler errors" ; + "Compiler errors" f ; : ( gadget -- newgadget ) - "Compiler warnings" ; + "Compiler warnings" f ; C: messages ( -- gadget ) { diff --git a/library/ui/tools/search.factor b/library/ui/tools/search.factor index 699d7cafa7..9e41c296c4 100644 --- a/library/ui/tools/search.factor +++ b/library/ui/tools/search.factor @@ -130,7 +130,8 @@ C: history-search ( string seq -- gadget ) live-search-list list-value ; : show-titled-popup ( workspace gadget title -- ) - swap show-popup ; + [ find-workspace hide-popup ] + swap show-popup ; : workspace-listener ( workspace -- listener ) listener-gadget swap find-tool tool-gadget nip ; diff --git a/library/ui/ui.factor b/library/ui/ui.factor index 896263df97..a2852e0613 100644 --- a/library/ui/ui.factor +++ b/library/ui/ui.factor @@ -139,9 +139,24 @@ C: titled-gadget ( gadget title -- ) TUPLE: labelled-gadget content ; -C: labelled-gadget ( gadget title -- gadget ) +: ( quot -- button/f ) + gray close-box swap ; + +: