Mercurial > repos > public > sbplib
comparison +util/ReplaceableString.m @ 167:15baeb35f74e feature/grids
Merge in changes from default.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 23 Feb 2016 13:25:43 +0100 |
parents | 26e047194383 |
children | af3bd542d550 |
comparison
equal
deleted
inserted
replaced
166:7cb97c1988d9 | 167:15baeb35f74e |
---|---|
1 classdef ReplaceableString < handle | |
2 properties | |
3 n | |
4 fmt | |
5 param | |
6 end | |
7 | |
8 methods | |
9 function obj = ReplaceableString(fmt, varargin) | |
10 default_arg('fmt', ''); | |
11 obj.n = 0; | |
12 | |
13 obj.setFormat(fmt); | |
14 obj.param = varargin; | |
15 end | |
16 | |
17 function setFormat(obj, fmt) | |
18 obj.fmt = fmt; | |
19 end | |
20 | |
21 function appendFormat(obj, fmt) | |
22 obj.fmt = [obj.fmt, fmt]; | |
23 end | |
24 | |
25 function update(obj, fmt, varargin) | |
26 obj.setFormat(fmt); | |
27 obj.param = varargin; | |
28 | |
29 obj.display(); | |
30 end | |
31 | |
32 function updateParam(obj, varargin) | |
33 obj.param = varargin; | |
34 obj.display(); | |
35 end | |
36 | |
37 function display(obj) | |
38 reverseStr = repmat(sprintf('\b'), 1, obj.n); | |
39 newStr = padStr(sprintf(obj.fmt, obj.param{:}),obj.n); | |
40 fprintf([reverseStr, newStr]); | |
41 | |
42 obj.n = length(newStr); | |
43 end | |
44 end | |
45 | |
46 end | |
47 | |
48 function b = padStr(a, n) | |
49 b = sprintf('%-*s', n, a); | |
50 end |