root/library/bdm/bdmroot.cpp @ 942

Revision 942, 1.0 kB (checked in by mido, 14 years ago)

the functionality of user info was improved, it supports an initialization of root descendant via UI::get directly, however it is save only for static attributes, for dynamically allocated attributes UI::build should be called to handle with intahrence issues

  • Property svn:eol-style set to native
Line 
1#include "bdmroot.h"
2
3//! Space of basic BDM structures
4namespace bdm {
5       
6        void UI_DBG (const  Setting &S, const string &spc, ostream &out =cout){
7                const char *Name=S.getName();
8                if ( Name!=NULL ) {out << spc << std::string ( Name );};
9                Setting::Type T=S.getType();
10                switch ( T ) {
11                        case Setting::TypeArray:
12                                out << endl;
13                                for ( int i=0;i<S.getLength();i++ ) {UI_DBG ( S[i], spc+" ", out);};
14                                break;
15                        case Setting::TypeList:
16                                out << endl;
17                                for ( int i=0;i<S.getLength();i++ ) {UI_DBG ( S[i], spc+" ", out );};
18                                break;
19                        case Setting::TypeGroup:
20                                out << endl;
21                                for ( int i=0;i<S.getLength();i++ ) {UI_DBG ( S[i], spc+" ", out );}
22                                break;
23                        case Setting::TypeInt:
24                                out << " = ";
25                                out << int ( S ) <<endl;
26                                break;
27                        case Setting::TypeFloat:
28                                out << " = ";
29                                out << double ( S ) <<endl;
30                                break;
31                        case Setting::TypeString:
32                                out << " = ";
33                                out << ( const char* ) ( S ) <<endl;
34                                break;
35                        case Setting::TypeBoolean:
36                                out << " = ";
37                                out << bool ( S ) <<endl;
38                                break;
39                        default: {out << "?";};
40                };
41        }
42       
43}
Note: See TracBrowser for help on using the browser.