Add a "health bar" factor B)
							parent
							
								
									472cf036cb
								
							
						
					
					
						commit
						2ddf40b8d3
					
				| 
						 | 
					@ -188,6 +188,8 @@ class FieldsForm(QWidget):
 | 
				
			||||||
        font_size: Optional[int] = None,
 | 
					        font_size: Optional[int] = None,
 | 
				
			||||||
        font_color: str = 'default_lightest',
 | 
					        font_color: str = 'default_lightest',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        **vbox_kwargs,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ) -> QtGui.QLabel:
 | 
					    ) -> QtGui.QLabel:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # add label to left of search bar
 | 
					        # add label to left of search bar
 | 
				
			||||||
| 
						 | 
					@ -212,7 +214,7 @@ class FieldsForm(QWidget):
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        label.show()
 | 
					        label.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.vbox.addWidget(label)
 | 
					        self.vbox.addWidget(label, **vbox_kwargs)
 | 
				
			||||||
        self.labels[name] = label
 | 
					        self.labels[name] = label
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return label
 | 
					        return label
 | 
				
			||||||
| 
						 | 
					@ -360,15 +362,36 @@ async def open_form(
 | 
				
			||||||
            values = list(config['default_value'])
 | 
					            values = list(config['default_value'])
 | 
				
			||||||
            form.add_select_field(key, values)
 | 
					            form.add_select_field(key, values)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async with open_handlers(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        list(form.fields.values()),
 | 
				
			||||||
 | 
					        event_types={QEvent.KeyPress},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        async_handler=partial(
 | 
				
			||||||
 | 
					            handle_field_input,
 | 
				
			||||||
 | 
					            form=form,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # block key repeats?
 | 
				
			||||||
 | 
					        filter_auto_repeats=True,
 | 
				
			||||||
 | 
					    ):
 | 
				
			||||||
 | 
					        yield form
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def mk_health_bar(
 | 
				
			||||||
 | 
					    form: FieldsForm,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					) -> FieldsForm:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    form.vbox.addSpacing(6)
 | 
					    form.vbox.addSpacing(6)
 | 
				
			||||||
    form.add_field_label('fill status')
 | 
					    form.add_field_label('fill status', alignment=Qt.AlignCenter)
 | 
				
			||||||
    form.vbox.addSpacing(6)
 | 
					    form.vbox.addSpacing(6)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fill_bar = QProgressBar(form)
 | 
					    fill_bar = QProgressBar(form)
 | 
				
			||||||
    import math
 | 
					    import math
 | 
				
			||||||
    slots = 4
 | 
					    slots = 4
 | 
				
			||||||
    border_size_px = 2
 | 
					    border_size_px = 2
 | 
				
			||||||
    slot_margin_px = 2  #1.375
 | 
					    slot_margin_px = 2  # 1.375
 | 
				
			||||||
    h = 150  #+ (2*2 + slot_margin_px*slots*2)
 | 
					    h = 150  #+ (2*2 + slot_margin_px*slots*2)
 | 
				
			||||||
    # multiples, r = divmod(h, slots)
 | 
					    # multiples, r = divmod(h, slots)
 | 
				
			||||||
    slot_height_px = math.floor((h - 2*border_size_px)/slots) - slot_margin_px*1
 | 
					    slot_height_px = math.floor((h - 2*border_size_px)/slots) - slot_margin_px*1
 | 
				
			||||||
| 
						 | 
					@ -431,18 +454,4 @@ async def open_form(
 | 
				
			||||||
    form.vbox.addWidget(fill_bar, alignment=Qt.AlignCenter)
 | 
					    form.vbox.addWidget(fill_bar, alignment=Qt.AlignCenter)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # form.vbox.addStretch()
 | 
					    # form.vbox.addStretch()
 | 
				
			||||||
 | 
					    return form
 | 
				
			||||||
    async with open_handlers(
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        list(form.fields.values()),
 | 
					 | 
				
			||||||
        event_types={QEvent.KeyPress},
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        async_handler=partial(
 | 
					 | 
				
			||||||
            handle_field_input,
 | 
					 | 
				
			||||||
            form=form,
 | 
					 | 
				
			||||||
        ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # block key repeats?
 | 
					 | 
				
			||||||
        filter_auto_repeats=True,
 | 
					 | 
				
			||||||
    ):
 | 
					 | 
				
			||||||
        yield form
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue