def drawTransition(self, fo_widget, rt): """ DOCUMENT ME! """ # check input assert fo_widget i = 0 while (i < len(rt._aoItem)): lo_painter = QtGui.QPainter(fo_widget) assert lo_painter is not None lo_painter.setPen(gdata.G_DCT_COLORS["transition"]) if (i + 1) < len(rt._aoItem): l_pos = fo_widget.viewport.translate_pos(fo_widget._airspace.getPosition(rt._aoItem[i].s_name)) lf_x = l_pos.f_x lf_y = l_pos.f_y l_pos = fo_widget.viewport.translate_pos(fo_widget._airspace.getPosition(rt._aoItem[i + 1].s_name)) lo_painter.drawLine(tMath.round(lf_x, 0), tMath.round( lf_y, 0), tMath.round(l_pos.f_x, 0), tMath.round(l_pos.f_y, 0)) del lo_painter self.draw_waypoint(fo_widget, rt._aoItem[i].s_name, True) i += 1
def draw_trajetoria(self, fo_widget, f_trj): """ DOCUMENT ME! """ # check input assert fo_widget assert f_trj # get blip size lf_blip_size = fo_widget.viewport.f_blip_size # create painter lo_painter = QtGui.QPainter(fo_widget) assert lo_painter is not None # create pen l_pen = QtGui.QPen() assert l_pen # for all breakpoints... for l_ndx, l_brk in enumerate(f_trj.lst_trj_brk): # get breakpoint id ls_id = (ldefs.D_FMT_TRJ + "-{}").format(f_trj.i_prc_id, l_brk.i_brk_id) # breakpoint position l_pos = fo_widget.viewport.translate_pos( pll.CPosLatLng(l_brk.f_brk_lat, l_brk.f_brk_lng)) # not first breakpoint ? if 0 != l_ndx: # set line colour l_pen.setColor(gdata.G_DCT_COLORS["trajectory"]) # set line style l_pen.setStyle(QtCore.Qt.DashDotLine) # seleciona a caneta lo_painter.setPen(l_pen) # draw line lo_painter.drawLine(tMath.round(l_pos_ant.f_x, 0), tMath.round(l_pos_ant.f_y, 0), tMath.round(l_pos.f_x, 0), tMath.round(l_pos.f_y, 0)) # select colour & font lo_painter.setPen(gdata.G_DCT_COLORS["trajectory_name"]) lo_painter.setFont(QtGui.QFont("Arial", int(lf_blip_size))) # draw text (indicativo do breakpoint) lo_painter.drawText(int(l_pos.f_x - lf_blip_size * 2), int(l_pos.f_y - lf_blip_size), ls_id) # save last position l_pos_ant = l_pos # free painter del lo_painter
def draw_subida(self, fo_widget, f_sub): """ DOCUMENT ME! """ # check input assert fo_widget # get blip size lf_blip_size = fo_widget.viewport.f_blip_size # create painter lo_painter = QtGui.QPainter(fo_widget) assert lo_painter is not None # create pen l_pen = QtGui.QPen() assert l_pen # for all breakpoints... for l_ndx, l_brk in enumerate(f_sub.lst_sub_brk): # get breakpoint id ls_id = (ldefs.D_FMT_SUB + "-{}").format(f_sub.i_prc_id, l_brk.i_brk_id) # breakpoint position l_pos = fo_widget.viewport.translate_pos( pll.CPosLatLng(l_brk.f_brk_lat, l_brk.f_brk_lng)) # not first breakpoint ? if 0 != l_ndx: # set line colour l_pen.setColor(gdata.G_DCT_COLORS["subida"]) # set line style l_pen.setStyle(QtCore.Qt.DashLine) # seleciona a caneta lo_painter.setPen(l_pen) # draw line lo_painter.drawLine(tMath.round(l_pos_ant.f_x, 0), tMath.round(l_pos_ant.f_y, 0), tMath.round(l_pos.f_x, 0), tMath.round(l_pos.f_y, 0)) # seleciona a cor e fonte do texto lo_painter.setPen(gdata.G_DCT_COLORS["name"]) lo_painter.setFont(QtGui.QFont("Arial", int(lf_blip_size))) # desenha o texto (indicativo do breakpoint) lo_painter.drawText(int(l_pos.f_x - lf_blip_size * 2), int(l_pos.f_y - lf_blip_size), ls_id) # salva a posição anterior l_pos_ant = l_pos # remove o painter del lo_painter
def pause(self, f_vVal): """ DOCUMENT ME! """ self.__v_paused = f_vVal if self.__v_paused: self.killTimer(self.__i_radar_timer) self.killTimer(self.__i_aircraft_timer) else: self.__i_radar_timer = self.startTimer( tMath.round(self.__f_radar_interval, 0)) self.__i_aircraft_timer = self.startTimer( tMath.round(self.__f_update_interval, 0))
def drawDeparture(self, fo_widget, rt): """ DOCUMENT ME! """ # check input assert fo_widget i = 0 pen = QtGui.QPen() name = "" while i < len(rt._aoItem): name = rt._aoItem[i].s_name l_log.info("name: " + str(name)) lo_painter = QtGui.QPainter(fo_widget) assert lo_painter is not None pen.setColor(gdata.G_DCT_COLORS["departure"]) pen.setStyle(QtCore.Qt.DashLine) lo_painter.setPen(pen) if (i + 1) < len(rt._aoItem): l_pos = fo_widget.viewport.translate_pos( fo_widget._airspace.getPosition(rt._aoItem[i].s_name)) lf_x = l_pos.f_x lf_y = l_pos.f_y l_pos = fo_widget.viewport.translate_pos( fo_widget._airspace.getPosition(rt._aoItem[i + 1].s_name)) lo_painter.drawLine(tMath.round(lf_x, 0), tMath.round(lf_y, 0), tMath.round(l_pos.f_x, 0), tMath.round(l_pos.f_y, 0)) del lo_painter if name[2:len(name) - 1].isdigit(): self.draw_waypoint(fo_widget, rt._aoItem[i].s_name, True) else: self.draw_waypoint(fo_widget, rt._aoItem[i].s_name, False) i += 1
def drawArrival(self, fo_widget, rt): """ DOCUMENT ME! """ # check input assert fo_widget i = 0 while i < len(rt._aoItem): name = rt._aoItem[i].sName lo_painter = QtGui.QPainter(fo_widget) assert lo_painter is not None lo_painter.setPen(gdata.G_DCT_COLORS["arrival"]) if (i + 1) < len(rt._aoItem): l_pos = fo_widget.viewport.translate_pos( fo_widget._airspace.getPosition(rt._aoItem[i].sName)) assert l_pos is not None lf_x = l_pos.f_x lf_y = l_pos.f_y l_pos = fo_widget.viewport.translate_pos( fo_widget._airspace.getPosition(rt._aoItem[i + 1].sName)) assert l_pos is not None lo_painter.drawLine(tMath.round(lf_x, 0), tMath.round(lf_y, 0), tMath.round(l_pos.f_x, 0), tMath.round(l_pos.f_y, 0)) del lo_painter if name[2:].isdigit(): self.draw_waypoint(fo_widget, rt._aoItem[i].sName, True) else: self.draw_waypoint(fo_widget, rt._aoItem[i].sName, False) i += 1