Changeset 45:199f433eb7cd in glemon-0.x
- Timestamp:
- 07/27/05 13:19:35 (20 years ago)
- Branch:
- gui
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk/gui@2100
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
graph_displayer_canvas-edge.cc
r44 r45 120 120 edgemap_to_edit=mapname; 121 121 double number=(*(mapstorage.edgemap_storage)[mapname])[i]; 122 // int length=1;123 // //if number is smaller than one, length would be negative, or invalid124 // if(number>=1)125 // {126 // length=(int)(floor(log(number)/log(10)))+1;127 // }128 // int maxpos=(int)(pow(10,length-1));129 // int strl=length+1+RANGE;130 // char * str=new char[strl];131 // str[length]='.';132 // str[strl]='\0';133 134 // for(int j=0;j<strl;j++)135 // {136 // if(j!=length)137 // {138 // if((number-(int)number)>ALMOST_ONE)139 // {140 // number=round(number);141 // }142 // int digit=(int)(number/maxpos);143 // str[j]=(digit+'0');144 // number-=digit*maxpos;145 // number*=10;146 // }147 // }148 // edgetextmap[i]->property_text().set_value(str);149 122 150 123 std::ostringstream ostr; 151 124 ostr << number; 152 125 153 126 edgetextmap[i]->property_text().set_value(ostr.str()); 154 127 } … … 166 139 { 167 140 double number=(*(mapstorage.edgemap_storage)[mapname])[edge]; 168 int length=1; 169 //if number is smaller than one, length would be negative, or invalid 170 if(number>=1) 171 { 172 length=(int)(floor(log(number)/log(10)))+1; 173 } 174 int maxpos=(int)(pow(10,length-1)); 175 int strl=length+1+RANGE; 176 char * str=new char[strl]; 177 str[length]='.'; 178 str[strl]='\0'; 179 180 for(int j=0;j<strl;j++) 181 { 182 if(j!=length) 183 { 184 if((number-(int)number)>ALMOST_ONE) 185 { 186 number=round(number); 187 } 188 int digit=(int)(number/maxpos); 189 str[j]=(digit+'0'); 190 number-=digit*maxpos; 191 number*=10; 192 } 193 } 194 195 edgetextmap[edge]->property_text().set_value(str); 141 142 std::ostringstream ostr; 143 ostr << number; 144 145 edgetextmap[edge]->property_text().set_value(ostr.str()); 196 146 } 197 147 else -
graph_displayer_canvas-event.cc
r43 r45 752 752 mapvalue_ch[i]=mapvalue_str[i]; 753 753 } 754 755 double mapvalue_d=atof(mapvalue_ch); 756 754 757 755 //if the text in the entry was correct 758 756 if((point_num<=1)&&(valid_double)) 759 757 { 758 double mapvalue_d=atof(mapvalue_ch); 759 760 //reconvert the double to string for the correct format 761 std::ostringstream ostr; 762 ostr << mapvalue_d; 763 760 764 //save the value to the correct place 761 765 switch(actual_tool) 762 766 { 763 767 case EDGE_MAP_EDIT: 764 edgetextmap[active_edge]->property_text().set_value( mapvalue_str);768 edgetextmap[active_edge]->property_text().set_value(ostr.str()); 765 769 (*(mapstorage.edgemap_storage)[edgemap_to_edit])[active_edge]=mapvalue_d; 766 770 break; 767 771 case NODE_MAP_EDIT: 768 nodetextmap[active_node]->property_text().set_value( mapvalue_str);772 nodetextmap[active_node]->property_text().set_value(ostr.str()); 769 773 (*(mapstorage.nodemap_storage)[nodemap_to_edit])[active_node]=mapvalue_d; 770 774 break; -
graph_displayer_canvas-node.cc
r36 r45 150 150 nodemap_to_edit=mapname; 151 151 double number=(*actual_map)[i]; 152 int length=1; 153 //if number is smaller than one, length would be negative, or invalid 154 if(number>=1) 155 { 156 length=(int)(floor(log(number)/log(10)))+1; 157 } 158 int maxpos=(int)(pow(10,length-1)); 159 int strl=length+1+RANGE; 160 char * str=new char[strl]; 161 str[length]='.'; 162 str[strl]='\0'; 163 164 for(int j=0;j<strl;j++) 165 { 166 if(j!=length) 167 { 168 // std::cout << (number) << "-" << (int)number << "=" << (number)-(int)number << std::endl; 169 if((number-(int)number)>ALMOST_ONE) 170 { 171 // std::cout<<"rounding: " <<number<<std::endl; 172 number=round(number); 173 } 174 int digit=(int)(number/maxpos); 175 // std::cout << number << "/" << maxpos << "=" << digit << std::endl; 176 str[j]=(digit+'0'); 177 number-=digit*maxpos; 178 number*=10; 179 } 180 } 181 182 nodetextmap[i]->property_text().set_value(str); 152 153 std::ostringstream ostr; 154 ostr << number; 155 156 nodetextmap[i]->property_text().set_value(ostr.str()); 183 157 } 184 158 else … … 194 168 { 195 169 double number=(*actual_map)[node]; 196 int length=1; 197 //if number is smaller than one, length would be negative, or invalid 198 if(number>=1) 199 { 200 length=(int)(floor(log(number)/log(10)))+1; 201 } 202 int maxpos=(int)(pow(10,length-1)); 203 int strl=length+1+RANGE; 204 char * str=new char[strl]; 205 str[length]='.'; 206 str[strl]='\0'; 207 208 for(int j=0;j<strl;j++) 209 { 210 if(j!=length) 211 { 212 if((number-(int)number)>ALMOST_ONE) 213 { 214 number=round(number); 215 } 216 int digit=(int)(number/maxpos); 217 str[j]=(digit+'0'); 218 number-=digit*maxpos; 219 number*=10; 220 } 221 } 222 223 nodetextmap[node]->property_text().set_value(str); 170 171 std::ostringstream ostr; 172 ostr << number; 173 174 nodetextmap[node]->property_text().set_value(ostr.str()); 224 175 } 225 176 else
Note: See TracChangeset
for help on using the changeset viewer.