def __init__(self, editor: PresetEditor): super().__init__() self.setupUi(self) self._editor = editor randomizer_data = default_data.decode_randomizer_data() self.translators_layout.setAlignment(QtCore.Qt.AlignTop) self.translator_randomize_all_button.clicked.connect( self._on_randomize_all_gates_pressed) self.translator_vanilla_actual_button.clicked.connect( self._on_vanilla_actual_gates_pressed) self.translator_vanilla_colors_button.clicked.connect( self._on_vanilla_colors_gates_pressed) self._combo_for_gate = {} for i, gate in enumerate(randomizer_data["TranslatorLocationData"]): label = QtWidgets.QLabel(self.translators_scroll_contents) label.setText(gate["Name"]) self.translators_layout.addWidget(label, 3 + i, 0, 1, 1) combo = QComboBox(self.translators_scroll_contents) combo.gate = TranslatorGate(gate["Index"]) for item in iterate_enum(LayoutTranslatorRequirement): combo.addItem(item.long_name, item) combo.currentIndexChanged.connect( functools.partial(self._on_gate_combo_box_changed, combo)) self.translators_layout.addWidget(combo, 3 + i, 1, 1, 2) self._combo_for_gate[combo.gate] = combo
def setup_translators_elements(self): randomizer_data = default_data.decode_randomizer_data() self.always_up_gfmc_compound_check.stateChanged.connect( functools.partial(self._on_always_up_check_changed, "fixed_gfmc_compound")) self.always_up_torvus_temple_check.stateChanged.connect( functools.partial(self._on_always_up_check_changed, "fixed_torvus_temple")) self.always_up_great_temple_check.stateChanged.connect( functools.partial(self._on_always_up_check_changed, "fixed_great_temple")) self.translator_randomize_all_button.clicked.connect(self._on_randomize_all_gates_pressed) self.translator_vanilla_actual_button.clicked.connect(self._on_vanilla_actual_gates_pressed) self.translator_vanilla_colors_button.clicked.connect(self._on_vanilla_colors_gates_pressed) self._combo_for_gate = {} for i, gate in enumerate(randomizer_data["TranslatorLocationData"]): label = QLabel(self.translators_scroll_contents) label.setText(gate["Name"]) self.translators_layout.addWidget(label, 3 + i, 0, 1, 1) combo = QComboBox(self.translators_scroll_contents) combo.gate = TranslatorGate(gate["Index"]) for item in LayoutTranslatorRequirement: combo.addItem(item.long_name, item) combo.currentIndexChanged.connect(functools.partial(self._on_gate_combo_box_changed, combo)) self.translators_layout.addWidget(combo, 3 + i, 1, 1, 2) self._combo_for_gate[combo.gate] = combo
def randomizer_data() -> dict: return default_data.decode_randomizer_data()
def _find_gate_with_name(gate_name: str) -> TranslatorGate: for items in default_data.decode_randomizer_data( )["TranslatorLocationData"]: if items["Name"] == gate_name: return TranslatorGate(items["Index"]) raise ValueError("Unknown gate name: {}".format(gate_name))
def _name_for_gate(gate: TranslatorGate) -> str: for items in default_data.decode_randomizer_data( )["TranslatorLocationData"]: if items["Index"] == gate.index: return items["Name"] raise ValueError("Unknown gate: {}".format(gate))