|
365 |
self.quit = False |
365 |
self.quit = False |
366 |
self.sim_helper = ns.visualizer.PyViz() |
366 |
self.sim_helper = ns.visualizer.PyViz() |
367 |
self.pause_messages = [] |
367 |
self.pause_messages = [] |
|
|
368 |
self.simtime = -1 |
368 |
|
369 |
|
369 |
def set_nodes_of_interest(self, nodes): |
370 |
def set_nodes_of_interest(self, nodes): |
370 |
self.lock.acquire() |
371 |
self.lock.acquire() |
|
372 |
self.sim_helper.SetNodesOfInterest(nodes) |
373 |
self.sim_helper.SetNodesOfInterest(nodes) |
373 |
finally: |
374 |
finally: |
374 |
self.lock.release() |
375 |
self.lock.release() |
|
|
376 |
|
377 |
def set_sim_time (self, simtime): |
378 |
self.simtime = simtime |
375 |
|
379 |
|
376 |
def run(self): |
380 |
def run(self): |
377 |
while not self.quit: |
381 |
while not self.quit: |
|
|
382 |
if not self.simtime == -1: |
383 |
if ns.core.Simulator.Now ().GetSeconds () >= self.simtime: |
384 |
self.viz.play_button.set_sensitive(False) |
385 |
break |
378 |
#print "sim: Wait for go" |
386 |
#print "sim: Wait for go" |
379 |
self.go.wait() # wait until the main (view) thread gives us the go signal |
387 |
self.go.wait() # wait until the main (view) thread gives us the go signal |
380 |
self.go.clear() |
388 |
self.go.clear() |
|
1185 |
|
1193 |
|
1186 |
gtk.main() |
1194 |
gtk.main() |
1187 |
|
1195 |
|
|
|
1196 |
def setSimTime (self, simtime): |
1197 |
self.simulation.set_sim_time (simtime) |
1198 |
|
1188 |
|
1199 |
|
1189 |
def on_root_button_press_event(self, view, target, event): |
1200 |
def on_root_button_press_event(self, view, target, event): |
1190 |
if event.button == 1: |
1201 |
if event.button == 1: |
|
1479 |
add_initialization_hook(hook) |
1490 |
add_initialization_hook(hook) |
1480 |
|
1491 |
|
1481 |
|
1492 |
|
1482 |
def start(): |
1493 |
def start(simtime): |
1483 |
assert Visualizer.INSTANCE is None |
1494 |
assert Visualizer.INSTANCE is None |
1484 |
if _import_error is not None: |
1495 |
if _import_error is not None: |
1485 |
import sys |
1496 |
import sys |
|
1491 |
for hook, args in initialization_hooks: |
1502 |
for hook, args in initialization_hooks: |
1492 |
gobject.idle_add(hook, viz, *args) |
1503 |
gobject.idle_add(hook, viz, *args) |
1493 |
ns.network.Packet.EnablePrinting() |
1504 |
ns.network.Packet.EnablePrinting() |
|
|
1505 |
viz.setSimTime(simtime) |
1494 |
viz.start() |
1506 |
viz.start() |