64 #ifdef CHECK_MEMORY_LEAKS
66 #endif // CHECK_MEMORY_LEAKS
111 myParent(&app), myChosenValue(0), myChosenTarget(myChosenValue, NULL, MID_OPTION),
112 mySpeed(o.getDefaultSpeed()), mySpeedTarget(mySpeed),
114 myChosenTarget.setTarget(
this);
115 FXVerticalFrame* f1 =
116 new FXVerticalFrame(
this, LAYOUT_FILL_X | LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0);
118 FXGroupBox* gp =
new FXGroupBox(f1,
"Change Speed",
119 GROUPBOX_TITLE_LEFT | FRAME_RIDGE,
120 0, 0, 0, 0, 4, 4, 1, 1, 2, 0);
125 new FXRadioButton(gf1,
"Default", &myChosenTarget, FXDataTarget::ID_OPTION + 0,
126 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP,
127 0, 0, 0, 0, 2, 2, 0, 0);
133 new FXRadioButton(gf0,
"Loaded", &myChosenTarget, FXDataTarget::ID_OPTION + 1,
134 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP,
135 0, 0, 0, 0, 2, 2, 0, 0);
141 new FXRadioButton(gf2,
"Predefined: ", &myChosenTarget, FXDataTarget::ID_OPTION + 2,
142 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y,
143 0, 0, 0, 0, 2, 2, 0, 0);
145 new FXComboBox(gf2, 10,
this, MID_PRE_DEF,
146 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y | COMBOBOX_STATIC);
147 myPredefinedValues->appendItem(
"20 km/h");
148 myPredefinedValues->appendItem(
"40 km/h");
149 myPredefinedValues->appendItem(
"60 km/h");
150 myPredefinedValues->appendItem(
"80 km/h");
151 myPredefinedValues->appendItem(
"100 km/h");
152 myPredefinedValues->appendItem(
"120 km/h");
153 myPredefinedValues->appendItem(
"140 km/h");
154 myPredefinedValues->appendItem(
"160 km/h");
155 myPredefinedValues->appendItem(
"180 km/h");
156 myPredefinedValues->appendItem(
"200 km/h");
157 myPredefinedValues->setNumVisible(5);
163 new FXRadioButton(gf12,
"Free Entry: ", &myChosenTarget, FXDataTarget::ID_OPTION + 3,
164 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y,
165 0, 0, 0, 0, 2, 2, 0, 0);
168 LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK);
169 myUserDefinedSpeed->setFormatString(
"%.0f km/h");
170 myUserDefinedSpeed->setIncrements(1, 10, 10);
171 myUserDefinedSpeed->setRange(0, 300);
172 myUserDefinedSpeed->setValue(
173 static_cast<GUILaneSpeedTrigger*>(myObject)->getDefaultSpeed() * 3.6);
176 BUTTON_INITIAL | BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X, 0, 0, 0, 0, 30, 30, 4, 4);
193 mySpeed = (
SUMOReal)(myUserDefinedSpeed->getValue() / 3.6);
195 myParent->updateChildren();
203 myChosenValue != 3 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
205 myParent->updateChildren();
212 mySpeed = (
SUMOReal)(
SUMOReal)((myPredefinedValues->getCurrentItem() * 20 + 20) / 3.6);
214 myParent->updateChildren();
222 myChosenValue != 2 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
224 myParent->updateChildren();
232 switch (myChosenValue) {
234 mySpeed = (
SUMOReal) static_cast<GUILaneSpeedTrigger*>(myObject)->getDefaultSpeed();
237 mySpeed = (
SUMOReal) static_cast<GUILaneSpeedTrigger*>(myObject)->getLoadedSpeed();
240 mySpeed = (
SUMOReal)((myPredefinedValues->getCurrentItem() * 20 + 20) / 3.6);
243 mySpeed = (
SUMOReal)(myUserDefinedSpeed->getValue() / 3.6);
250 myParent->updateChildren();
251 if (myChosenValue == 1) {
277 *myApplication, *myParent);
286 const std::string&
id,
const std::vector<MSLane*> &destLanes,
287 const std::string& aXMLFilename)
293 std::vector<MSLane*>::const_iterator i;
294 for (i = destLanes.begin(); i != destLanes.end(); ++i) {
330 ret->
mkItem(
"speed [m/s]",
true,
348 glTranslated(pos.
x(), pos.
y(), 0);
349 glRotated(rot, 0, 0, 1);
350 glTranslated(0, -1.5, 0);
354 noPoints = (
int)(9.0 + s.
scale / 10.0);
362 glTranslated(0, 0, .1);
371 if (((
int) value + 1) % 10 == 0) {
372 value = (
SUMOReal)(((
int) value + 1) / 10 * 10);
379 if (idx != std::string::npos) {
388 glTranslated(0, 0, .1);
389 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
393 glRotated(180, 0, 1, 0);
394 glTranslated(-w / 2., 0.3, 0);