def __init__(self, ed): super(EdgeEditor, self).__init__(ed) self.closest_edge = None self.point_1 = None self.point_2 = None self.edge_pallet = glydget.Window("Edge Tools", [ glydget.Button('Select edge (e)', self.new_edge), glydget.Button('New point (p)', self.editor.point_ed.new_point), glydget.Button('New edge', self.new_edge), glydget.Button('Delete point', self.editor.point_ed.delete_point), glydget.Button('Delete edge', self.delete_edge), ]) self.edge_pallet.show() self.edge_pallet.move( gamestate.main_window.width - 2 - self.edge_pallet.width, gamestate.main_window.height - 22) gamestate.main_window.push_handlers(self.edge_pallet) self.edge_a_field = glydget.Entry( '', on_change=self.update_item_from_inspector) self.edge_b_field = glydget.Entry( '', on_change=self.update_item_from_inspector) self.edge_anim_field = glydget.Entry( '', on_change=self.update_item_from_inspector) self.inspector = glydget.Window("Edge Inspector", [ glydget.HBox([glydget.Label('a'), self.edge_a_field], True), glydget.HBox([glydget.Label('b'), self.edge_b_field], True), glydget.HBox([glydget.Label('Animation'), self.edge_anim_field], True), glydget.Button('Subdivide', self.subdivide_edge), glydget.Button('Make counterpart', self.make_counterpart), ]) self.inspector.move(2, gamestate.main_window.height - 2)
def __init__(self, ed): super(PointEditor, self).__init__(ed) self.point_identifier_field = glydget.Entry( '', on_change=self.update_item_from_inspector) self.point_x_field = glydget.Entry( '', on_change=self.update_item_from_inspector) self.point_y_field = glydget.Entry( '', on_change=self.update_item_from_inspector) self.inspector = glydget.Window("Point Inspector", [ glydget.HBox( [glydget.Label('Identifier'), self.point_identifier_field], True), glydget.HBox([glydget.Label('x'), self.point_x_field], True), glydget.HBox([glydget.Label('y'), self.point_y_field], True), glydget.Button('New edge out (o)', self.new_edge_from_point), ]) self.inspector.move(2, gamestate.main_window.height - 2) self.placing_point = False
def __init__(self, ed): super(CameraEditor, self).__init__(ed) self.camera_pallet = glydget.Window("Camera Tools", [ glydget.Button('New camera point', self.new_camera_point), glydget.Button('Delete camera point', self.delete_camera_point), ]) self.camera_pallet.show() self.camera_pallet.move(gamestate.main_window.width - 2 - self.camera_pallet.width, gamestate.main_window.height - 162) gamestate.main_window.push_handlers(self.camera_pallet) self.cpoint_identifier_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.cpoint_x_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.cpoint_y_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.inspector = glydget.Window("Camera Point Inspector", [ glydget.HBox([glydget.Label('Identifier'), self.cpoint_identifier_field], True), glydget.HBox([glydget.Label('x'), self.cpoint_x_field], True), glydget.HBox([glydget.Label('y'), self.cpoint_y_field], True), ]) self.inspector.move(2, gamestate.main_window.height-2)
def __init__(self, ed): super(ActorEditor, self).__init__(ed) self.actor_list = [ glydget.Button(actor_name, self.actor_button_action) \ for actor_name in os.listdir(os.path.join(settings.resources_path, 'actors')) if actor_name != '.DS_Store' ] self.list_pos = 0 self.actor_pallet = glydget.Window("Make Actor", [ glydget.Button('< prev', self.prev_page), glydget.Button('next >', self.next_page), ]) self.actor_pallet.show() self.actor_pallet.move(gamestate.main_window.width - 2 - self.actor_pallet.width*1.5, gamestate.main_window.height - 242) gamestate.main_window.push_handlers(self.actor_pallet) self.id_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.state_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.scale_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.x_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.y_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.wp_field = glydget.Entry('', on_change=self.update_item_from_inspector) self.inspector = glydget.Window("Actor Inspector", [ glydget.HBox([glydget.Label('Identifier'), self.id_field], True), glydget.HBox([glydget.Label('Start state'), self.state_field], True), glydget.HBox([glydget.Label('Scale'), self.scale_field], True), glydget.HBox([glydget.Label('x'), self.x_field], True), glydget.HBox([glydget.Label('y'), self.y_field], True), glydget.HBox([glydget.Label('Walkpath point'), self.wp_field], True), glydget.Button('Delete', self.delete_selected_actor) ]) self.inspector.move(2, gamestate.main_window.height-2) self.add_children_from_current_page()
glydget.Button('JACO: DRAW XY AXES', sendDemo), glydget.Button('JACO: DRAW SQUARE', sendDemo2), glydget.Button('JACO: EXIT', sendQuit) ]) coordinate_gui = glydget.Group('Robot origin coordinates [m]', [ variable('dx'), variable('dy'), variable('dz'), glydget.Button('Send coordinates', sendXYZ) ]) sampling_rate = glydget.Entry('0.001') sampling_rate_setting = glydget.HBox([ glydget.Label('sampling rate'), sampling_rate, ]) send_to_robot = glydget.BoolEntry() send_setting = glydget.HBox([ glydget.Label('send to robot'), send_to_robot, ]) routeplanner_gui = glydget.Group('Routeplanner settings', [ sampling_rate_setting, variable('angle'), variable('max_dim'), send_setting, glydget.Button('Run routeplanner', routeplan)
def _getIndex(self): """ Builds the folders. """ self.networks = self.env.networks folders = [] # Get networks. networks = self.networks.keys() networks.sort() network_list = [] def all_channels(button): """ Selects all certain channels in a network. """ channel = button.text[-3:] + '.D' network = button.parent.parent.parent.title.text.split()[-1] self.win.utils.add_plot(network, '*', channel) def on_toggle(button): """ Inline Function for creating plots. """ channel = button.parent.children[0].text station = button.parent.parent.parent.title.text.split()[-1] network =\ button.parent.parent.parent.parent.parent.title.text.split()[-1] # Split station if necessary. temp = station.split('.') if len(temp) > 1: station = temp[0] location = temp[1] else: location = '' if channel == 'EH*': for sub_channel in button.parent.parent.children: chan = sub_channel.children[0].text if chan == 'EHE' or chan == 'EHN' or chan == 'EHZ': self.win.utils.add_plot(network, station, location, chan) else: self.win.utils.add_plot(network, station, location, channel) def delete_all(button): """ Deletes the plots. XXX: Needs to be better and safer. """ for waveform in self.win.waveforms: waveform._delete() del waveform self.win.waveforms = [] for item in self.win.object_list: if type(item) == WaveformPlot: del item self.win.status_bar.setText('0 Traces') # Loop over networks. for network in networks: stations = self.networks[network].keys() stations.sort() station_list = [] # Add Buttons to quickly select all similar channels. all_channels = glydget.HBox([\ glydget.Button('*.EHE', all_channels), glydget.Button('*.EHN', all_channels), glydget.Button('*.EHZ', all_channels)], homogeneous = False) station_list.append(all_channels) # Loop over all stations. for station in stations: locations = self.networks[network][station].keys() locations.sort() channels_list = [] for location in locations: # Button to select all EH* stations. all_stations = glydget.ToggleButton( 'EH*', False, on_toggle) channels_list.append( glydget.HBox([all_stations], homogeneous=False)) channels = self.networks[network][station][location] channels.sort() for channel in channels[0]: button = glydget.ToggleButton(channel, False, on_toggle) button.style = theme.database channels_list.append( glydget.HBox([button], homogeneous=False)) if location: station_name = '%s.%s' % (station, location) else: station_name = station box = glydget.Folder(station_name, glydget.VBox(channels_list, homogeneous = False), active\ = False) box.title.style.font_size = 8 box.style = theme.database station_list.append(box) network_box = glydget.Folder(network, glydget.VBox(station_list, homogeneous=False), active=False) network_box.style = theme.database network_list.append(network_box) # Menu to select the times. self.starttime = glydget.Entry(str(self.win.starttime)) self.endtime = glydget.Entry(str(self.win.endtime)) self.starttime.style = theme.database self.endtime.style = theme.database time_button = glydget.Button('OK', self.change_times) time_button.style = theme.database time_label = glydget.Label('Select Timeframe:') time_label.style = theme.database times = glydget.VBox( [time_label, self.starttime, self.endtime, time_button], homogeneous=False) # Add buttons to change the scale. self.normalScaleButton = glydget.ToggleButton('normal', False, self.change_scale) self.logScaleButton = glydget.ToggleButton('log', False, self.change_scale) # Read the scaling of the axis and toggle the correct Button. if self.win.log_scale: self.normalScaleButton._active = False self.normalScaleButton._update_state() self.logScaleButton._active = True self.logScaleButton._update_state() else: self.normalScaleButton._active = True self.normalScaleButton._update_state() self.logScaleButton._active = False self.logScaleButton._update_state() # Change the styling of the buttons. self.normalScaleButton.style = theme.database self.logScaleButton.style = theme.database scaleButtons = glydget.HBox([ glydget.Label('Scale:'), self.normalScaleButton, self.logScaleButton ], homogeneous=False) scaleButtons.style = theme.database deleteButton = glydget.Button('Delete all', delete_all) deleteButton.style = theme.database # Button and input field to change the detail. detail_label = glydget.Label('Detail:') detail_box = glydget.Entry(str(self.win.detail)) detail_button = glydget.Button('OK', self.change_detail) detail_label.style = theme.database detail_box.style = theme.database detail_button.style = theme.database detailBox = glydget.HBox([detail_label, detail_box, detail_button], homogeneous=False) seperator1 = \ glydget.Label('----------------------------------------------') seperator1.style = theme.database seperator2 = \ glydget.Label('----------------------------------------------') seperator2.style = theme.database options = glydget.Label('Options:') seperator2.style = theme.database items = [times, seperator1, deleteButton] items.extend(network_list) items.extend([seperator2, options, scaleButtons]) items.append(detailBox) # Button to enter the options menu. optionsButton = glydget.Button('Options', self.openOptionsMenu) optionsButton.style = theme.database items.append(optionsButton) self.menu = glydget.VBox(items, homogeneous=False) self.menu.style = theme.database # Fixed width and variable height. self.menu.resize(self.win.geometry.menu_width, 1)