Bug #1778

timeline/scope style does not show anything if terminal is not wide enough

Added by J. Wienke about 10 years ago. Updated over 9 years ago.

Status:ResolvedStart date:02/18/2014
Priority:HighDue date:
Assignee:J. Moringen% Done:

100%

Category:Common Lisp Tools
Target version:rsb-0.11

Description

If the terminal is not wide enough nothing is shown apart from the scopes.

I could observe this in version 0.9.


Related issues

Blocked by Robotics Service Bus - Enhancement #1780: Improve width computation of column-based styles Resolved 02/20/2014

Associated revisions

Revision 02340751
Added by J. Moringen over 9 years ago

Use width optimizer instead of switching tricks in formatting/*.lisp

fixes #1780, fixes #1778

Use the simulated annealing column width optimizer in all column-based
styles, eliminating the need for switching between hand-crafted layouts
for a handful of width thresholds.

This change allows merging the "compact" and "full" variants of now,
origin and id columns into one respective column with two discrete
widths.

  • formatting/protocol.lisp (style-separator-width): new generic; return
    width of a style's separator
    (style-separator-width t): new method; default behavior
  • formatting/dynamic-width.lisp (number-of-columns): removed; no longer
    needed
    (define-dynamic-width-style): likewise
  • formatting/text-style-mixins.lisp (%separator-width): new function;
    utility used by methods on `separator-width'
    (when-column-fits): removed; no longer needed
    (format-header columns-mixin t): do not truncate columns via
    `when-column-fits'
    (format-event columns-mixin t): likewise
  • formatting/quantity-column.lisp (quantity-column): added superclass
    `width-specification-mixin'
  • formatting/columns.lisp (define-simple-column): accept priority;
    generate widths specification and priority; use
    `width-specification-mixin' as superclass
    (define-simple-column :now): allow widths 15 and 32 instead of only
    32; switch to appropriate display style based on width
    (define-simple-column :now/compact): removed
    (define-simple-column :origin): allow widths 8 and 36 instead of only
    8; switch to appropriate display style based on width
    (define-simple-column :origin-full): removed
    (define-simple-column :id): like :origin
    (define-simple-column :id-full): removed
    (define-simple-column :scope): allow a range of widths
    (define-simple-column :wire-schema): likewise
    (define-simple-column :data): likewise
    (define-simple-column :call): likewise
    (define-simple-column :result): likewise
    (column-constant): added superclass `width-specification-mixin'
    (define-meta-data-column): likewise
    (basic-columns): width adjustments; added some priorities
  • formatting/timeline.lisp (timeline): added superclass
    `width-specification-mixin'; added widths default initarg
  • formatting/event-style-compact.lisp (event-style-compact-line): new
    class; helper class for `event-style-compact'
    (default-compact-sub-styles): new function; helper for computing
    default sub-styles
    (defmethod find-style-class eql :compact): new method; find style
    class
    (event-style-compact): renamed basic-compact-style ->
    event-style-compact; compact event formatting style width dynamic
    column width computation
    (sub-style-for event-style-compact): changed specializer
    basic-compact-style -> event-style-compact
    (format-header event-style-compact t): likewise
    (format-event :before t event-style-compact t): new method; compute
    column widths and assign to sub-styles
    (define-compact-style): removed; no longer needed
    (define-compact-style compact/80): likewise
    (define-compact-style compact/128): likewise
    (define-compact-style compact/180): likewise
    (define-dynamic-width-style compact): likewise
  • formatting/event-style-monitor.lisp (basic-monitor-style): added
    superclass widths-caching-mixin
    (style-dynamic-width-columns basic-monitor-style): new method; return
    dynamic width columns for sub-styles
    (format-event :before eql :trigger basic-monitor-style t): new method;
    compute and apply column widths for sub-styles
    (define-dynamic-width-monitor-style): removed; no longer needed
    (define-monitor-style timeline): changed define-{dynamic-width ->
    }monitor-style
    (define-monitor-style scope): likewise
    (define-monitor-style origin): likewise
    (define-monitor-style type): likewise
    (define-monitor-style size): likewise
  • formatting/event-style-statistics.lisp (define-statistics-style):
    removed; no longer needed
    (define-statistics-style statistics/80): likewise
    (define-statistics-style statistics/128): likewise
    (define-statistics-style statistics/180): likewise
    (define-statistics-style statistics/220): likewise
    (define-dynamic-width-style statistics): likewise
    (find-style-class eql :statistics): new method; find new statistics
    class
    (style-statistics): new class; replaces previous width-specialized
    statistics classes
    (format-event :before eql :trigger style-statistics t): new method;
    compute widths of columns
  • formatting/event-style-timeline.lisp (define-timeline-style scope):
    added widths specification and priority
    (define-timeline-style origin): likewise
  • formatting/package.lisp (package rsb.formatting): removed exported
    symbols style-compact/80, style-compact/128, style-compact/180,
    style-statistics/80, style-statistics/128, style-statistics/180, and
    style-statistics/220; added exported symbols style-separator,
    style-separator-width
  • test/formatting/style-compact.lisp (test suite style-compact/80-root):
    removed; replace by style-compact test suite
    (test case style-compact/80-root::smoke): likewise
    (test suite style-compact/128-root):likewise
    (test case style-compact/128-root::smoke): likewise
    (test suite style-compact-root): new test suite; for style-compact
    (test case style-compact-root::smoke): new test case; test compact
    style for 80 and 128 columns

History

#1 Updated by J. Moringen about 10 years ago

  • Subject changed from cl logger style timeline/scope does not show anything if terminal is not wide enough to timeline/scope style does not show anything if terminal is not wide enough
  • Priority changed from Normal to Low
  • Target version set to rsb-0.11

#2 Updated by J. Moringen over 9 years ago

  • Priority changed from Low to High

#3 Updated by J. Moringen over 9 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF