tktax_analysis/
analysis_flags.rs

1// ---------------- [ File: tktax-analysis/src/analysis_flags.rs ]
2crate::ix!();
3
4bitflags!{
5    pub struct AccountAnalysisFlags: u32 {
6        const SHOW_ACCOUNT_SUMMARY                    = 1 << 1;
7        const SHOW_HISTOGRAM                          = 1 << 2;
8        const SHOW_BURSTS                             = 1 << 3;
9        const SHOW_MONTHLY_SUMMARY                    = 1 << 4;
10        const SHOW_CATEGORIZED_FULL                   = 1 << 5;
11        const SHOW_CATEGORIZED_SHORT                  = 1 << 6;
12        const SHOW_CATEGORY_MAP                       = 1 << 7;
13        const SHOW_MEDICAL_AND_INSURANCE_TRANSACTIONS = 1 << 8;
14        const SHOW_BUSINESS_TRANSACTIONS              = 1 << 9;
15        const SHOW_TREASURY_TRANSACTIONS_AND_CHECKS   = 1 << 10;
16        const SHOW_QUARTERLY_SUMMARY                  = 1 << 11;
17
18        const SHORT_REPORT = 
19            Self::SHOW_ACCOUNT_SUMMARY.bits()
20            | Self::SHOW_MONTHLY_SUMMARY.bits()
21            | Self::SHOW_MEDICAL_AND_INSURANCE_TRANSACTIONS.bits()
22            | Self::SHOW_TREASURY_TRANSACTIONS_AND_CHECKS.bits()
23            | Self::SHOW_BUSINESS_TRANSACTIONS.bits()
24            ;
25
26        const FULL_REPORT = 
27            Self::SHOW_HISTOGRAM.bits() 
28            | Self::SHOW_ACCOUNT_SUMMARY.bits() 
29            | Self::SHOW_BURSTS.bits()
30            | Self::SHOW_CATEGORIZED_FULL.bits()
31            | Self::SHOW_MONTHLY_SUMMARY.bits()
32            | Self::SHOW_MEDICAL_AND_INSURANCE_TRANSACTIONS.bits()
33            | Self::SHOW_TREASURY_TRANSACTIONS_AND_CHECKS.bits()
34            | Self::SHOW_BUSINESS_TRANSACTIONS.bits()
35            | Self::SHOW_QUARTERLY_SUMMARY.bits()
36            ;
37    }
38}
39
40impl Default for AccountAnalysisFlags {
41    fn default() -> Self {
42        Self::full()
43    }
44}
45
46impl AccountAnalysisFlags {
47    pub fn short() -> Self { Self::SHORT_REPORT }
48    pub fn full()  -> Self { Self::FULL_REPORT }
49}