2016-11-17 5 views
0

main.cppFLTK выход, показывающий последний вход

void torsoOPCB(Fl_Widget *w, void* p) { 
    for(std::size_t i=0; i < torso.size(); i++) { 
     cout << "Name: " << torso[i].GetName() << endl; 
     cout << "Part Number: " << torso[i].GetPartNumber() << endl << endl; 
    } // This loop is to check if the inputs are in the vector torso 


    dialog = new Fl_Window(340, 300, "Robot Part"); 

    Fl_Multiline_Output* output = new Fl_Multiline_Output(100, 10, 400, 200, "Torso list:"); 


    for(std::size_t i = 0; i < torso.size(); i++) { 
     output->value(torso[i].print().c_str()); 
    } 

    dialog->end(); 
    dialog->set_non_modal(); 
    dialog->show(); 
} 

Я учусь, как использовать FLTK в C++, и я не знаю, почему он продолжает показывать мне входы самые последние пользователя. Например, если я ввел входы для торса [0] и торса [1], на выходе будет отображаться только торс [1], который является последним входом. Входы хранятся правильно, я думаю, но я не уверен, почему он не будет показывать туловище [0] и торс [1].

Вот мой печати fucntion

Torso.cpp

std::string Torso::print() 
{ 
    ostringstream of; 

    of << "Part name: " << GetName() 
    << endl << "Part #: " << GetPartNumber() 
    << endl << "Weight: " << GetWeight() 
    << endl << "Cost: " << GetCost() 
    << endl << "Battery Comp: " << GetDescription() 
    << endl << "Description: " << GetBatteryCompartmentSize() << endl; 

    return of.str(); 
} 

Я использую FLTK версии 1.3.4. Спасибо в пожилом

ответ

0

Вы только показывает самый последний элемент в

for(std::size_t i = 0; i < torso.size(); i++) { 
    output->value(torso[i].print().c_str()); 
} 

Выходное значение всегда переписывается. Если вы хотите, чтобы показать все результаты, собрать его, прежде чем положить его в виджет

std::ostringstream oss; 
for(std::size_t i = 0; i < torso.size(); i++) { 
    oss << torso[i].print() << "\n"; 
} 
output->value(oss.str().c_str()); 

Если вы не возражаете, несколько выходов на той же строке, измените «\ п к». "

Смежные вопросы