Changeset 156 for tests

Show
Ignore:
Timestamp:
09/01/08 15:08:50 (16 years ago)
Author:
mido
Message:

okomentovani UI

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tests/testUI.cpp

    r154 r156  
    11#include "userinfo.h" 
    22 
    3 ////////////////////////////////////////////////////////////////////////////////////////////// 
    4 ////////////////////////////////////////// BASIC VALUED USER INFOS /////////////////////////// 
    5 ////////////////////////////////////////////////////////////////////////////////////////////// 
    6  
    7 class BoolUI: public ValuedUserInfo<bool> 
    8 { 
    9 private: 
    10  
    11         bool* AssemblyInstance() 
    12         {                
    13                 if( value == "true" ) 
    14                         return new bool( true ); 
    15                 else 
    16                         return new bool( false ); 
    17         } 
    18  
    19         bool DisassemblyInstance(bool &instance) 
    20         { 
    21                 if( instance ) 
    22                         value = "true"; 
    23                 else 
    24                         value = "false"; 
    25                 return true;  
    26         } 
    27  
    28 public: 
    29  
    30         BoolUI() 
    31                 : ValuedUserInfo<bool>("bool") 
    32         { 
    33         } 
    34 }; 
    35  
    36 template<> const TypedUserInfo<bool>& TypedUserInfo<bool>::instance = BoolUI(); 
    37  
    38  
    39 class IntUI: public ValuedUserInfo<int> 
    40 { 
    41 private: 
    42  
    43         int* AssemblyInstance() 
    44         { 
    45                 return new int( atoi( value.c_str()) ); 
    46         } 
    47  
    48         bool DisassemblyInstance(int &instance) 
    49         { 
    50                 char buff[30]; 
    51                 sprintf(buff, "%d", instance ); 
    52                 value = buff; 
    53                 return true;  
    54         } 
    55  
    56 public: 
    57         IntUI():ValuedUserInfo<int>("int") 
    58         { 
    59         } 
    60 }; 
    61  
    62 template<> const TypedUserInfo<int>& TypedUserInfo<int>::instance = IntUI(); 
    63  
    64  
    65 class DoubleUI: public ValuedUserInfo<double> 
    66 { 
    67 private: 
    68  
    69         double* AssemblyInstance() 
    70         { 
    71                 return new double( atof( value.c_str()) ); 
    72         } 
    73  
    74         bool DisassemblyInstance(double &instance) 
    75         { 
    76                 char buff[30]; 
    77                 sprintf(buff, "%f", instance ); 
    78                 value = buff; 
    79                 return true;  
    80         } 
    81  
    82 public: 
    83         DoubleUI():ValuedUserInfo<double>("double") 
    84         { 
    85         } 
    86 }; 
    87  
    88 template<> const TypedUserInfo<double>& TypedUserInfo<double>::instance = DoubleUI(); 
    89  
    90 class StringUI: public ValuedUserInfo<string> 
    91 { 
    92 private: 
    93         string* AssemblyInstance() 
    94         { 
    95                 return new string( value ); 
    96         } 
    97  
    98         bool DisassemblyInstance(string &instance) 
    99         { 
    100                 value = instance; 
    101                 return true; 
    102         } 
    103  
    104 public: 
    105         StringUI():ValuedUserInfo<string>("string") 
    106         { 
    107         } 
    108 }; 
    109  
    110 template<> const TypedUserInfo<string>& TypedUserInfo<string>::instance = StringUI(); 
    1113 
    1124////////////////////////////////////////////////////////////////////////////////////////////// 
    113 ////////////////////////////////////////// EXAMPLE CLASSES DEFINITION //////////////////////// 
     5////////////////////////////////////////// CLASSES DEFINITION //////////////////////// 
    1146////////////////////////////////////////////////////////////////////////////////////////////// 
    1157class Transport 
     
    210102                :CompoundUserInfo<Bike>("bike"), 
    211103                year( this, "year", 0 ), 
    212                 lights( this, "electric_lights", false ), // jen jedno slovo! 
     104                lights( this, "electric lights", false ),  
    213105                manufacturer( this, "manufacturer", "unknown") 
    214106        {