def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 6, 6) self.buttons.add(5, 0, 'PREV', click=self.controller._change_to_previous) self.buttons.add(5, 1, '+', click=self.zoomIn) self.buttons.add(5, 2, '-', click=self.zoomOut) self.buttons.add(5, 3, 'SAT', click=self.setSat) self.buttons.add(5, 4, 'VECT', click=self.setVect) self.buttons.add(5, 5, 'RES', click=self.reset_map) #self.buttons.add(5, 4, 'X', click=self.quit_click, bg_color=ui_flyby.CANCEL_BG) print( os.path.join(os.path.dirname(__file__), "planes", "boeing-737-256.png")) self.the_plane = pygame.image.load( os.path.join(os.path.dirname(__file__), "planes", "boeing-737-256.png")) self.mini_plane = pygame.image.load( os.path.join(os.path.dirname(__file__), "planes", "boeing-737-256-mini.png")) self.zoom = self.model.tile_zoom self.w, self.h = 5, 5 self.tiles = [[{} for y in xrange(0, self.h)] for x in xrange(0, self.w)]
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 6, 5) self.buttons.add(0, 0, 'X', click=self.quit_click, bg_color=minimirror.MAIN_BG, fg_color=minimirror.BUTTON_FG) self.buttons.add(0, 4, '.', click=self.controller.change_to_nothing, bg_color=minimirror.MAIN_BG, fg_color=minimirror.BUTTON_BG) self.buttons.add(4, 0, '', click=self.controller.change_to_weather_detail, rowspan=5, bg_color=minimirror.MAIN_BG, fg_color=minimirror.BUTTON_BG) self.plane_buttons = None
def __init__(self, model, controller): self.model = model self.controller = controller self.zoom = self.model.tile_zoom # Create button labels with current model values. # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 6, 6) self.buttons.add(5, 0, 'LIST', click=self.controller.change_to_planelist) self.buttons.add(5, 1, '+', click=self.zoomIn) self.buttons.add(5, 2, '-', click=self.zoomOut) self.buttons.add(5, 3, 'SAT', click=self.setSat) self.buttons.add(5, 4, 'VECT', click=self.setVect) self.buttons.add(5, 5, 'RES', click=self.reset_map) self.the_plane = pygame.image.load( os.path.join(os.path.dirname(__file__), "planes", "boeing-737-256.png")) self.mini_plane = pygame.image.load( os.path.join(os.path.dirname(__file__), "planes", "boeing-737-256-mini.png")) self.w, self.h = 5, 5 self.tiles = [[{} for y in xrange(0, self.h)] for x in xrange(0, self.w)] self.zoom = self.model.tile_zoomed_out self.last_mouse = (0, 0) self.offset = (0, 0) self.plane_buttons = None
def __init__(self, model, label_text, unit_text, initial='0', accept=None, cancel=None): """Create boolean dialog for provided model and with given label and unit text. Can provide an optional initial value (default to True), an accept callback function which is called when the user accepts the dialog (and the chosen value will be sent as a single parameter), a cancel callback which is called when the user cancels. """ self.value = str(initial) self.unit_text = unit_text self.model = model self.accept = accept self.cancel = cancel # Initialize button grid. self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 1, 'False', font_size=freqshow.NUM_FONT, click=self.false_click) self.buttons.add(1, 1, 'True', font_size=freqshow.NUM_FONT, click=self.true_click) self.buttons.add(3, 3, 'CANCEL', click=self.cancel_click, bg_color=freqshow.CANCEL_BG) self.buttons.add(3, 4, 'ACCEPT', click=self.accept_click, bg_color=freqshow.ACCEPT_BG) # Build label text for faster rendering. self.input_rect = (0, 0, self.model.width, self.buttons.row_size) self.label = ui.render_text(label_text, size=freqshow.MAIN_FONT, fg=freqshow.INPUT_FG, bg=freqshow.INPUT_BG) self.label_pos = ui.align(self.label.get_rect(), self.input_rect, horizontal=ui.ALIGN_LEFT, hpad=2)
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. centerfreq_text = 'CENTER FREQ: {0:0.2f} MHz'.format( model.get_center_freq()) samplerate_text = 'SAMPLE RATE: {0:0.2f} MHz'.format( model.get_sample_rate()) gain_text = 'GAIN: {0} dB'.format(model.get_gain()) min_text = 'MIN: {0} dB'.format(model.get_min_string()) max_text = 'MAX: {0} dB'.format(model.get_max_string()) # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 0, centerfreq_text, colspan=4, click=self.centerfreq_click) self.buttons.add(0, 1, samplerate_text, colspan=4, click=self.sample_click) self.buttons.add(0, 2, gain_text, colspan=4, click=self.gain_click) self.buttons.add(0, 3, min_text, colspan=2, click=self.min_click) self.buttons.add(2, 3, max_text, colspan=2, click=self.max_click) self.buttons.add(0, 4, 'BACK', click=self.controller.change_to_main)
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. centerfreq_text = 'IF: {0:0.3f} MHz'.format(model.get_center_freq()) samplerate_text = 'SR: {0:0.3f} MHz'.format(model.get_sample_rate()) trv1_if = 'T1 {0:0.3f} MHz'.format(10368.0 - 430.0) trv2_if = 'T2 {0:0.3f} MHz'.format(model.get_sample_rate()) gain_text = 'GAIN: {0} dB'.format(model.get_gain()) min_text = 'MIN: {0} dB'.format(model.get_min_string()) max_text = 'MAX: {0} dB'.format(model.get_max_string()) # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 8, 5) self.buttons.add(0, 0, centerfreq_text, colspan=4, click=self.centerfreq_click) self.buttons.add(4, 0, samplerate_text, colspan=4, click=self.sample_click) self.buttons.add(0, 1, trv1_if, colspan=4, click=self.centerfreq_click) self.buttons.add(4, 1, trv2_if, colspan=4, click=self.sample_click) self.buttons.add(0, 2, gain_text, colspan=8, click=self.gain_click) self.buttons.add(0, 3, min_text, colspan=4, click=self.min_click) self.buttons.add(4, 3, max_text, colspan=4, click=self.max_click) self.buttons.add(0, 4, 'BACK', colspan=4, click=self.controller.change_to_main) self.buttons.add(4, 4, 'OFF', colspan=4, click=self.poweroff_click)
def __init__(self, model, controller): self.model = model self.controller = controller self.buttons = ui.ButtonGrid(model.width, model.height, 10, 8) self.buttons.add(1, 0, 'SET', click=self.controller.change_to_settings, colspan=2) self.buttons.add(3, 0, 'STOP', click=self.controller.change_to_instant, colspan=2) self.buttons.add(5, 0, 'SWEEP', click=self.controller.change_to_sweep, colspan=2) self.buttons.add(7, 0, 'QUIT', click=self.quit_click, bg_color=freqshow.CANCEL_BG, colspan=2) self.buttons.add(0, 0, '<', click=self.previous_click) self.buttons.add(9, 0, '>', click=self.next_click) self.overlay_enabled = True self.sweep_enabled = True stop_text = '{0}'.format(model.get_stop_string())
def __init__(self, model, controller): self.model = model self.controller = controller self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 0, 'CONFIG', click=self.controller.change_to_settings) self.buttons.add(1, 0, 'SWITCH MODE', click=self.controller.toggle_main, colspan=2) self.buttons.add(3, 0, 'QUIT', click=self.quit_click, bg_color=freqshow.CANCEL_BG) self.overlay_enabled = True
def __init__(self, model, controller): self.model = model self.controller = controller self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 0, 'SETTING', click=self.controller.change_to_settings) self.buttons.add(1, 0, 'WATERFALL MODE', click=self.controller.toggle_main, colspan=2) self.buttons.add(3, 0, 'KELUAR', click=self.quit_click, bg_color=spektrum.CANCEL_BG) self.overlay_enabled = True
def __init__(self, model, controller): self.model = model self.controller = controller self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 0, 'MODE', click=self.controller.toggle_main, bg_color=spektrum.ACCEPT_BG) self.buttons.add(1, 0, 'PENGATURAN', click=self.controller.change_to_settings, bg_color=(47,79,79), colspan=2) self.buttons.add(3, 0, 'KELUAR', click=self.quit_click, bg_color=spektrum.CANCEL_BG) self.overlay_enabled = True
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 4, 'BACK', click=self.controller.change_to_main)
def __init__(self, model, label_text, unit_text, initial='0', accept=None, cancel=None, has_auto=False, allow_negative=False): """Create number dialog for provided model and with given label and unit text. Can provide an optional initial value (default to 0), an accept callback function which is called when the user accepts the dialog (and the chosen value will be sent as a single parameter), a cancel callback which is called when the user cancels, and a has_auto boolean if an 'AUTO' option should be given in addition to numbers. """ self.value = str(initial) self.unit_text = unit_text self.model = model self.accept = accept self.cancel = cancel # Initialize button grid. self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 1, 'ENABLE', font_size=freqshow.NUM_FONT, click=self.enable_click, colspan=2) self.buttons.add(2, 1, 'DISABLE', font_size=freqshow.NUM_FONT, click=self.disable_click, colspan=2) self.buttons.add(0, 4, 'CANCEL', click=self.cancel_click, bg_color=freqshow.CANCEL_BG) self.buttons.add(3, 4, 'ACCEPT', click=self.accept_click, bg_color=freqshow.ACCEPT_BG) # Build label text for faster rendering. self.input_rect = (0, 0, self.model.width, self.buttons.row_size) self.label = ui.render_text(label_text, size=freqshow.MAIN_FONT, fg=freqshow.INPUT_FG, bg=freqshow.INPUT_BG) self.label_pos = ui.align(self.label.get_rect(), self.input_rect, horizontal=ui.ALIGN_LEFT, hpad=10)
def __init__(self, model, controller): self.model = model self.controller = controller self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 0, 'CONFIG', click=self.controller.change_to_settings) self.buttons.add(1, 0, '<', click=self.model.dec_freq, colspan=0.5) self.buttons.add(1.5, 0, 'CHANGE', click=self.controller.toggle_main, colspan=1) self.buttons.add(2.5, 0, '>', click=self.model.inc_freq, colspan=0.5) self.buttons.add(3, 0, 'X', click=self.quit_click, bg_color=freqshow.CANCEL_BG, font_size =100) #ADD BUTTONS TO RIGHT self.buttonsR = ui.ButtonGrid(self.model.width, self.model.height, 5, 5) self.buttonsR.add(3.5, 4, '/\\', click=self.model.inc_gain, colspan=0.5) self.buttonsR.add(4, 4, '\\/', click=self.model.dec_gain, colspan=0.5) self.overlay_enabled = True self.lasttime = 0 self.lfreqs = [] self.screens = 0
def __init__(self, model, controller): self.model = model self.controller = controller self.mode_buttons = [] self.buttons = ui.ButtonGrid(model.width, model.height, 8, 10) self.buttons.add(0, 0, 'CONFIG', click=self.controller.change_to_settings, colspan=2) self.buttons.add(2, 0, 'MODE', click=self.controller.toggle_main, colspan=2) self.buttons.add(4, 0, '+', click=self.zoom_in_click, bg_color=freqshow.CANCEL_BG, colspan=2) self.buttons.add(6, 0, '-', click=self.zoom_out_click, bg_color=freqshow.CANCEL_BG, colspan=2) b = self.buttons.add(0, 9, 'FM', click=lambda x: self.set_mode_click(x), colspan=2) self.mode_buttons.append(b) b = self.buttons.add(2, 9, 'USB', click=lambda x: self.set_mode_click(x), colspan=2) self.mode_buttons.append(b) b = self.buttons.add(4, 9, 'CW', click=lambda x: self.set_mode_click(x), colspan=2) self.mode_buttons.append(b) self.buttons.add(6, 9, self.model.get_current_trv_mode()[2], click=self.toggle_trv_click, colspan=2) self.overlay_enabled = True
def __init__(self, model, text, accept, cancel=None): self.accept = accept self.cancel = cancel self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(3, 4, 'OK', click=self.accept_click, bg_color=freqshow.ACCEPT_BG) if cancel is not None: self.buttons.add(0, 4, 'CANCEL', click=self.cancel_click, bg_color=freqshow.CANCEL_BG) self.label = ui.render_text(text, size=freqshow.NUM_FONT, fg=freqshow.BUTTON_FG, bg=freqshow.MAIN_BG) self.label_rect = ui.align(self.label.get_rect(), (0, 0, model.width, model.height))
def __init__(self, model, controller): self.model = model self.controller = controller self.buttons = ui.ButtonGrid(model.width, model.height, 5, 5) self.buttons.add(0, 0, 'Set', click=self.controller.change_to_settings) self.buttons.add(1, 0, 'Dn', click=self.scale_dn, colspan=1) self.buttons.add(1, 4, '<', click=self.dn_center_freq, colspan=1) self.buttons.add(3, 4, '>', click=self.up_center_freq, colspan=1) self.buttons.add(3, 0, 'Up', click=self.scale_up, colspan=1) self.buttons.add(2, 0, 'PANADAPTER', click=self.controller.toggle_main, colspan=1) self.buttons.add(4, 0, 'Quit', click=self.quit_click, bg_color=freqshow.MAIN_BG) self.overlay_enabled = True
def __init__(self, model, text, accept, cancel=None): self.accept = accept self.cancel = cancel self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 4, 'YA', click=self.accept_click, bg_color=spektrum.ACCEPT_BG) if cancel is not None: self.buttons.add(3, 4, 'BATAL', click=self.cancel_click, bg_color=spektrum.CANCEL_BG) self.label = ui.render_text(text, size=spektrum.NUM_FONT, fg=spektrum.TULISAN, bg=spektrum.MAIN_BG) self.label_rect = ui.align(self.label.get_rect(), (0, 0, model.width, model.height))
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 6, 5) self.buttons.add(0, 0, '^', click=self.controller.change_to_main, bg_color=minimirror.MAIN_BG, fg_color=minimirror.BUTTON_BG) self.plane_buttons = None
def __init__(self, model, label_text, unit_text, initial='0', accept=None, cancel=None, has_auto=False, allow_negative=False): """Create number dialog for provided model and with given label and unit text. Can provide an optional initial value (default to 0), an accept callback function which is called when the user accepts the dialog (and the chosen value will be sent as a single parameter), a cancel callback which is called when the user cancels, and a has_auto boolean if an 'AUTO' option should be given in addition to numbers. """ self.value = str(initial) self.unit_text = unit_text self.model = model self.accept = accept self.cancel = cancel # Initialize button grid. self.buttons = ui.ButtonGrid(model.width, model.height, 4, 5) self.buttons.add(0, 1, '1', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(1, 1, '2', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(2, 1, '3', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(0, 2, '4', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(1, 2, '5', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(2, 2, '6', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(0, 3, '7', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(1, 3, '8', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(2, 3, '9', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(1, 4, '0', font_size=freqshow.NUM_FONT, click=self.number_click) self.buttons.add(2, 4, '.', font_size=freqshow.NUM_FONT, click=self.decimal_click) self.buttons.add(0, 4, 'DELETE', click=self.delete_click) if not allow_negative: # Render a clear button if only positive values are allowed. self.buttons.add(3, 1, 'CLEAR', click=self.clear_click) else: # Render a +/- toggle if negative values are allowed. self.buttons.add(3, 1, '+/-', click=self.posneg_click) self.buttons.add(3, 3, 'CANCEL', click=self.cancel_click, bg_color=freqshow.CANCEL_BG) self.buttons.add(3, 4, 'ACCEPT', click=self.accept_click, bg_color=freqshow.ACCEPT_BG) if has_auto: self.buttons.add(3, 2, 'AUTO', click=self.auto_click) # Build label text for faster rendering. self.input_rect = (0, 0, self.model.width, self.buttons.row_size) self.label = ui.render_text(label_text, size=freqshow.MAIN_FONT, fg=freqshow.INPUT_FG, bg=freqshow.INPUT_BG) self.label_pos = ui.align(self.label.get_rect(), self.input_rect, horizontal=ui.ALIGN_LEFT, hpad=10)
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 6, 5) self.buttons.add(5, 0, 'MAP', click=self.controller.change_to_allPlanesMap) self.buttons.add(5, 4, 'X', click=self.quit_click, bg_color=ui_flyby.CANCEL_BG) self.plane_buttons = None
def __init__(self, model, controller): # self.sweep_start_enabled = False # self.sweep_stop_enabled = False self.model = model self.controller = controller # Create button labels with current model values. centerfreq_text = 'CENTER FREQ: {0:0.2f} MHz'.format( model.get_center_freq()) samplerate_text = 'SPAN: {0:0.2f} MHz'.format(model.get_sample_rate()) gain_text = 'GAIN: {0} dBm'.format(model.get_gain()) min_text = 'MIN: {0} dBm'.format(model.get_min_string()) max_text = 'MAX: {0} dBm'.format(model.get_max_string()) start_text = 'START: {0} MHz'.format(model.get_start_string()) stop_text = 'STOP: {0} MHz'.format(model.get_stop_string()) step_text = 'STEP: {0} MHz'.format(model.get_step_string()) puase_text = 'TRACK: {0}'.format(model.get_puase_string()) # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 6, 7) self.buttons.add(0, 0, centerfreq_text, colspan=6, click=self.centerfreq_click) self.buttons.add(0, 1, samplerate_text, colspan=6, click=self.sample_click) self.buttons.add(0, 2, gain_text, colspan=6, click=self.gain_click) self.buttons.add(0, 3, min_text, colspan=3, click=self.min_click) self.buttons.add(3, 3, max_text, colspan=3, click=self.max_click) # self.buttons.add(0, 4, start_text, colspan=3, click=self.start_click) # self.buttons.add(3, 4, step_text, colspan=3, click=self.step_click) # self.buttons.add(0, 5, stop_text, colspan=3, click=self.stop_click) # self.buttons.add(3, 5, puase_text, colspan=3, click=self.puase_click) self.buttons.add(0, 6, 'BACK', click=self.controller.change_to_main) self.buttons.add(5, 6, 'Page2', click=self.page2_click) self.puase_disable = True
def __init__(self, model, controller): self.model = model self.controller = controller # Create button labels with current model values. centerfreq_text = 'Center Freq: {0:0.4f} MHz'.format(model.get_center_freq()) samplerate_text = 'Sample Rate: {0:0.3f} MHz'.format(model.get_sample_rate()) gain_text = 'Gain: {0} dB'.format(model.get_gain()) min_text = 'Min: {0} dB'.format(model.get_min_string()) max_text = 'Max: {0} dB'.format(model.get_max_string()) fft_ave_text = 'FFT ave: {0}'.format(model.get_fft_ave()) tune_rate_text = 'Tune Rate: {0:0.4f} MHz'.format(model.get_tune_rate()) lo_offset_text = 'LO Offset: {0:0.4f} MHz'.format(model.get_lo_offset()) zoom_fac_text = 'Zoom: {0:0.2f} MHz'.format(model.get_zoom_fac()) freq_correction_text = 'Freq Corr: {0} ppm'.format(model.get_freq_correction()) filter_text = '{0}'.format(model.get_filter()) kaiser_beta_text = 'beta:{0:0.1f}'.format(model.get_kaiser_beta()) swap_iq_text = 'Swap IQ: {0}'.format(model.get_swap_iq()) peak_text = 'Peak: {0}'.format(model.get_peak()) # Create buttons. self.buttons = ui.ButtonGrid(model.width, model.height, 4, 6) self.buttons.add(0, 0, centerfreq_text, colspan=2, click=self.centerfreq_click) self.buttons.add(0, 1, samplerate_text, colspan=2, click=self.sample_click) self.buttons.add(0, 2, fft_ave_text, colspan=1, click=self.fft_ave_click) self.buttons.add(2, 1, tune_rate_text, colspan=2, click=self.tune_rate_click) self.buttons.add(2, 0, zoom_fac_text, colspan=2, click=self.zoom_fac_click) self.buttons.add(0, 3, freq_correction_text, colspan=2, click=self.freq_correction_click) self.buttons.add(2, 4, gain_text, colspan=1, click=self.gain_click) self.buttons.add(0, 4, min_text, colspan=1, click=self.min_click) self.buttons.add(1, 4, max_text, colspan=1, click=self.max_click) self.buttons.add(3, 5, 'BACK', colspan=1, click=self.controller.change_to_main) self.buttons.add(1, 2, lo_offset_text, colspan=2, click=self.lo_offset_click) self.buttons.add(2, 3, filter_text, colspan=1, click=self.filter_click) if self.model.get_filter() == 'kaiser': self.buttons.add(3, 3, kaiser_beta_text, colspan=1, click=self.kaiser_beta_click) self.buttons.add(0, 5, swap_iq_text, colspan=1, click=self.swap_iq_click) self.buttons.add(1, 5, peak_text, colspan=1, click=self.peak_click)