Codebase list golang-github-vbauerster-mpb / cd89b7c
make sure BarClearOnComplete doesn't depend on order Vladimir Bauer 6 years ago
3 changed file(s) with 7 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
5757 type extFunc func(in io.Reader, tw int, st *decor.Statistics) (out io.Reader, lines int)
5858
5959 type bState struct {
60 baseF Filler
6061 filler Filler
6162 id int
6263 width int
164165 SetRefill(int64)
165166 }
166167 b.operateState <- func(s *bState) {
167 if f, ok := s.filler.(refiller); ok {
168 if f, ok := s.baseF.(refiller); ok {
168169 f.SetRefill(amount)
169170 }
170171 }
7979 // BarClearOnComplete clears bar filler only, on complete event.
8080 func BarClearOnComplete() BarOption {
8181 return func(s *bState) {
82 s.filler = makeClearOnCompleteFiller(s.filler)
82 s.filler = makeClearOnCompleteFiller(s.baseF)
8383 }
8484 }
8585
140140 SetStyle(string)
141141 }
142142 return func(s *bState) {
143 if t, ok := s.filler.(styleSetter); ok {
143 if t, ok := s.baseF.(styleSetter); ok {
144144 t.SetStyle(style)
145145 }
146146 }
160160 SetReverse(bool)
161161 }
162162 return func(s *bState) {
163 if t, ok := s.filler.(revSetter); ok {
163 if t, ok := s.baseF.(revSetter); ok {
164164 t.SetReverse(true)
165165 }
166166 }
190190 cb func(interface{}),
191191 ) BarOption {
192192 return func(s *bState) {
193 if t, ok := typeChecker(s.filler); ok {
193 if t, ok := typeChecker(s.baseF); ok {
194194 cb(t)
195195 }
196196 }
331331 func (s *pState) makeBarState(total int64, filler Filler, options ...BarOption) *bState {
332332 bs := &bState{
333333 total: total,
334 baseF: filler,
334335 filler: filler,
335336 priority: s.idCount,
336337 id: s.idCount,