From 1a434416acc14d22cfe50fdc91474b19ad00adc2 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Mon, 16 Feb 2009 04:34:22 -0600 Subject: [PATCH] Tweak inspector and profiler tools so that the preferred size is computed from layout rather than hard-coded --- basis/ui/tools/common/common.factor | 5 +++-- basis/ui/tools/inspector/inspector.factor | 8 +++++--- basis/ui/tools/profiler/profiler.factor | 9 +++++++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/basis/ui/tools/common/common.factor b/basis/ui/tools/common/common.factor index 6d40acbdd3..e581e72e24 100644 --- a/basis/ui/tools/common/common.factor +++ b/basis/ui/tools/common/common.factor @@ -1,7 +1,8 @@ ! Copyright (C) 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors assocs classes classes.mixin kernel namespaces -parser ui.gadgets ui.gadgets.scrollers ui.gadgets.tracks ; +parser ui.gadgets ui.gadgets.scrollers ui.gadgets.tracks +combinators.short-circuit ; IN: ui.tools.common SYMBOL: tool-dims @@ -11,7 +12,7 @@ tool-dims global [ H{ } clone or ] change-at TUPLE: tool < track ; M: tool pref-dim* - class tool-dims get at ; + { [ class tool-dims get at ] [ call-next-method ] } 1|| ; M: tool layout* [ call-next-method ] diff --git a/basis/ui/tools/inspector/inspector.factor b/basis/ui/tools/inspector/inspector.factor index 29eafb1401..dfff7cbf42 100644 --- a/basis/ui/tools/inspector/inspector.factor +++ b/basis/ui/tools/inspector/inspector.factor @@ -12,8 +12,6 @@ IN: ui.tools.inspector TUPLE: inspector-gadget < tool table ; -{ 500 300 } inspector-gadget set-tool-dim - TUPLE: slot-description key key-string value value-string ; : <slot-description> ( key value -- slot-description ) @@ -65,7 +63,11 @@ M: hashtable make-slot-descriptions : <inspector-table> ( model -- table ) [ make-slot-descriptions ] <filter> inspector-renderer <table> [ dup primary-operation invoke-command ] >>action - monospace-font >>font ; + monospace-font >>font + 15 >>min-rows + 15 >>max-rows + 40 >>min-cols + 40 >>max-cols ; : <inspector-gadget> ( model -- gadget ) vertical inspector-gadget new-track diff --git a/basis/ui/tools/profiler/profiler.factor b/basis/ui/tools/profiler/profiler.factor index 0e785303a4..71c931e7e5 100644 --- a/basis/ui/tools/profiler/profiler.factor +++ b/basis/ui/tools/profiler/profiler.factor @@ -20,8 +20,6 @@ words methods generic class ; -{ 700 400 } profiler-gadget set-tool-dim - SINGLETONS: word-renderer vocab-renderer ; UNION: profiler-renderer word-renderer vocab-renderer ; @@ -126,9 +124,13 @@ M: method-renderer column-titles drop { "Method" "Count" } ; { 3 3 } >>gap profiler vocabs>> vocab-renderer <profiler-table> profiler vocab>> >>selected-value + 10 >>min-rows + 10 >>max-rows "Vocabularies" <labeled-gadget> 1/2 track-add profiler <words-model> word-renderer <profiler-table> + 10 >>min-rows + 10 >>max-rows "Words" <labeled-gadget> 1/2 track-add ; @@ -147,6 +149,9 @@ M: method-renderer column-titles drop { "Method" "Count" } ; 1/2 track-add 1/2 track-add profiler methods>> method-renderer <profiler-table> + 5 >>min-rows + 5 >>max-rows + 40 >>min-cols "Methods" <labeled-gadget> 1/2 track-add ;