@@ -58,10 +58,12 @@ func newWealth(u *baseUI) *wealth {
5858 color := theme .ColorNameForeground
5959 a .assetDetail .SetTitleStyle (size , color )
6060 a .assetDetail .HideLegend ()
61+ a .assetDetail .SetYAxisLabel ("B ISK" )
6162 a .assetSplit .SetTitleStyle (size , color )
6263 a .walletSplit .SetTitleStyle (size , color )
6364 a .walletDetail .SetTitleStyle (size , color )
6465 a .walletDetail .HideLegend ()
66+ a .walletDetail .SetYAxisLabel ("B ISK" )
6567 a .totalSplit .SetTitleStyle (size , color )
6668 a .characterSplit .SetTitleStyle (size , color )
6769
@@ -132,146 +134,170 @@ func (a *wealth) update() {
132134 totalAssets += r .assets
133135 totalWallet += r .wallet
134136 }
135- colors := newColorWheel ()
136-
137137 // totals
138138 if a .onUpdate != nil {
139139 a .onUpdate (totalWallet * wealthMultiplier , totalAssets * wealthMultiplier )
140140 }
141141
142- // total
143- s5 , err := prop .NewSeries ("" , []chartData.ProportionalPoint {
144- {
145- C : "Assets combined" ,
146- Val : totalAssets ,
147- Col : colors .next (),
148- },
149- {
150- C : "Wallets combined" ,
151- Val : totalWallet ,
152- Col : colors .next (),
153- },
154- })
155- fyne .Do (func () {
156- a .totalSplit .RemoveSeries ("" )
157- err = a .totalSplit .AddSeries (s5 )
158- if err != nil {
159- panic (err )
160- }
161- a .totalSplit .SetTitle (fmt .Sprintf ("Wealth By Source - Total: %.1f B ISK" , totalWallet + totalAssets ))
162- })
142+ a .updateAssetDetail (data , totalAssets )
143+ a .updateAssetSplit (data , totalAssets )
144+ a .updateCharacterSplit (data , totalAssets , totalWallet )
145+ a .updateTotalSplit (totalAssets , totalWallet )
146+ a .updateWalletDetail (data , totalWallet )
147+ a .updateWalletSplit (data , totalWallet )
148+ }
163149
164- // Total split
165- d6 := xslices .Map (data , func (r dataRow ) chartData.ProportionalPoint {
166- return chartData.ProportionalPoint {
150+ func (a * wealth ) updateAssetDetail (data []dataRow , totalAssets float64 ) {
151+ colors := newColorWheel ()
152+ d := xslices .Map (data , func (r dataRow ) chartData.CategoricalPoint {
153+ return chartData.CategoricalPoint {
167154 C : r .label ,
168155 Val : r .assets ,
169- Col : colors .next (),
170156 }
171157 })
172- d6 = reduceProportionalPoints ( d6 , wealthMaxCharacters )
173- s6 , err := prop . NewSeries ("Characters" , d6 )
158+ d = reduceCategoricalPoints ( d , wealthMaxCharacters )
159+ s , err := coord . NewCategoricalPointSeries ("Characters" , colors . next (), d )
174160 if err != nil {
175- panic (err )
161+ slog .Error ("wealth: asset details" , "error" , err )
162+ return
176163 }
177164 fyne .Do (func () {
178- a .characterSplit .RemoveSeries ("Characters" )
179- err = a .characterSplit . AddSeries ( s6 )
165+ a .assetDetail .RemoveSeries ("Characters" )
166+ err = a .assetDetail . AddBarSeries ( s )
180167 if err != nil {
181- panic (err )
168+ slog .Error ("wealth: asset details" , "error" , err )
169+ return
182170 }
183- a .characterSplit .SetTitle (fmt .Sprintf ("Wealth By Character - Total: %.1f B ISK" , totalAssets + totalWallet ))
171+ a .assetDetail .SetTitle (fmt .Sprintf ("Assets By Character - Total: %.1f B ISK" , totalAssets ))
184172 })
173+ }
185174
186- // Asset split
187- d1 := xslices .Map (data , func (r dataRow ) chartData.ProportionalPoint {
175+ func (a * wealth ) updateAssetSplit (data []dataRow , totalAssets float64 ) {
176+ colors := newColorWheel ()
177+ d := xslices .Map (data , func (r dataRow ) chartData.ProportionalPoint {
188178 return chartData.ProportionalPoint {
189179 C : r .label ,
190180 Val : r .assets ,
191181 Col : colors .next (),
192182 }
193183 })
194- d1 = reduceProportionalPoints (d1 , wealthMaxCharacters )
195- s1 , err := prop .NewSeries ("Characters" , d1 )
184+ d = reduceProportionalPoints (d , wealthMaxCharacters )
185+ s , err := prop .NewSeries ("Characters" , d )
196186 if err != nil {
197- panic (err )
187+ slog .Error ("wealth: asset split" , "error" , err )
188+ return
198189 }
199190 fyne .Do (func () {
200191 a .assetSplit .RemoveSeries ("Characters" )
201- err = a .assetSplit .AddSeries (s1 )
192+ err = a .assetSplit .AddSeries (s )
202193 if err != nil {
203- panic (err )
194+ slog .Error ("wealth: asset split" , "error" , err )
195+ return
204196 }
205197 a .assetSplit .SetTitle (fmt .Sprintf ("Assets By Character - Total: %.1f B ISK" , totalAssets ))
206198 })
199+ }
207200
208- // Wallet split
209- colors . reset ()
210- d2 := xslices .Map (data , func (r dataRow ) chartData.ProportionalPoint {
201+ func ( a * wealth ) updateCharacterSplit ( data [] dataRow , totalAssets float64 , totalWallet float64 ) {
202+ colors := newColorWheel ()
203+ d := xslices .Map (data , func (r dataRow ) chartData.ProportionalPoint {
211204 return chartData.ProportionalPoint {
212205 C : r .label ,
213- Val : r .wallet ,
206+ Val : r .assets ,
214207 Col : colors .next (),
215208 }
216209 })
217- d2 = reduceProportionalPoints (d2 , wealthMaxCharacters )
218- s2 , err := prop .NewSeries ("Characters" , d2 )
210+ d = reduceProportionalPoints (d , wealthMaxCharacters )
211+ s , err := prop .NewSeries ("Characters" , d )
219212 if err != nil {
220- panic (err )
213+ slog .Error ("wealth: character split" , "error" , err )
214+ return
221215 }
222216 fyne .Do (func () {
223- a .walletSplit .RemoveSeries ("Characters" )
224- err = a .walletSplit .AddSeries (s2 )
217+ a .characterSplit .RemoveSeries ("Characters" )
218+ err = a .characterSplit .AddSeries (s )
225219 if err != nil {
226- panic (err )
220+ slog .Error ("wealth: character split" , "error" , err )
221+ return
227222 }
228- a .walletSplit .SetTitle (fmt .Sprintf ("Wallets By Character - Total: %.1f B ISK" , totalWallet ))
223+ a .characterSplit .SetTitle (fmt .Sprintf ("Wealth By Character - Total: %.1f B ISK" , totalAssets + totalWallet ))
224+ })
225+ }
226+
227+ func (a * wealth ) updateTotalSplit (totalAssets float64 , totalWallet float64 ) {
228+ colors := newColorWheel ()
229+ s , err := prop .NewSeries ("" , []chartData.ProportionalPoint {
230+ {
231+ C : "Assets combined" ,
232+ Val : totalAssets ,
233+ Col : colors .next (),
234+ },
235+ {
236+ C : "Wallets combined" ,
237+ Val : totalWallet ,
238+ Col : colors .next (),
239+ },
229240 })
241+ fyne .Do (func () {
242+ a .totalSplit .RemoveSeries ("" )
243+ err = a .totalSplit .AddSeries (s )
244+ if err != nil {
245+ slog .Error ("wealth: total split" , "error" , err )
246+ return
247+ }
248+ a .totalSplit .SetTitle (fmt .Sprintf ("Wealth By Source - Total: %.1f B ISK" , totalWallet + totalAssets ))
249+ })
250+ }
230251
231- // Assets detail
232- colors . reset ()
233- d4 := xslices .Map (data , func (r dataRow ) chartData.CategoricalPoint {
252+ func ( a * wealth ) updateWalletDetail ( data [] dataRow , totalWallet float64 ) {
253+ colors := newColorWheel ()
254+ d := xslices .Map (data , func (r dataRow ) chartData.CategoricalPoint {
234255 return chartData.CategoricalPoint {
235256 C : r .label ,
236- Val : r .assets ,
257+ Val : r .wallet ,
237258 }
238259 })
239- d4 = reduceCategoricalPoints (d4 , wealthMaxCharacters )
240- s4 , err := coord .NewCategoricalPointSeries ("Characters" , colors .next (), d4 )
260+ d = reduceCategoricalPoints (d , wealthMaxCharacters )
261+ s , err := coord .NewCategoricalPointSeries ("Characters" , colors .next (), d )
241262 if err != nil {
242- panic (err )
263+ slog .Error ("wealth: wallet details" , "error" , err )
264+ return
243265 }
244266 fyne .Do (func () {
245- a .assetDetail .RemoveSeries ("Characters" )
246- err = a .assetDetail .AddBarSeries (s4 )
267+ a .walletDetail .RemoveSeries ("Characters" )
268+ err = a .walletDetail .AddBarSeries (s )
247269 if err != nil {
248- panic (err )
270+ slog .Error ("wealth: wallet details" , "error" , err )
271+ return
249272 }
250- a .assetDetail .SetTitle (fmt .Sprintf ("Assets By Character - Total: %.1f B ISK" , totalAssets ))
273+ a .walletDetail .SetTitle (fmt .Sprintf ("Wallets By Character - Total: %.1f B ISK" , totalWallet ))
251274 })
275+ }
252276
253- // Wallet details
254- colors . reset ()
255- d3 := xslices .Map (data , func (r dataRow ) chartData.CategoricalPoint {
256- return chartData.CategoricalPoint {
277+ func ( a * wealth ) updateWalletSplit ( data [] dataRow , totalWallet float64 ) {
278+ colors := newColorWheel ()
279+ d := xslices .Map (data , func (r dataRow ) chartData.ProportionalPoint {
280+ return chartData.ProportionalPoint {
257281 C : r .label ,
258282 Val : r .wallet ,
283+ Col : colors .next (),
259284 }
260285 })
261- d3 = reduceCategoricalPoints ( d3 , wealthMaxCharacters )
262- s3 , err := coord . NewCategoricalPointSeries ("Characters" , colors . next (), d3 )
286+ d = reduceProportionalPoints ( d , wealthMaxCharacters )
287+ s , err := prop . NewSeries ("Characters" , d )
263288 if err != nil {
264- panic (err )
289+ slog .Error ("wealth: wallet split" , "error" , err )
290+ return
265291 }
266292 fyne .Do (func () {
267- a .walletDetail .RemoveSeries ("Characters" )
268- err = a .walletDetail . AddBarSeries ( s3 )
293+ a .walletSplit .RemoveSeries ("Characters" )
294+ err = a .walletSplit . AddSeries ( s )
269295 if err != nil {
270- panic (err )
296+ slog .Error ("wealth: wallet split" , "error" , err )
297+ return
271298 }
272- a .walletDetail .SetTitle (fmt .Sprintf ("Wallets By Character - Total: %.1f B ISK" , totalWallet ))
299+ a .walletSplit .SetTitle (fmt .Sprintf ("Wallets By Character - Total: %.1f B ISK" , totalWallet ))
273300 })
274-
275301}
276302
277303func reduceProportionalPoints (data []chartData.ProportionalPoint , m int ) []chartData.ProportionalPoint {
@@ -382,14 +408,14 @@ func newColorWheel() colorWheel {
382408 colors : make ([]color.Color , 0 ),
383409 }
384410 w .colors = []color.Color {
385- theme .Color (theme .ColorNameSuccess ),
386- theme .Color (theme .ColorNameError ),
387411 theme .Color (theme .ColorNamePrimary ),
388412 theme .Color (theme .ColorNameWarning ),
413+ theme .Color (theme .ColorNameSuccess ),
414+ theme .Color (theme .ColorNameError ),
389415 theme .Color (colorNameInfo ),
416+ theme .Color (colorNameAttention ),
390417 theme .Color (colorNameCreative ),
391418 theme .Color (colorNameSystem ),
392- theme .Color (colorNameAttention ),
393419 theme .Color (theme .ColorNamePlaceHolder ),
394420 }
395421 return w
@@ -405,6 +431,6 @@ func (w *colorWheel) next() color.Color {
405431 return c
406432}
407433
408- func (w * colorWheel ) reset () {
409- w .n = 0
410- }
434+ // func (w *colorWheel) reset() {
435+ // w.n = 0
436+ // }
0 commit comments