def __init__(self, context): super(FrameDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Animation')) self.anchor = None # set up layout self.outer_layout = QtGui.QHBoxLayout() self.layout = QtGui.QGridLayout() self.frame_name_field = QtGui.QLineEdit() self.frame_name_label = QtGui.QLabel('Frame Name') self.frame_list_view = QtGui.QListWidget() self.add_frame_button = QtGui.QPushButton('Add Frame') self.remove_frame_button = QtGui.QPushButton('Remove Frame') self.frame_buttons_layout = QtGui.QVBoxLayout() self.graphic_viewer = FrameViewer() self.frame_form_layout = QtGui.QGridLayout() self.frame_x_label = QtGui.QLabel('X') self.frame_x_field = QtGui.QLineEdit() self.frame_y_label = QtGui.QLabel('Y') self.frame_y_field = QtGui.QLineEdit() self.frame_width_label = QtGui.QLabel('Width') self.frame_width_field = QtGui.QLineEdit() self.frame_height_label = QtGui.QLabel('Height') self.frame_height_field = QtGui.QLineEdit() self.frame_repeat_label = QtGui.QLabel('Repeat') self.frame_repeat_field = QtGui.QLineEdit() # events EVENT_MAPPING.register_handler('selected_animation', self.set_animation) EVENT_MAPPING.register_handler('updated_frame_crop', self.update_fields) # setup layout self.outer_layout.addLayout(self.layout) self.outer_layout.addWidget(self.graphic_viewer) self.frame_form_layout.addWidget(self.frame_name_label,0,0) self.frame_form_layout.addWidget(self.frame_name_field,0,1) self.frame_form_layout.addWidget(self.frame_x_label,1,0) self.frame_form_layout.addWidget(self.frame_x_field,1,1) self.frame_form_layout.addWidget(self.frame_y_label,2,0) self.frame_form_layout.addWidget(self.frame_y_field,2,1) self.frame_form_layout.addWidget(self.frame_width_label,1,2) self.frame_form_layout.addWidget(self.frame_width_field,1,3) self.frame_form_layout.addWidget(self.frame_height_label,2,2) self.frame_form_layout.addWidget(self.frame_height_field,2,3) self.frame_form_layout.addWidget(self.frame_repeat_label,3,0) self.frame_form_layout.addWidget(self.frame_repeat_field,3,1,1,2) self.layout.addLayout(self.frame_form_layout,0,0) self.layout.addWidget(self.frame_list_view,1,0) self.frame_buttons_layout.addWidget(self.add_frame_button) self.frame_buttons_layout.addWidget(self.remove_frame_button) self.layout.addLayout(self.frame_buttons_layout,1,1) self.group.setLayout(self.outer_layout) # wire up gui event handlers self.add_frame_button.clicked.connect(self.add_frame) self.remove_frame_button.clicked.connect(self.remove_frame) self.frame_list_view.currentItemChanged.connect(self.select_frame)
def __init__(self, context): super(ExecutionDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Execution')) # gui elements self.layout = QtGui.QGridLayout() self.exec_name_label = QtGui.QLabel('Execution Name') self.exec_name_field = QtGui.QLineEdit() self.binding_list_label = QtGui.QLabel('Select Binding') self.binding_list_view = QtGui.QListWidget() self.binding_layout = QtGui.QVBoxLayout() self.move_list_label = QtGui.QLabel('Select Moves') self.move_list_view = QtGui.QListWidget() self.move_layout = QtGui.QVBoxLayout() self.add_move_button = QtGui.QPushButton('Add Move') self.remove_move_button = QtGui.QPushButton('Remove Move') self.move_button_layout = QtGui.QVBoxLayout() self.selected_move_list_view = QtGui.QListWidget() self.exec_list_view = QtGui.QListWidget() self.add_exec_button = QtGui.QPushButton('Add Execution') self.remove_exec_button = QtGui.QPushButton('Remove Execution') self.exec_button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.exec_name_label, 0, 0) self.layout.addWidget(self.exec_name_field, 0, 1) self.binding_layout.addWidget(self.binding_list_label) self.binding_layout.addWidget(self.binding_list_view) self.layout.addLayout(self.binding_layout, 1, 0) self.move_layout.addWidget(self.move_list_label) self.move_layout.addWidget(self.move_list_view) self.layout.addWidget(self.move_list_view, 1, 1) self.move_button_layout.addWidget(self.add_move_button) self.move_button_layout.addWidget(self.remove_move_button) self.layout.addLayout(self.move_button_layout, 1, 2) self.layout.addWidget(self.selected_move_list_view, 1, 3) self.layout.addWidget(self.exec_list_view, 2, 0) self.exec_button_layout.addWidget(self.add_exec_button) self.exec_button_layout.addWidget(self.remove_exec_button) self.layout.addLayout(self.exec_button_layout, 2, 1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('added_binding', self.added_binding) EVENT_MAPPING.register_handler('removed_binding', self.removed_binding) EVENT_MAPPING.register_handler('added_move', self.added_move) EVENT_MAPPING.register_handler('removed_move', self.removed_move) # wire up events self.add_move_button.clicked.connect(self.add_move) self.remove_move_button.clicked.connect(self.remove_move) self.add_exec_button.clicked.connect(self.add_exec) self.remove_exec_button.clicked.connect(self.remove_exec) self.exec_list_view.currentItemChanged.connect(self.select_exec)
def __init__(self, context): super(ExecutionDefinitionEditor, self).__init__(context, QtGui.QGroupBox("Execution")) # gui elements self.layout = QtGui.QGridLayout() self.exec_name_label = QtGui.QLabel("Execution Name") self.exec_name_field = QtGui.QLineEdit() self.binding_list_label = QtGui.QLabel("Select Binding") self.binding_list_view = QtGui.QListWidget() self.binding_layout = QtGui.QVBoxLayout() self.move_list_label = QtGui.QLabel("Select Moves") self.move_list_view = QtGui.QListWidget() self.move_layout = QtGui.QVBoxLayout() self.add_move_button = QtGui.QPushButton("Add Move") self.remove_move_button = QtGui.QPushButton("Remove Move") self.move_button_layout = QtGui.QVBoxLayout() self.selected_move_list_view = QtGui.QListWidget() self.exec_list_view = QtGui.QListWidget() self.add_exec_button = QtGui.QPushButton("Add Execution") self.remove_exec_button = QtGui.QPushButton("Remove Execution") self.exec_button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.exec_name_label, 0, 0) self.layout.addWidget(self.exec_name_field, 0, 1) self.binding_layout.addWidget(self.binding_list_label) self.binding_layout.addWidget(self.binding_list_view) self.layout.addLayout(self.binding_layout, 1, 0) self.move_layout.addWidget(self.move_list_label) self.move_layout.addWidget(self.move_list_view) self.layout.addWidget(self.move_list_view, 1, 1) self.move_button_layout.addWidget(self.add_move_button) self.move_button_layout.addWidget(self.remove_move_button) self.layout.addLayout(self.move_button_layout, 1, 2) self.layout.addWidget(self.selected_move_list_view, 1, 3) self.layout.addWidget(self.exec_list_view, 2, 0) self.exec_button_layout.addWidget(self.add_exec_button) self.exec_button_layout.addWidget(self.remove_exec_button) self.layout.addLayout(self.exec_button_layout, 2, 1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler("selected_entity", self.set_entity) EVENT_MAPPING.register_handler("added_binding", self.added_binding) EVENT_MAPPING.register_handler("removed_binding", self.removed_binding) EVENT_MAPPING.register_handler("added_move", self.added_move) EVENT_MAPPING.register_handler("removed_move", self.removed_move) # wire up events self.add_move_button.clicked.connect(self.add_move) self.remove_move_button.clicked.connect(self.remove_move) self.add_exec_button.clicked.connect(self.add_exec) self.remove_exec_button.clicked.connect(self.remove_exec) self.exec_list_view.currentItemChanged.connect(self.select_exec)
def __init__(self, context, group=None): super(Editor, self).__init__() self.context = context self.layout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight) self.group = group if group is not None else QtGui.QGroupBox('Editor') self.layout.addWidget(self.group) self.setLayout(self.layout) self.hide() # internal events EVENT_MAPPING.register_handler('set_context', self.set_context)
def __init__(self, context): super(GraphicDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Graphics')) # setup gui stuff self.layout = QtGui.QGridLayout() self.view_buttons_layout = QtGui.QVBoxLayout() self.add_graphic_button = QtGui.QPushButton('Add Graphic') self.remove_graphic_button = QtGui.QPushButton('Remove Graphic') self.update_graphic_button = QtGui.QPushButton('Update Graphic') self.graphic_name_field = QtGui.QLineEdit() self.graphic_name_label = QtGui.QLabel('Graphic Name') self.graphic_file_viewer = QtGui.QLabel() self.graphic_list_view = QtGui.QListWidget() self.graphic_buttons_layout = QtGui.QVBoxLayout() self.asset_list_view = QtGui.QListWidget() self.asset_list_label = QtGui.QLabel('Choose Asset') self.asset_list_layout = QtGui.QVBoxLayout() self.anchor_label = QtGui.QLabel('Choose Anchor Body') self.anchor_list_view = QtGui.QListWidget() self.anchor_layout = QtGui.QVBoxLayout() # setup layout self.asset_list_layout.addWidget(self.asset_list_label) self.asset_list_layout.addWidget(self.asset_list_view) self.layout.addLayout(self.asset_list_layout,0,0) self.layout.addWidget(self.graphic_name_label,0,1) self.layout.addWidget(self.graphic_name_field,0,2) self.anchor_layout.addWidget(self.anchor_label) self.anchor_layout.addWidget(self.anchor_list_view) self.layout.addLayout(self.anchor_layout,1,0) self.layout.addWidget(self.graphic_list_view,2,0) self.graphic_buttons_layout.addWidget(self.add_graphic_button) self.graphic_buttons_layout.addWidget(self.update_graphic_button) self.graphic_buttons_layout.addWidget(self.remove_graphic_button) self.layout.addLayout(self.graphic_buttons_layout,2,1) self.group.setLayout(self.layout) # wire up event handlers self.add_graphic_button.clicked.connect(self.add_graphic) self.update_graphic_button.clicked.connect(self.update_graphic) self.remove_graphic_button.clicked.connect(self.remove_graphic) self.graphic_list_view.currentItemChanged.connect(self.select_graphic) # events EVENT_MAPPING.register_handler('selected_entity', self.set_graphics) EVENT_MAPPING.register_handler('asset_added', self.add_asset) EVENT_MAPPING.register_handler('asset_removed', self.remove_asset) EVENT_MAPPING.register_handler('added_component', self.add_component) EVENT_MAPPING.register_handler('removed_component', self.remove_component)
def __init__(self, context): super(AnimationDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Animation')) self.outer_layout = QtGui.QHBoxLayout() self.layout = QtGui.QGridLayout() self.animation_name_field = QtGui.QLineEdit() self.animation_name_label = QtGui.QLabel('Animation Name') self.animation_list_view = QtGui.QListWidget() self.add_animation_button = QtGui.QPushButton('Add Animation') self.remove_animation_button = QtGui.QPushButton('Remove Animation') self.animation_buttons_layout = QtGui.QVBoxLayout() self.graphic_viewer = QtGui.QGraphicsView() self.current_graphic = None self.graphic_item = None # frame properties self.graphic_viewer.setScene(QtGui.QGraphicsScene()) self.dragging = False # events EVENT_MAPPING.register_handler('selected_graphic', self.set_animations) # setup layout self.outer_layout.addLayout(self.layout) self.outer_layout.addWidget(self.graphic_viewer) self.layout.addWidget(self.animation_name_label, 0, 0) self.layout.addWidget(self.animation_name_field, 0, 1) self.layout.addWidget(self.animation_list_view, 1, 0) self.animation_buttons_layout.addWidget(self.add_animation_button) self.animation_buttons_layout.addWidget(self.remove_animation_button) self.layout.addLayout(self.animation_buttons_layout, 1, 1) self.group.setLayout(self.outer_layout) # wire up gui event handlers self.add_animation_button.clicked.connect(self.add_animation) self.remove_animation_button.clicked.connect(self.remove_animation) self.animation_list_view.currentItemChanged.connect( self.select_animation)
def __init__(self, context): super(AnimationDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Animation')) self.outer_layout = QtGui.QHBoxLayout() self.layout = QtGui.QGridLayout() self.animation_name_field = QtGui.QLineEdit() self.animation_name_label = QtGui.QLabel('Animation Name') self.animation_list_view = QtGui.QListWidget() self.add_animation_button = QtGui.QPushButton('Add Animation') self.remove_animation_button = QtGui.QPushButton('Remove Animation') self.animation_buttons_layout = QtGui.QVBoxLayout() self.graphic_viewer = QtGui.QGraphicsView() self.current_graphic = None self.graphic_item = None # frame properties self.graphic_viewer.setScene(QtGui.QGraphicsScene()) self.dragging = False # events EVENT_MAPPING.register_handler('selected_graphic', self.set_animations) # setup layout self.outer_layout.addLayout(self.layout) self.outer_layout.addWidget(self.graphic_viewer) self.layout.addWidget(self.animation_name_label,0,0) self.layout.addWidget(self.animation_name_field,0,1) self.layout.addWidget(self.animation_list_view,1,0) self.animation_buttons_layout.addWidget(self.add_animation_button) self.animation_buttons_layout.addWidget(self.remove_animation_button) self.layout.addLayout(self.animation_buttons_layout,1,1) self.group.setLayout(self.outer_layout) # wire up gui event handlers self.add_animation_button.clicked.connect(self.add_animation) self.remove_animation_button.clicked.connect(self.remove_animation) self.animation_list_view.currentItemChanged.connect(self.select_animation)
def __init__(self, context): super(VectorDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Vectors')) # setup gui stuff self.layout = QtGui.QGridLayout() self.vector_name_label = QtGui.QLabel('Vector Name') self.vector_name_field = QtGui.QLineEdit() self.x_label = QtGui.QLabel('X') self.x_field = QtGui.QLineEdit() self.y_label = QtGui.QLabel('Y') self.y_field = QtGui.QLineEdit() self.vector_list_view = QtGui.QListWidget() self.add_vector_button = QtGui.QPushButton('Add Vector') self.remove_vector_button = QtGui.QPushButton('Remove Vector') self.button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.vector_name_label,0,0) self.layout.addWidget(self.vector_name_field,0,1) self.layout.addWidget(self.x_label,1,0) self.layout.addWidget(self.x_field,1,1) self.layout.addWidget(self.y_label,2,0) self.layout.addWidget(self.y_field,2,1) self.layout.addWidget(self.vector_list_view,3,0) self.button_layout.addWidget(self.add_vector_button) self.button_layout.addWidget(self.remove_vector_button) self.layout.addLayout(self.button_layout,3,1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) # wire up events self.add_vector_button.clicked.connect(self.add_vector) self.remove_vector_button.clicked.connect(self.remove_vector) self.vector_list_view.currentItemChanged.connect(self.select_vector)
def __init__(self, context): super(PhysicsDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Physics')) self.entity = None # set up gui self.layout = QtGui.QGridLayout() self.name_label = QtGui.QLabel('Physics Object Name') self.name_field = QtGui.QLineEdit() self.anchor_label = QtGui.QLabel('Choose Anchor') self.anchor_list_view = QtGui.QListWidget() self.anchor_layout = QtGui.QVBoxLayout() self.w_label = QtGui.QLabel('Width') self.w_field = QtGui.QLineEdit() self.h_label = QtGui.QLabel('Height') self.h_field = QtGui.QLineEdit() self.physics_list_view = QtGui.QListWidget() self.add_physics_button = QtGui.QPushButton('Add Physics Object') self.remove_physics_button = QtGui.QPushButton('Remove Physics Object') self.button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.name_label, 0, 0) self.layout.addWidget(self.name_field, 0, 1) self.anchor_layout.addWidget(self.anchor_label) self.anchor_layout.addWidget(self.anchor_list_view) self.layout.addLayout(self.anchor_layout, 1, 0) self.layout.addWidget(self.w_label, 2, 0) self.layout.addWidget(self.w_field, 2, 1) self.layout.addWidget(self.h_label, 3, 0) self.layout.addWidget(self.h_field, 3, 1) self.layout.addWidget(self.physics_list_view, 4, 0) self.button_layout.addWidget(self.add_physics_button) self.button_layout.addWidget(self.remove_physics_button) self.layout.addLayout(self.button_layout, 4, 1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('added_component', self.add_anchor) EVENT_MAPPING.register_handler('removed_component', self.remove_anchor) # wire up events self.add_physics_button.clicked.connect(self.add_physics) self.remove_physics_button.clicked.connect(self.remove_physics)
def __init__(self, context): super(PhysicsDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Physics')) self.entity = None # set up gui self.layout = QtGui.QGridLayout() self.name_label = QtGui.QLabel('Physics Object Name') self.name_field = QtGui.QLineEdit() self.anchor_label = QtGui.QLabel('Choose Anchor') self.anchor_list_view = QtGui.QListWidget() self.anchor_layout = QtGui.QVBoxLayout() self.w_label = QtGui.QLabel('Width') self.w_field = QtGui.QLineEdit() self.h_label = QtGui.QLabel('Height') self.h_field = QtGui.QLineEdit() self.physics_list_view = QtGui.QListWidget() self.add_physics_button = QtGui.QPushButton('Add Physics Object') self.remove_physics_button = QtGui.QPushButton('Remove Physics Object') self.button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.name_label,0,0) self.layout.addWidget(self.name_field,0,1) self.anchor_layout.addWidget(self.anchor_label) self.anchor_layout.addWidget(self.anchor_list_view) self.layout.addLayout(self.anchor_layout,1,0) self.layout.addWidget(self.w_label,2,0) self.layout.addWidget(self.w_field,2,1) self.layout.addWidget(self.h_label,3,0) self.layout.addWidget(self.h_field,3,1) self.layout.addWidget(self.physics_list_view,4,0) self.button_layout.addWidget(self.add_physics_button) self.button_layout.addWidget(self.remove_physics_button) self.layout.addLayout(self.button_layout,4,1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('added_component', self.add_anchor) EVENT_MAPPING.register_handler('removed_component', self.remove_anchor) # wire up events self.add_physics_button.clicked.connect(self.add_physics) self.remove_physics_button.clicked.connect(self.remove_physics)
def __init__(self, context): super(BodyDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Body')) # gui elements self.layout = QtGui.QGridLayout() self.body_name_label = QtGui.QLabel('Body Name') self.body_name_field = QtGui.QLineEdit() self.position_label = QtGui.QLabel('Position') self.position_list_view = QtGui.QListWidget() self.position_layout = QtGui.QVBoxLayout() self.body_list_view = QtGui.QListWidget() self.add_body_button = QtGui.QPushButton('Add Body') self.update_body_button = QtGui.QPushButton('Update Body') self.remove_body_button = QtGui.QPushButton('Remove Body') self.button_layout = QtGui.QVBoxLayout() # setup layout self.layout.addWidget(self.body_name_label,0,0) self.layout.addWidget(self.body_name_field,0,1) self.position_layout.addWidget(self.position_label) self.position_layout.addWidget(self.position_list_view) self.layout.addLayout(self.position_layout,1,0) self.layout.addWidget(self.body_list_view,2,0) self.button_layout.addWidget(self.add_body_button) self.button_layout.addWidget(self.update_body_button) self.button_layout.addWidget(self.remove_body_button) self.layout.addLayout(self.button_layout,2,1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('vector_added', self.add_vector) EVENT_MAPPING.register_handler('vector_removed', self.remove_vector) # wire up events self.add_body_button.clicked.connect(self.add_body) self.update_body_button.clicked.connect(self.update_body) self.remove_body_button.clicked.connect(self.remove_body) self.body_list_view.currentItemChanged.connect(self.select_body)
def __init__(self, context): super(DebugDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Debug')) # setup gui stuff self.layout = QtGui.QGridLayout() self.debug_name_label = QtGui.QLabel('Debug Name') self.debug_name_field = QtGui.QLineEdit() self.name_layout = QtGui.QVBoxLayout() self.component_tree_view = QtGui.QTreeWidget() self.component_tree_label = QtGui.QLabel('Choose Component or Property') self.component_layout = QtGui.QVBoxLayout() self.vector_list_view = QtGui.QListWidget() self.vector_list_label = QtGui.QLabel('Choose Position') self.vector_layout = QtGui.QVBoxLayout() self.color_list_view = QtGui.QListWidget() self.color_list_label = QtGui.QLabel('Choose Color') self.color_layout = QtGui.QVBoxLayout() self.debug_list_view = QtGui.QListWidget() self.add_debug_button = QtGui.QPushButton('Add Debug') self.edit_debug_button = QtGui.QPushButton('Edit Debug') self.remove_debug_button = QtGui.QPushButton('Remove Debug') self.button_layout = QtGui.QVBoxLayout() # setup layout self.name_layout.addWidget(self.debug_name_label) self.name_layout.addWidget(self.debug_name_field) self.layout.addLayout(self.name_layout,0,0) self.component_layout.addWidget(self.component_tree_label) self.component_layout.addWidget(self.component_tree_view) self.layout.addLayout(self.component_layout,1,0) self.vector_layout.addWidget(self.vector_list_label) self.vector_layout.addWidget(self.vector_list_view) self.layout.addLayout(self.vector_layout,1,1) self.color_layout.addWidget(self.color_list_label) self.color_layout.addWidget(self.color_list_view) self.layout.addLayout(self.color_layout,1,2) self.layout.addWidget(self.debug_list_view,2,0) self.button_layout.addWidget(self.add_debug_button) self.button_layout.addWidget(self.edit_debug_button) self.button_layout.addWidget(self.remove_debug_button) self.layout.addLayout(self.button_layout,2,1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('added_component', self.add_component) EVENT_MAPPING.register_handler('removed_component', self.remove_component) # wire up events self.add_debug_button.clicked.connect(self.add_debug) self.edit_debug_button.clicked.connect(self.edit_debug) self.remove_debug_button.clicked.connect(self.remove_debug) self.debug_list_view.currentItemChanged.connect(self.select_debug) # populate color list white = WidgetItemComponent('White', Component(common.WHITE, 'White')) red = WidgetItemComponent('Red', Component(common.RED, 'Red')) green = WidgetItemComponent('Green', Component(common.GREEN, 'Green')) blue = WidgetItemComponent('Blue', Component(common.BLUE, 'Blue')) yellow = WidgetItemComponent('Yellow', Component(common.YELLOW, 'Yellow')) black = WidgetItemComponent('Black', Component(common.BLACK, 'Black')) purple = WidgetItemComponent('Purple', Component(common.PURPLE, 'Purple')) self.color_list_view.addItem(white) self.color_list_view.addItem(red) self.color_list_view.addItem(green) self.color_list_view.addItem(blue) self.color_list_view.addItem(yellow) self.color_list_view.addItem(black) self.color_list_view.addItem(purple)
def __init__(self, context): super(FrameDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Animation')) self.anchor = None # set up layout self.outer_layout = QtGui.QHBoxLayout() self.layout = QtGui.QGridLayout() self.frame_name_field = QtGui.QLineEdit() self.frame_name_label = QtGui.QLabel('Frame Name') self.frame_list_view = QtGui.QListWidget() self.add_frame_button = QtGui.QPushButton('Add Frame') self.remove_frame_button = QtGui.QPushButton('Remove Frame') self.frame_buttons_layout = QtGui.QVBoxLayout() self.graphic_viewer = FrameViewer() self.frame_form_layout = QtGui.QGridLayout() self.frame_x_label = QtGui.QLabel('X') self.frame_x_field = QtGui.QLineEdit() self.frame_y_label = QtGui.QLabel('Y') self.frame_y_field = QtGui.QLineEdit() self.frame_width_label = QtGui.QLabel('Width') self.frame_width_field = QtGui.QLineEdit() self.frame_height_label = QtGui.QLabel('Height') self.frame_height_field = QtGui.QLineEdit() self.frame_repeat_label = QtGui.QLabel('Repeat') self.frame_repeat_field = QtGui.QLineEdit() # events EVENT_MAPPING.register_handler('selected_animation', self.set_animation) EVENT_MAPPING.register_handler('updated_frame_crop', self.update_fields) # setup layout self.outer_layout.addLayout(self.layout) self.outer_layout.addWidget(self.graphic_viewer) self.frame_form_layout.addWidget(self.frame_name_label, 0, 0) self.frame_form_layout.addWidget(self.frame_name_field, 0, 1) self.frame_form_layout.addWidget(self.frame_x_label, 1, 0) self.frame_form_layout.addWidget(self.frame_x_field, 1, 1) self.frame_form_layout.addWidget(self.frame_y_label, 2, 0) self.frame_form_layout.addWidget(self.frame_y_field, 2, 1) self.frame_form_layout.addWidget(self.frame_width_label, 1, 2) self.frame_form_layout.addWidget(self.frame_width_field, 1, 3) self.frame_form_layout.addWidget(self.frame_height_label, 2, 2) self.frame_form_layout.addWidget(self.frame_height_field, 2, 3) self.frame_form_layout.addWidget(self.frame_repeat_label, 3, 0) self.frame_form_layout.addWidget(self.frame_repeat_field, 3, 1, 1, 2) self.layout.addLayout(self.frame_form_layout, 0, 0) self.layout.addWidget(self.frame_list_view, 1, 0) self.frame_buttons_layout.addWidget(self.add_frame_button) self.frame_buttons_layout.addWidget(self.remove_frame_button) self.layout.addLayout(self.frame_buttons_layout, 1, 1) self.group.setLayout(self.outer_layout) # wire up gui event handlers self.add_frame_button.clicked.connect(self.add_frame) self.remove_frame_button.clicked.connect(self.remove_frame) self.frame_list_view.currentItemChanged.connect(self.select_frame)
def __init__(self, context): super(HitboxDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Hitbox')) self.selected_frame = None self.anchor = None # setup layout self.outer_layout = QtGui.QHBoxLayout() self.layout = QtGui.QGridLayout() self.box_name_label = QtGui.QLabel('Hitbox Name') self.box_name_field = QtGui.QLineEdit() self.box_hitactive_label = QtGui.QLabel('Hit Active') self.box_hitactive_check = QtGui.QCheckBox() self.box_hurtactive_label = QtGui.QLabel('Hurt Active') self.box_hurtactive_check = QtGui.QCheckBox() self.box_blockactive_label = QtGui.QLabel('Block Active') self.box_blockactive_check = QtGui.QCheckBox() self.box_solid_label = QtGui.QLabel('Solid') self.box_solid_check = QtGui.QCheckBox() self.box_x_label = QtGui.QLabel('X') self.box_x_field = QtGui.QLineEdit() self.box_y_label = QtGui.QLabel('Y') self.box_y_field = QtGui.QLineEdit() self.box_width_label = QtGui.QLabel('Width') self.box_width_field = QtGui.QLineEdit() self.box_height_label = QtGui.QLabel('Height') self.box_height_field = QtGui.QLineEdit() self.box_layout = QtGui.QGridLayout() self.box_list_view = QtGui.QListWidget() self.add_box_button = QtGui.QPushButton('Add Hitbox') self.remove_box_button = QtGui.QPushButton('Remove Hitbox') self.box_buttons_layout = QtGui.QVBoxLayout() # used to encapsulate the state of checkboxes # this simplifies notifying the graphic_viewer of how to # color the hitbox self.check_context = { 'hitactive': self.box_hitactive_check.checkState(), 'hurtactive': self.box_hurtactive_check.checkState(), 'blockactive': self.box_blockactive_check.checkState(), 'solid': self.box_solid_check.checkState() } self.graphic_viewer = HitboxViewer(self.check_context) # internal events EVENT_MAPPING.register_handler('selected_frame', self.set_frame) EVENT_MAPPING.register_handler('updated_box', self.update_fields) EVENT_MAPPING.register_handler('selected_graphic', self.set_anchor) #set up layout self.outer_layout.addLayout(self.layout) self.layout.addWidget(self.box_name_label,0,0) self.layout.addWidget(self.box_name_field,0,1) self.box_layout.addWidget(self.box_hitactive_label,0,0) self.box_layout.addWidget(self.box_hitactive_check,0,1) self.box_layout.addWidget(self.box_hurtactive_label,0,2) self.box_layout.addWidget(self.box_hurtactive_check,0,3) self.box_layout.addWidget(self.box_blockactive_label,1,0) self.box_layout.addWidget(self.box_blockactive_check,1,1) self.box_layout.addWidget(self.box_solid_label,1,2) self.box_layout.addWidget(self.box_solid_check,1,3) self.box_layout.addWidget(self.box_x_label,2,0) self.box_layout.addWidget(self.box_x_field,2,1) self.box_layout.addWidget(self.box_width_label,2,2) self.box_layout.addWidget(self.box_width_field,2,3) self.box_layout.addWidget(self.box_y_label,3,0) self.box_layout.addWidget(self.box_y_field,3,1) self.box_layout.addWidget(self.box_height_label,3,2) self.box_layout.addWidget(self.box_height_field,3,3) self.layout.addLayout(self.box_layout,1,0) self.layout.addWidget(self.box_list_view,2,0) self.box_buttons_layout.addWidget(self.add_box_button) self.box_buttons_layout.addWidget(self.remove_box_button) self.layout.addLayout(self.box_buttons_layout,2,1) self.outer_layout.addWidget(self.graphic_viewer) self.group.setLayout(self.outer_layout) # wire up gui event handlers self.add_box_button.clicked.connect(self.add_box) self.remove_box_button.clicked.connect(self.remove_box) self.box_list_view.currentItemChanged.connect(self.select_box) self.box_hitactive_check.stateChanged.connect(self.set_hitactive) self.box_hurtactive_check.stateChanged.connect(self.set_hurtactive) self.box_blockactive_check.stateChanged.connect(self.set_blockactive) self.box_solid_check.stateChanged.connect(self.set_solid)
def __init__(self, context): super(BindingDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Binding')) self.current_binding = None self.layout = QtGui.QGridLayout() self.binding_name_label = QtGui.QLabel('Binding Name') self.binding_name_field = QtGui.QLineEdit() self.inp_list_view = QtGui.QListWidget() self.selected_inp_list_view = QtGui.QListWidget() self.inp_layout = QtGui.QHBoxLayout() self.inp_button_layout = QtGui.QVBoxLayout() self.key_label = QtGui.QLabel('Choose Default Key') self.key_list_view = QtGui.QListWidget() self.key_layout = QtGui.QVBoxLayout() self.mirror_label = QtGui.QLabel('Choose Mirror Input') self.mirror_list_view = QtGui.QListWidget() self.mirror_layout = QtGui.QVBoxLayout() self.binding_list_view = QtGui.QListWidget() self.add_inp_button = QtGui.QPushButton('Add Input') self.remove_inp_button = QtGui.QPushButton('Remove Input') self.add_binding_button = QtGui.QPushButton('Add Binding') self.remove_binding_button = QtGui.QPushButton('Remove Binding') self.edit_binding_button = QtGui.QPushButton('Edit Binding') self.button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.binding_name_label,0,0) self.layout.addWidget(self.binding_name_field,0,1) self.inp_layout.addWidget(self.inp_list_view) self.key_layout.addWidget(self.key_label) self.key_layout.addWidget(self.key_list_view) self.inp_layout.addLayout(self.key_layout) self.mirror_layout.addWidget(self.mirror_label) self.mirror_layout.addWidget(self.mirror_list_view) self.inp_layout.addLayout(self.mirror_layout) self.inp_button_layout.addWidget(self.add_inp_button) self.inp_button_layout.addWidget(self.remove_inp_button) self.inp_layout.addLayout(self.inp_button_layout) self.inp_layout.addWidget(self.selected_inp_list_view) self.layout.addLayout(self.inp_layout,1,0,1,2) self.layout.addWidget(self.binding_list_view,2,0) self.button_layout.addWidget(self.add_binding_button) self.button_layout.addWidget(self.remove_binding_button) self.button_layout.addWidget(self.edit_binding_button) self.layout.addLayout(self.button_layout,2,1) self.group.setLayout(self.layout) # miscellaneous for key in KEYS: key_comp = KeyComponent(pygame.__dict__[key]) key_wrapper = Component(key_comp, key) widget_item = WidgetItemComponent(key, key_wrapper) self.key_list_view.addItem(widget_item) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_bindings) EVENT_MAPPING.register_handler('added_input', self.new_input) EVENT_MAPPING.register_handler('removed_input', self.removed_input) # wire up events self.add_inp_button.clicked.connect(self.add_input) self.remove_inp_button.clicked.connect(self.remove_input) self.add_binding_button.clicked.connect(self.add_binding) self.remove_binding_button.clicked.connect(self.remove_binding) self.edit_binding_button.clicked.connect(self.edit_binding) self.binding_list_view.currentItemChanged.connect(self.select_binding)
def __init__(self, context): super(MovementDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Movement')) # gui elements self.layout = QtGui.QGridLayout() self.move_name_label = QtGui.QLabel('Movement Name') self.move_name_field = QtGui.QLineEdit() self.velocity_type_group = QtGui.QButtonGroup() self.velocity_standard_type = QtGui.QRadioButton('Standard') self.velocity_pulse_type = QtGui.QRadioButton('Pulse') self.velocity_group = QtGui.QGroupBox('Velocity') self.velocity_list_view = QtGui.QListWidget() self.velocity_layout = QtGui.QGridLayout() self.body_label = QtGui.QLabel('Choose Body') self.body_tree_view = QtGui.QTreeWidget() self.body_layout = QtGui.QVBoxLayout() self.parent_label = QtGui.QLabel('Choose Parent') self.parent_list_view = QtGui.QListWidget() self.parent_layout = QtGui.QVBoxLayout() self.movement_list_view = QtGui.QListWidget() self.add_movement_button = QtGui.QPushButton('Add Movement') self.update_movement_button = QtGui.QPushButton('Update Movement') self.remove_movement_button = QtGui.QPushButton('Remove Movement') self.movement_button_layout = QtGui.QVBoxLayout() # set up layout self.velocity_type_group.addButton(self.velocity_standard_type) self.velocity_type_group.addButton(self.velocity_pulse_type) self.layout.addWidget(self.move_name_label,0,0) self.layout.addWidget(self.move_name_field,0,1) self.velocity_layout.addWidget(self.velocity_standard_type,0,0) self.velocity_layout.addWidget(self.velocity_pulse_type,0,1) self.velocity_layout.addWidget(self.velocity_list_view,1,0) self.layout.addWidget(self.velocity_group,1,0) self.body_layout.addWidget(self.body_label) self.body_layout.addWidget(self.body_tree_view) self.layout.addLayout(self.body_layout,1,1) self.parent_layout.addWidget(self.parent_label) self.parent_layout.addWidget(self.parent_list_view) self.layout.addLayout(self.parent_layout,1,2) self.layout.addWidget(self.movement_list_view,2,0) self.movement_button_layout.addWidget(self.add_movement_button) self.movement_button_layout.addWidget(self.update_movement_button) self.movement_button_layout.addWidget(self.remove_movement_button) self.layout.addLayout(self.movement_button_layout,2,1) self.velocity_group.setLayout(self.velocity_layout) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('added_component', self.add_component) EVENT_MAPPING.register_handler('removed_component', self.remove_component) EVENT_MAPPING.register_handler('vector_added', self.add_vector) EVENT_MAPPING.register_handler('vector_removed', self.remove_vector) # wire up events self.add_movement_button.clicked.connect(self.add_movement) self.update_movement_button.clicked.connect(self.update_movement) self.remove_movement_button.clicked.connect(self.remove_movement) self.movement_list_view.currentItemChanged.connect(self.select_movement)
def __init__(self, context): super(MoveDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Move')) self.selected_animation = None # gui elements self.layout = QtGui.QGridLayout() self.move_name_label = QtGui.QLabel('Move Name') self.move_name_field = QtGui.QLineEdit() self.ani_picker_label = QtGui.QLabel('Choose Animation') self.ani_list_view = QtGui.QListWidget() self.ani_picker_layout = QtGui.QVBoxLayout() self.inp_picker_label = QtGui.QLabel('Choose Inputs') self.inp_list_view = QtGui.QListWidget() self.selected_inp_list_view = QtGui.QListWidget() self.inp_layout = QtGui.QHBoxLayout() self.inp_select_layout = QtGui.QVBoxLayout() self.add_inps_button = QtGui.QPushButton('Add Inputs') self.remove_inps_button = QtGui.QPushButton('Remove Inputs') self.inps_button_layout = QtGui.QVBoxLayout() self.move_list_view = QtGui.QListWidget() self.add_move_button = QtGui.QPushButton('Add Move') self.remove_move_button = QtGui.QPushButton('Remove Move') self.move_button_layout = QtGui.QVBoxLayout() # misc self.inp_list_view.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) # set up layout self.layout.addWidget(self.move_name_label,0,0) self.layout.addWidget(self.move_name_field,0,1) self.ani_picker_layout.addWidget(self.ani_picker_label) self.ani_picker_layout.addWidget(self.ani_list_view) self.layout.addLayout(self.ani_picker_layout,1,0) self.inp_select_layout.addWidget(self.inp_picker_label) self.inp_select_layout.addWidget(self.inp_list_view) self.inp_layout.addLayout(self.inp_select_layout) self.inps_button_layout.addWidget(self.add_inps_button) self.inps_button_layout.addWidget(self.remove_inps_button) self.inp_layout.addLayout(self.inps_button_layout) self.inp_layout.addWidget(self.selected_inp_list_view) self.layout.addLayout(self.inp_layout,1,1) self.layout.addWidget(self.move_list_view,2,0) self.move_button_layout.addWidget(self.add_move_button) self.move_button_layout.addWidget(self.remove_move_button) self.layout.addLayout(self.move_button_layout,2,1) self.group.setLayout(self.layout) # internal events EVENT_MAPPING.register_handler('added_input', self.new_input) EVENT_MAPPING.register_handler('removed_input', self.removed_input) EVENT_MAPPING.register_handler('selected_entity', self.set_animations) EVENT_MAPPING.register_handler('added_animation', self.add_animation) EVENT_MAPPING.register_handler('removed_animation', self.remove_animation) # wire up events self.ani_list_view.currentItemChanged.connect(self.select_animation) self.add_inps_button.clicked.connect(self.add_inputs) self.remove_inps_button.clicked.connect(self.remove_inputs) self.add_move_button.clicked.connect(self.add_move) self.remove_move_button.clicked.connect(self.remove_move) self.move_list_view.currentItemChanged.connect(self.select_move)
def __init__(self, context): super(BindingDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Binding')) self.current_binding = None self.layout = QtGui.QGridLayout() self.binding_name_label = QtGui.QLabel('Binding Name') self.binding_name_field = QtGui.QLineEdit() self.inp_list_view = QtGui.QListWidget() self.selected_inp_list_view = QtGui.QListWidget() self.inp_layout = QtGui.QHBoxLayout() self.inp_button_layout = QtGui.QVBoxLayout() self.key_label = QtGui.QLabel('Choose Default Key') self.key_list_view = QtGui.QListWidget() self.key_layout = QtGui.QVBoxLayout() self.mirror_label = QtGui.QLabel('Choose Mirror Input') self.mirror_list_view = QtGui.QListWidget() self.mirror_layout = QtGui.QVBoxLayout() self.binding_list_view = QtGui.QListWidget() self.add_inp_button = QtGui.QPushButton('Add Input') self.remove_inp_button = QtGui.QPushButton('Remove Input') self.add_binding_button = QtGui.QPushButton('Add Binding') self.remove_binding_button = QtGui.QPushButton('Remove Binding') self.edit_binding_button = QtGui.QPushButton('Edit Binding') self.button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.binding_name_label, 0, 0) self.layout.addWidget(self.binding_name_field, 0, 1) self.inp_layout.addWidget(self.inp_list_view) self.key_layout.addWidget(self.key_label) self.key_layout.addWidget(self.key_list_view) self.inp_layout.addLayout(self.key_layout) self.mirror_layout.addWidget(self.mirror_label) self.mirror_layout.addWidget(self.mirror_list_view) self.inp_layout.addLayout(self.mirror_layout) self.inp_button_layout.addWidget(self.add_inp_button) self.inp_button_layout.addWidget(self.remove_inp_button) self.inp_layout.addLayout(self.inp_button_layout) self.inp_layout.addWidget(self.selected_inp_list_view) self.layout.addLayout(self.inp_layout, 1, 0, 1, 2) self.layout.addWidget(self.binding_list_view, 2, 0) self.button_layout.addWidget(self.add_binding_button) self.button_layout.addWidget(self.remove_binding_button) self.button_layout.addWidget(self.edit_binding_button) self.layout.addLayout(self.button_layout, 2, 1) self.group.setLayout(self.layout) # miscellaneous for key in KEYS: key_comp = KeyComponent(pygame.__dict__[key]) key_wrapper = Component(key_comp, key) widget_item = WidgetItemComponent(key, key_wrapper) self.key_list_view.addItem(widget_item) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_bindings) EVENT_MAPPING.register_handler('added_input', self.new_input) EVENT_MAPPING.register_handler('removed_input', self.removed_input) # wire up events self.add_inp_button.clicked.connect(self.add_input) self.remove_inp_button.clicked.connect(self.remove_input) self.add_binding_button.clicked.connect(self.add_binding) self.remove_binding_button.clicked.connect(self.remove_binding) self.edit_binding_button.clicked.connect(self.edit_binding) self.binding_list_view.currentItemChanged.connect(self.select_binding)
def __init__(self, context): super(HitboxDefinitionEditor, self).__init__(context, QtGui.QGroupBox('Hitbox')) self.selected_frame = None self.anchor = None # setup layout self.outer_layout = QtGui.QHBoxLayout() self.layout = QtGui.QGridLayout() self.box_name_label = QtGui.QLabel('Hitbox Name') self.box_name_field = QtGui.QLineEdit() self.box_hitactive_label = QtGui.QLabel('Hit Active') self.box_hitactive_check = QtGui.QCheckBox() self.box_hurtactive_label = QtGui.QLabel('Hurt Active') self.box_hurtactive_check = QtGui.QCheckBox() self.box_blockactive_label = QtGui.QLabel('Block Active') self.box_blockactive_check = QtGui.QCheckBox() self.box_solid_label = QtGui.QLabel('Solid') self.box_solid_check = QtGui.QCheckBox() self.box_x_label = QtGui.QLabel('X') self.box_x_field = QtGui.QLineEdit() self.box_y_label = QtGui.QLabel('Y') self.box_y_field = QtGui.QLineEdit() self.box_width_label = QtGui.QLabel('Width') self.box_width_field = QtGui.QLineEdit() self.box_height_label = QtGui.QLabel('Height') self.box_height_field = QtGui.QLineEdit() self.box_layout = QtGui.QGridLayout() self.box_list_view = QtGui.QListWidget() self.add_box_button = QtGui.QPushButton('Add Hitbox') self.remove_box_button = QtGui.QPushButton('Remove Hitbox') self.box_buttons_layout = QtGui.QVBoxLayout() # used to encapsulate the state of checkboxes # this simplifies notifying the graphic_viewer of how to # color the hitbox self.check_context = { 'hitactive': self.box_hitactive_check.checkState(), 'hurtactive': self.box_hurtactive_check.checkState(), 'blockactive': self.box_blockactive_check.checkState(), 'solid': self.box_solid_check.checkState() } self.graphic_viewer = HitboxViewer(self.check_context) # internal events EVENT_MAPPING.register_handler('selected_frame', self.set_frame) EVENT_MAPPING.register_handler('updated_box', self.update_fields) EVENT_MAPPING.register_handler('selected_graphic', self.set_anchor) #set up layout self.outer_layout.addLayout(self.layout) self.layout.addWidget(self.box_name_label, 0, 0) self.layout.addWidget(self.box_name_field, 0, 1) self.box_layout.addWidget(self.box_hitactive_label, 0, 0) self.box_layout.addWidget(self.box_hitactive_check, 0, 1) self.box_layout.addWidget(self.box_hurtactive_label, 0, 2) self.box_layout.addWidget(self.box_hurtactive_check, 0, 3) self.box_layout.addWidget(self.box_blockactive_label, 1, 0) self.box_layout.addWidget(self.box_blockactive_check, 1, 1) self.box_layout.addWidget(self.box_solid_label, 1, 2) self.box_layout.addWidget(self.box_solid_check, 1, 3) self.box_layout.addWidget(self.box_x_label, 2, 0) self.box_layout.addWidget(self.box_x_field, 2, 1) self.box_layout.addWidget(self.box_width_label, 2, 2) self.box_layout.addWidget(self.box_width_field, 2, 3) self.box_layout.addWidget(self.box_y_label, 3, 0) self.box_layout.addWidget(self.box_y_field, 3, 1) self.box_layout.addWidget(self.box_height_label, 3, 2) self.box_layout.addWidget(self.box_height_field, 3, 3) self.layout.addLayout(self.box_layout, 1, 0) self.layout.addWidget(self.box_list_view, 2, 0) self.box_buttons_layout.addWidget(self.add_box_button) self.box_buttons_layout.addWidget(self.remove_box_button) self.layout.addLayout(self.box_buttons_layout, 2, 1) self.outer_layout.addWidget(self.graphic_viewer) self.group.setLayout(self.outer_layout) # wire up gui event handlers self.add_box_button.clicked.connect(self.add_box) self.remove_box_button.clicked.connect(self.remove_box) self.box_list_view.currentItemChanged.connect(self.select_box) self.box_hitactive_check.stateChanged.connect(self.set_hitactive) self.box_hurtactive_check.stateChanged.connect(self.set_hurtactive) self.box_blockactive_check.stateChanged.connect(self.set_blockactive) self.box_solid_check.stateChanged.connect(self.set_solid)
def __init__(self, context): super(StateDefinitionEditor, self).__init__(context, QtGui.QGroupBox('State')) # gui elements self.layout = QtGui.QGridLayout() self.state_name_label = QtGui.QLabel('State Name') self.state_name_field = QtGui.QLineEdit() self.activation_label = QtGui.QLabel('Activation Events') self.activation_list_view = QtGui.QListWidget() self.activation_layout = QtGui.QVBoxLayout() self.deactivation_label = QtGui.QLabel('Deactivation Events') self.deactivation_list_view = QtGui.QListWidget() self.deactivation_layout = QtGui.QVBoxLayout() self.activation_component_label = QtGui.QLabel('Activation Component') self.activation_component_tree_view = QtGui.QTreeWidget() self.activation_component_layout = QtGui.QVBoxLayout() self.rule_list_label = QtGui.QLabel('Rules') self.rule_list_view = QtGui.QListWidget() self.rule_list_layout = QtGui.QVBoxLayout() self.rule_value_label = QtGui.QLabel('Rule Value') self.rule_value_field = QtGui.QLineEdit() self.rule_value_component_label = QtGui.QLabel('Or Pick a Component Value') self.rule_value_component_tree_view = QtGui.QTreeWidget() self.rule_value_layout = QtGui.QVBoxLayout() self.selected_rule_list_view = QtGui.QListWidget() self.add_rule_button = QtGui.QPushButton('Add Rule and Value') self.remove_rule_button = QtGui.QPushButton('Remove Rule and Value') self.rule_button_layout = QtGui.QVBoxLayout() self.state_list_view = QtGui.QListWidget() self.add_state_button = QtGui.QPushButton('Add State') self.remove_state_button = QtGui.QPushButton('Remove State') self.state_button_layout = QtGui.QVBoxLayout() # set up layout self.layout.addWidget(self.state_name_label,0,0) self.layout.addWidget(self.state_name_field,0,1) self.activation_layout.addWidget(self.activation_label) self.activation_layout.addWidget(self.activation_list_view) self.layout.addLayout(self.activation_layout,1,0) self.deactivation_layout.addWidget(self.deactivation_label) self.deactivation_layout.addWidget(self.deactivation_list_view) self.layout.addLayout(self.deactivation_layout,1,1) self.activation_component_layout.addWidget(self.activation_component_label) self.activation_component_layout.addWidget(self.activation_component_tree_view) self.layout.addLayout(self.activation_component_layout,1,2,1,2) self.rule_list_layout.addWidget(self.rule_list_label) self.rule_list_layout.addWidget(self.rule_list_view) self.layout.addLayout(self.rule_list_layout,2,0) self.rule_value_layout.addWidget(self.rule_value_label) self.rule_value_layout.addWidget(self.rule_value_field) self.rule_value_layout.addWidget(self.rule_value_component_label) self.rule_value_layout.addWidget(self.rule_value_component_tree_view) self.layout.addLayout(self.rule_value_layout,2,1) self.rule_button_layout.addWidget(self.add_rule_button) self.rule_button_layout.addWidget(self.remove_rule_button) self.layout.addLayout(self.rule_button_layout,2,2) self.layout.addWidget(self.selected_rule_list_view,2,3) self.layout.addWidget(self.state_list_view,3,0) self.state_button_layout.addWidget(self.add_state_button) self.state_button_layout.addWidget(self.remove_state_button) self.layout.addLayout(self.state_button_layout,3,1,1,1) self.group.setLayout(self.layout) # populate event lists for name in (x for x in dir(events) if not x.startswith('_')): value = events.__dict__[name] activation_component = Component(value, name) deactivation_component = Component(value, name) a_widget_component = WidgetItemComponent(name, activation_component) d_widget_component = WidgetItemComponent(name, deactivation_component) self.activation_list_view.addItem(a_widget_component) self.deactivation_list_view.addItem(d_widget_component) # internal events EVENT_MAPPING.register_handler('selected_entity', self.set_entity) EVENT_MAPPING.register_handler('added_component', self.add_component) EVENT_MAPPING.register_handler('removed_component', self.remove_component) EVENT_MAPPING.register_handler('added_rule', self.rule_added) EVENT_MAPPING.register_handler('removed_rule', self.rule_removed) # wire up events self.add_rule_button.clicked.connect(self.add_rule) self.remove_rule_button.clicked.connect(self.remove_rule) self.add_state_button.clicked.connect(self.add_state) self.remove_state_button.clicked.connect(self.remove_state) self.state_list_view.currentItemChanged.connect(self.select_state) self.selected_rule_list_view.currentItemChanged.connect(self.select_rule)