def draw_widget(self, dt): content_layout = self.ids.contents slider_layout = self.ids.slider_layout self.drop_chance_wid = None for wid in slider_layout.children: wid.font_group_id = 'default' wid.font_ramp_tuple = ('default', '1') for wid in content_layout.children: wid.font_ramp_tuple = ('default', '1') wid.font_group_id = 'default' slider_layout.clear_widgets() content_layout.clear_widgets() if self.slot_item is None: button = FlatButton( font_ramp_tuple=(self.font_group_id + "choose_item", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text="Load Item", size_hint=(.6, None), height=dp(35)) button.bind(on_release=lambda x: self.load_item()) content_layout.add_widget(button) else: content_layout.add_widget(Divider(size_hint=(.8, None), height=dp(5))) item = self.slot_item name = item.name if name is None: name = "" content_layout.add_widget(MobItemWidget(item_name=item.i_id, display_name=name, file_name=self.file_name, font_group_id='item_info')) button = FlatButton( font_ramp_tuple=(self.font_group_id + "delete_item", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text="X", size_hint=(.4, None), height=dp(25)) button.bind(on_release=lambda x: self.delete_item()) slider_label = FlatLabel(size_hint=(1.0, None), height=dp(25), text="Drop Chance: ", theme=('aqua', 'variant_1'), valign='middle', halign='left') slider_label.bind(size=slider_label.setter('text_size')) slider_label.font_ramp_tuple = (self.font_group_id + "_drop", '1') slider_layout.add_widget(slider_label) slider_wid = SliderWithValues(minimum=0.0, maximum=1.0, height=dp(45), step=0.01, font_group_id=self.font_group_id + "_sliders", size_hint=(1.0, None)) self.drop_chance_wid = slider_wid slider_layout.add_widget(slider_wid) slider_layout.add_widget(button)
def on_categories(self, instance, value): layout = self.ids.layout layout.clear_widgets() app = App.get_running_app() for key in sorted(value): new_button = FlatButton(font_ramp_tuple=("item_categories", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=mc_objects.ITEM_TYPES[key]) new_button.bind(size=new_button.setter('text_size')) new_button.ikey = key new_button.bind(on_release=lambda x: app.change_to_item_types( 'item_types', x.ikey)) layout.add_widget(new_button)
def on_categories(self, instance, value): layout = self.ids.layout layout.clear_widgets() app = App.get_running_app() for key in sorted(value): new_button = FlatButton( font_ramp_tuple=("item_categories", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=mc_objects.ITEM_TYPES[key]) new_button.bind(size=new_button.setter('text_size')) new_button.ikey = key new_button.bind( on_release=lambda x: app.change_to_item_types( 'item_types', x.ikey)) layout.add_widget(new_button)
def open_slot_choices(self): popup = CustomPopup() popup.title = 'Choose Slot' popup.content = content = EnchantPopupLayout() layout = content.ids.layout layout.clear_widgets() for slot_choice in sorted(self.slot_choices): slot_button = FlatButton( font_ramp_tuple=("slot_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=slot_choice, size_hint=(1., None), height=dp(30)) slot_button.slot_choice = slot_choice slot_button.bind( on_release=lambda x: self.set_slot(x.slot_choice, popup)) layout.add_widget(slot_button) popup.open()
def open_add_attributes(self): popup = CustomPopup() popup.title = 'Choose Attribute' popup.content = content = EnchantPopupLayout() layout = content.ids.layout for attribute_id in sorted(self.get_attributes()): attribute = mc_objects.ATTRIBUTES[attribute_id] attribute_button = FlatButton( font_ramp_tuple=("attribute_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=attribute.attribute_id, size_hint=(1., None), height=dp(30)) attribute_button.attribute_id = attribute.attribute_id attribute_button.bind( on_release=lambda x: self.add_attribute(x.attribute_id, popup)) layout.add_widget(attribute_button) popup.open()
def open_add_potions(self): popup = CustomPopup() popup.title = 'Choose Potion' popup.content = content = EnchantPopupLayout() layout = content.ids.layout for potion_id in sorted(mc_objects.POTIONS): potion = mc_objects.POTIONS[potion_id] potion_button = FlatButton( font_ramp_tuple=("potion_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=potion.potion_name, size_hint=(1., None), height=dp(30)) potion_button.potion_id = potion_id potion_button.bind( on_release=lambda x: self.add_potion(x.potion_id, popup)) layout.add_widget(potion_button) popup.open()
def open_add_enchants(self): popup = CustomPopup() popup.title = 'Choose Enchant' popup.content = content = EnchantPopupLayout() layout = content.ids.layout layout.clear_widgets() for e_id in sorted(self.get_enchants()): enchant = mc_objects.ENCHANTS[e_id] enchant_button = FlatButton( font_ramp_tuple=("enchant_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=enchant.name, size_hint=(1., None), height=dp(30)) enchant_button.e_id = enchant.e_id enchant_button.bind( on_release=lambda x: self.add_enchant(x.e_id, popup)) layout.add_widget(enchant_button) popup.open()
def open_add_potions(self): popup = CustomPopup() popup.title = 'Choose Potion' popup.content = content = EnchantPopupLayout() layout = content.ids.layout for potion_id in sorted(mc_objects.POTIONS): potion = mc_objects.POTIONS[potion_id] potion_button = FlatButton(font_ramp_tuple=("potion_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=potion.potion_name, size_hint=(1., None), height=dp(30)) potion_button.potion_id = potion_id potion_button.bind( on_release=lambda x: self.add_potion(x.potion_id, popup)) layout.add_widget(potion_button) popup.open()
def open_op_choices(self): popup = CustomPopup() popup.title = 'Choose Operation' popup.content = content = EnchantPopupLayout() layout = content.ids.layout layout.clear_widgets() for op_choice in sorted(self.operations): op_button = FlatButton( font_ramp_tuple=("slot_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=str(int(op_choice)) + ' (' + self.operations[op_choice] + ')', size_hint=(1., None), height=dp(30)) op_button.op_choice = op_choice op_button.bind( on_release=lambda x: self.set_op(x.op_choice, popup)) layout.add_widget(op_button) popup.open()
def open_options_popup(self, option): popup = CustomPopup() popup.title = 'Choose ' + option.tag_name popup.content = content = EnchantPopupLayout() layout = content.ids.layout for option_name, option_id in sorted(option.tag_data): option_button = FlatButton( font_ramp_tuple=(option_name + "_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=option_name, size_hint=(1., None), height=dp(30)) option_button.option_id = option_id option_button.option_name = option_name option_button.bind( on_release=lambda x: self.set_option_for_additional(option, x, popup) ) layout.add_widget(option_button) popup.open()
def open_slot_choices(self): popup = CustomPopup() popup.title = 'Choose Slot' popup.content = content = EnchantPopupLayout() layout = content.ids.layout layout.clear_widgets() for slot_choice in sorted(self.slot_choices): slot_button = FlatButton(font_ramp_tuple=("slot_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=slot_choice, size_hint=(1., None), height=dp(30)) slot_button.slot_choice = slot_choice slot_button.bind( on_release=lambda x: self.set_slot(x.slot_choice, popup)) layout.add_widget(slot_button) popup.open()
def open_options_popup(self, option): popup = CustomPopup() popup.title = 'Choose ' + option.tag_name popup.content = content = EnchantPopupLayout() layout = content.ids.layout for option_name, option_id in sorted(option.tag_data): option_button = FlatButton(font_ramp_tuple=(option_name + "_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=option_name, size_hint=(1., None), height=dp(30)) option_button.option_id = option_id option_button.option_name = option_name option_button.bind(on_release=lambda x: self. set_option_for_additional(option, x, popup)) layout.add_widget(option_button) popup.open()
def open_add_attributes(self): popup = CustomPopup() popup.title = 'Choose Attribute' popup.content = content = EnchantPopupLayout() layout = content.ids.layout for attribute_id in sorted(self.get_attributes()): attribute = mc_objects.ATTRIBUTES[attribute_id] attribute_button = FlatButton(font_ramp_tuple=("attribute_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=attribute.attribute_id, size_hint=(1., None), height=dp(30)) attribute_button.attribute_id = attribute.attribute_id attribute_button.bind( on_release=lambda x: self.add_attribute(x.attribute_id, popup)) layout.add_widget(attribute_button) popup.open()
def open_op_choices(self): popup = CustomPopup() popup.title = 'Choose Operation' popup.content = content = EnchantPopupLayout() layout = content.ids.layout layout.clear_widgets() for op_choice in sorted(self.operations): op_button = FlatButton(font_ramp_tuple=("slot_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=str(int(op_choice)) + ' (' + self.operations[op_choice] + ')', size_hint=(1., None), height=dp(30)) op_button.op_choice = op_choice op_button.bind( on_release=lambda x: self.set_op(x.op_choice, popup)) layout.add_widget(op_button) popup.open()
def open_add_enchants(self): popup = CustomPopup() popup.title = 'Choose Enchant' popup.content = content = EnchantPopupLayout() layout = content.ids.layout layout.clear_widgets() for e_id in sorted(self.get_enchants()): enchant = mc_objects.ENCHANTS[e_id] enchant_button = FlatButton(font_ramp_tuple=("enchant_choices", "1"), theme=('aqua', 'variant_2'), valign='middle', halign='center', text=enchant.name, size_hint=(1., None), height=dp(30)) enchant_button.e_id = enchant.e_id enchant_button.bind( on_release=lambda x: self.add_enchant(x.e_id, popup)) layout.add_widget(enchant_button) popup.open()