def _build_host_tab(self, region_width: float, region_height: float) -> None: c_width = region_width c_height = region_height - 20 v = c_height - 35 v -= 25 is_public_enabled = _ba.get_public_party_enabled() v -= 30 party_name_text = ba.Lstr( resource='gatherWindow.partyNameText', fallback_resource='editGameListWindow.nameText') ba.textwidget(parent=self._container, size=(0, 0), h_align='right', v_align='center', maxwidth=200, scale=0.8, color=ba.app.ui.infotextcolor, position=(210, v - 9), text=party_name_text) self._host_name_text = ba.textwidget(parent=self._container, editable=True, size=(535, 40), position=(230, v - 30), text=ba.app.config.get( 'Public Party Name', ''), maxwidth=494, shadow=0.3, flatness=1.0, description=party_name_text, autoselect=True, v_align='center', corner_scale=1.0) v -= 60 ba.textwidget(parent=self._container, size=(0, 0), h_align='right', v_align='center', maxwidth=200, scale=0.8, color=ba.app.ui.infotextcolor, position=(210, v - 9), text=ba.Lstr(resource='maxPartySizeText', fallback_resource='maxConnectionsText')) self._host_max_party_size_value = ba.textwidget( parent=self._container, size=(0, 0), h_align='center', v_align='center', scale=1.2, color=(1, 1, 1), position=(240, v - 9), text=str(_ba.get_public_party_max_size())) btn1 = self._host_max_party_size_minus_button = (ba.buttonwidget( parent=self._container, size=(40, 40), on_activate_call=ba.WeakCall( self._on_max_public_party_size_minus_press), position=(280, v - 26), label='-', autoselect=True)) btn2 = self._host_max_party_size_plus_button = (ba.buttonwidget( parent=self._container, size=(40, 40), on_activate_call=ba.WeakCall( self._on_max_public_party_size_plus_press), position=(350, v - 26), label='+', autoselect=True)) v -= 50 v -= 70 if is_public_enabled: label = ba.Lstr( resource='gatherWindow.makePartyPrivateText', fallback_resource='gatherWindow.stopAdvertisingText') else: label = ba.Lstr( resource='gatherWindow.makePartyPublicText', fallback_resource='gatherWindow.startAdvertisingText') self._host_toggle_button = ba.buttonwidget( parent=self._container, label=label, size=(400, 80), on_activate_call=self._on_stop_advertising_press if is_public_enabled else self._on_start_advertizing_press, position=(c_width * 0.5 - 200, v), autoselect=True, up_widget=btn2) ba.widget(edit=self._host_name_text, down_widget=btn2) ba.widget(edit=btn2, up_widget=self._host_name_text) ba.widget(edit=btn1, up_widget=self._host_name_text) ba.widget(edit=self._join_text, down_widget=self._host_name_text) v -= 10 self._host_status_text = ba.textwidget( parent=self._container, text=ba.Lstr(resource='gatherWindow.' 'partyStatusNotPublicText'), size=(0, 0), scale=0.7, flatness=1.0, shadow=0.0, h_align='center', v_align='top', maxwidth=c_width, color=(0.6, 0.6, 0.6), position=(c_width * 0.5, v)) v -= 90 ba.textwidget( parent=self._container, text=ba.Lstr(resource='gatherWindow.dedicatedServerInfoText'), size=(0, 0), scale=0.7, flatness=1.0, shadow=0.0, h_align='center', v_align='center', maxwidth=c_width * 0.9, color=ba.app.ui.infotextcolor, position=(c_width * 0.5, v)) # If public sharing is already on, # launch a status-check immediately. if _ba.get_public_party_enabled(): self._do_status_check()
def _build_saved_party_tab(self, region_width: float, region_height: float) -> None: c_width = region_width c_height = region_height - 20 v = c_height - 35 v -= 25 is_public_enabled = _ba.get_public_party_enabled() v -= 30 uiscale = ba.app.ui.uiscale self._width = 1240 if uiscale is ba.UIScale.SMALL else 1040 x_inset = 100 if uiscale is ba.UIScale.SMALL else 0 self._height = (578 if uiscale is ba.UIScale.SMALL else 670 if uiscale is ba.UIScale.MEDIUM else 800) scroll_buffer_h = 130 + 2 * x_inset tab_buffer_h = 750 + 2 * x_inset self._scroll_width = self._width - scroll_buffer_h self._scroll_height = self._height - 180 x_inset = 100 if uiscale is ba.UIScale.SMALL else 0 if True: c_width = self._scroll_width c_height = self._scroll_height - 20 sub_scroll_height = c_height - 63 self._my_parties_scroll_width = sub_scroll_width = ( 680 if uiscale is ba.UIScale.SMALL else 640) v = c_height - 30 b_width = 140 if uiscale is ba.UIScale.SMALL else 178 b_height = (107 if uiscale is ba.UIScale.SMALL else 142 if uiscale is ba.UIScale.MEDIUM else 190) b_space_extra = (0 if uiscale is ba.UIScale.SMALL else -2 if uiscale is ba.UIScale.MEDIUM else -5) b_color = (0.6, 0.53, 0.63) b_textcolor = (0.75, 0.7, 0.8) btnv = (c_height - (48 if uiscale is ba.UIScale.SMALL else 45 if uiscale is ba.UIScale.MEDIUM else 40) - b_height) btnh = 40 if uiscale is ba.UIScale.SMALL else 40 smlh = 190 if uiscale is ba.UIScale.SMALL else 225 tscl = 1.0 if uiscale is ba.UIScale.SMALL else 1.2 self._my_saved_party_connect_button = btn1 = ba.buttonwidget( parent=self._container, size=(b_width, b_height), position=(btnh, btnv), button_type='square', color=b_color, textcolor=b_textcolor, on_activate_call=self._on_my_saved_party_press, text_scale=tscl, label="Connect", autoselect=True) # ba.widget(edit=btn1, up_widget=self._tab_row.tabs[tab_id].button) if uiscale is ba.UIScale.SMALL and ba.app.ui.use_toolbars: ba.widget(edit=btn1, left_widget=_ba.get_special_widget('back_button')) btnv -= b_height + b_space_extra ba.buttonwidget(parent=self._container, size=(b_width, b_height), position=(btnh, btnv), button_type='square', color=b_color, textcolor=b_textcolor, on_activate_call=self._on_my_saved_party_rename_press, text_scale=tscl, label="Rename", autoselect=True) btnv -= b_height + b_space_extra ba.buttonwidget(parent=self._container, size=(b_width, b_height), position=(btnh, btnv), button_type='square', color=b_color, textcolor=b_textcolor, on_activate_call=self._on_my_saved_party_delete_press, text_scale=tscl, label="Delete", autoselect=True) v -= sub_scroll_height + 23 self._scrollwidget = scrlw = ba.scrollwidget( parent=self._container, position=(smlh, v), size=(sub_scroll_width, sub_scroll_height)) ba.containerwidget(edit=self._container, selected_child=scrlw) self._columnwidget = ba.columnwidget(parent=scrlw, left_border=10, border=2, margin=0) self._my_saved_party_selected = None self._refresh_my_saved_parties()