Subversion Repositories programming

Rev

Rev 350 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 350 Rev 351
Line 190... Line 190...
190
void Elevator_Window::set_controller (Controller *controller)
190
void Elevator_Window::set_controller (Controller *controller)
191
{
191
{
192
    this->controller = controller;
192
    this->controller = controller;
193
}
193
}
194
 
194
 
195
void Elevator_Window::get_floors_from_user (int elevator_num)
195
void Elevator_Window::get_floors_from_user (int elevator_num, int floor)
196
{
196
{
197
    int res;
197
    int res;
-
 
198
    std::ostringstream strstrm;
-
 
199
 
-
 
200
    strstrm << "Elevator Number: " << elevator_num << " at Floor: " << floor;
198
 
201
 
199
    Gtk::Dialog d ("Floor Dialog", true, true);
202
    Gtk::Dialog d ("Floor Dialog", true, true);
200
    Gtk::Entry entry;
203
    Gtk::Entry entry;
201
    Gtk::Label label1 ("Enter floors to stop at (space seperated): ");
204
    Gtk::Label label1 ("Enter floors to stop at (space seperated): ");
202
    Gtk::Label label2 ("Enter -1 for none");
205
    Gtk::Label label2 ("Just push ok for none");
-
 
206
    Gtk::Label label3 (strstrm.str());
203
 
207
 
204
    Gtk::Box *pBox = d.get_vbox();
208
    Gtk::Box *pBox = d.get_vbox();
205
 
209
 
206
    pBox->set_spacing (10);
210
    pBox->set_spacing (10);
207
 
211
 
208
    pBox->pack_start (label1);
212
    pBox->pack_start (label1);
209
    pBox->pack_start (label2);
213
    pBox->pack_start (label2);
-
 
214
    pBox->pack_start (label3);
210
    pBox->pack_start (entry);
215
    pBox->pack_start (entry);
211
 
216
 
212
    label1.show ();
217
    label1.show ();
213
    label2.show ();
218
    label2.show ();
-
 
219
    label3.show ();
214
    entry.show ();
220
    entry.show ();
215
 
221
 
216
    d.add_button ("gtk-ok", 7);
222
    d.add_button ("gtk-ok", 7);
217
 
223
 
218
    // Run the Dialog
224
    // Run the Dialog
Line 224... Line 230...
224
    boost::split (SplitVec, s, boost::is_any_of(" "));
230
    boost::split (SplitVec, s, boost::is_any_of(" "));
225
 
231
 
226
    int i, val;
232
    int i, val;
227
    for (i=0; i<SplitVec.size(); i++)
233
    for (i=0; i<SplitVec.size(); i++)
228
    {
234
    {
-
 
235
	if (SplitVec[i] == "" || SplitVec[i] == " ")
-
 
236
	    val = -1;
-
 
237
	else
229
        val = atoi (SplitVec[i].c_str());
238
	    val = atoi (SplitVec[i].c_str());
230
 
239
 
231
        // Ignore values that are outside of range
240
        // Ignore values that are outside of range
232
        if (val >= 0 && val < numFloors)
241
        if (val >= 0 && val < numFloors)
233
            controller->push_button_in_elevator (elevator_num, val);
242
            controller->push_button_in_elevator (elevator_num, val);
234
    }
243
    }