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)
Exemple #2
0
 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)
Exemple #3
0
 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)
         
Exemple #4
0
 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()
Exemple #5
0
 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()
Exemple #6
0
 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()
Exemple #7
0
 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()
Exemple #8
0
 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()
Exemple #9
0
 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()
Exemple #10
0
 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()
Exemple #11
0
 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()
Exemple #12
0
 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()
Exemple #13
0
 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()
Exemple #14
0
 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()
Exemple #15
0
 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()