mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-07 16:13:23 +08:00
UI code cleanup
This commit is contained in:
parent
e0d0c1d3d4
commit
f5b179395f
@ -4135,16 +4135,16 @@
|
|||||||
"assets/build/windows/x64/vc_redist.x64.exe": "https://files.ballistica.net/cache/ba1/ea/19/8b8787d81abcdce158ba608cd24f",
|
"assets/build/windows/x64/vc_redist.x64.exe": "https://files.ballistica.net/cache/ba1/ea/19/8b8787d81abcdce158ba608cd24f",
|
||||||
"assets/build/windows/x64/vcruntime140_1d.dll": "https://files.ballistica.net/cache/ba1/11/d8/ff6344b429b00c24d9a1930d4338",
|
"assets/build/windows/x64/vcruntime140_1d.dll": "https://files.ballistica.net/cache/ba1/11/d8/ff6344b429b00c24d9a1930d4338",
|
||||||
"assets/build/windows/x64/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/20/33/0825e11e6518f87ece3009309933",
|
"assets/build/windows/x64/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/20/33/0825e11e6518f87ece3009309933",
|
||||||
"build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/94/36/dd75b60256df2a060729decce0f7",
|
"build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b6/f3/a034a7393edf52eefe644e6aa642",
|
||||||
"build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c3/38/cce780c715451caaa5f6cf4516ae",
|
"build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/5d/e2/c45ee46dc39c32aa4bff0d50ef2c",
|
||||||
"build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/35/ba/774fac4f532434c20d90debb24be",
|
"build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/25/3d/f3cce76ed1c66e39b6e07d199696",
|
||||||
"build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/86/a2/b026c303f1da34dcdaeceb9bad24",
|
"build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/cf/8b/5c09d999c0d6b160e34d69f1f710",
|
||||||
"build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/78/a3/52f50bd0b158c8765ebfbd95fb7b",
|
"build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c7/b6/18b0280b4c99aaf48fb3bfcc4fac",
|
||||||
"build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/70/43/0ab510f023e0a571e481b1194a0a",
|
"build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c4/65/dd50a2026be7df75e3d280a2efc3",
|
||||||
"build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/e7/d0/2a07066094977585b7adc266ef86",
|
"build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/62/4e/f6a184076ad4676ad6b4cf9d4d01",
|
||||||
"build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/a9/b4/e4d542e791e43e00d886c5a2cd72",
|
"build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/20/d9/f86cd5d9fb67183e0a2ceda0e897",
|
||||||
"build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/8c/9a/9374664002b627493acb68a58d0f",
|
"build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/e4/da/0b43bb125048696f4514eaca1e56",
|
||||||
"build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/31/a0/2e3391873c37f223bcedb191d0f2",
|
"build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/d6/46/d0e647509453bc2125ccbe7eba09",
|
||||||
"build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/20/57/f3a7e9f9443f193aba02bba7c463",
|
"build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/c2/a8/fee89fe0a3d76489b5b26a2c5fac",
|
||||||
"build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/36/ba/6323c8132892fbc06ba5a0aa202c"
|
"build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/70/d5/86c8bdb5cf1dd15d9b9a0c7490da"
|
||||||
}
|
}
|
||||||
1
.idea/dictionaries/ericf.xml
generated
1
.idea/dictionaries/ericf.xml
generated
@ -1451,6 +1451,7 @@
|
|||||||
<w>plistname</w>
|
<w>plistname</w>
|
||||||
<w>plpt</w>
|
<w>plpt</w>
|
||||||
<w>plst</w>
|
<w>plst</w>
|
||||||
|
<w>pluglist</w>
|
||||||
<w>plusbutton</w>
|
<w>plusbutton</w>
|
||||||
<w>plvel</w>
|
<w>plvel</w>
|
||||||
<w>pmats</w>
|
<w>pmats</w>
|
||||||
|
|||||||
@ -2,6 +2,14 @@
|
|||||||
- Fixed the shebang line in `bombsquad_server` file by using `-S` flag for `/usr/bin/env`.
|
- Fixed the shebang line in `bombsquad_server` file by using `-S` flag for `/usr/bin/env`.
|
||||||
- Fixed a bug with hardware keyboards emitting extra characters in the in-game console (~ or F2)
|
- Fixed a bug with hardware keyboards emitting extra characters in the in-game console (~ or F2)
|
||||||
- Added support for 'plugin' mods and user controls to configure them in settings->advanced->plugins.
|
- Added support for 'plugin' mods and user controls to configure them in settings->advanced->plugins.
|
||||||
|
- renamed selection_loop_to_parent to selection_loops_to_parent in widget calls.
|
||||||
|
- Added 'selection_loops_to_parent', 'border', 'margin', 'claims_left_right', and 'claims_tab' args to ba.columnwidget().
|
||||||
|
- Column-widget now has a default 'border' of 0 (explicitly pass 2 to get the old look).
|
||||||
|
- Column-widget now has a default 'margin' of 10 (explicitly pass 0 to get the old look).
|
||||||
|
- Added 'selection_loops_to_parent', 'claims_left_right', and 'claims_tab' args to ba.scrollwidget.
|
||||||
|
- Added 'selection_loops_to_parent', 'claims_left_right', and 'claims_tab' args to ba.rowwidget.
|
||||||
|
- Added 'claims_left_right' and 'claims_tab' to ba.hscrollwidget().
|
||||||
|
- Default widget 'show_buffer' is now 20 instead of 0 (causes scrolling to stay slightly ahead of widget selection). This can be overridden with the ba.widget() call if anything breaks.
|
||||||
|
|
||||||
### 1.5.22 (20139)
|
### 1.5.22 (20139)
|
||||||
- Button and key names now display correctly again on Android (and are cleaned up on other platforms too).
|
- Button and key names now display correctly again on Android (and are cleaned up on other platforms too).
|
||||||
|
|||||||
@ -1598,7 +1598,12 @@ def columnwidget(edit: ba.Widget = None,
|
|||||||
print_list_exit_instructions: bool = None,
|
print_list_exit_instructions: bool = None,
|
||||||
left_border: float = None,
|
left_border: float = None,
|
||||||
top_border: float = None,
|
top_border: float = None,
|
||||||
bottom_border: float = None) -> ba.Widget:
|
bottom_border: float = None,
|
||||||
|
selection_loops_to_parent: bool = None,
|
||||||
|
border: float = None,
|
||||||
|
margin: float = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> ba.Widget:
|
||||||
"""columnwidget(edit: ba.Widget = None,
|
"""columnwidget(edit: ba.Widget = None,
|
||||||
parent: ba.Widget = None,
|
parent: ba.Widget = None,
|
||||||
size: Sequence[float] = None,
|
size: Sequence[float] = None,
|
||||||
@ -1610,7 +1615,12 @@ def columnwidget(edit: ba.Widget = None,
|
|||||||
print_list_exit_instructions: bool = None,
|
print_list_exit_instructions: bool = None,
|
||||||
left_border: float = None,
|
left_border: float = None,
|
||||||
top_border: float = None,
|
top_border: float = None,
|
||||||
bottom_border: float = None) -> ba.Widget
|
bottom_border: float = None,
|
||||||
|
selection_loops_to_parent: bool = None,
|
||||||
|
border: float = None,
|
||||||
|
margin: float = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> ba.Widget
|
||||||
|
|
||||||
Create or edit a column widget.
|
Create or edit a column widget.
|
||||||
|
|
||||||
@ -1669,7 +1679,7 @@ def containerwidget(edit: ba.Widget = None,
|
|||||||
claims_left_right: bool = None,
|
claims_left_right: bool = None,
|
||||||
claims_tab: bool = None,
|
claims_tab: bool = None,
|
||||||
selection_loops: bool = None,
|
selection_loops: bool = None,
|
||||||
selection_loop_to_parent: bool = None,
|
selection_loops_to_parent: bool = None,
|
||||||
scale: float = None,
|
scale: float = None,
|
||||||
on_outside_click_call: Callable[[], None] = None,
|
on_outside_click_call: Callable[[], None] = None,
|
||||||
single_depth: bool = None,
|
single_depth: bool = None,
|
||||||
@ -1700,7 +1710,7 @@ def containerwidget(edit: ba.Widget = None,
|
|||||||
claims_left_right: bool = None,
|
claims_left_right: bool = None,
|
||||||
claims_tab: bool = None,
|
claims_tab: bool = None,
|
||||||
selection_loops: bool = None,
|
selection_loops: bool = None,
|
||||||
selection_loop_to_parent: bool = None,
|
selection_loops_to_parent: bool = None,
|
||||||
scale: float = None,
|
scale: float = None,
|
||||||
on_outside_click_call: Callable[[], None] = None,
|
on_outside_click_call: Callable[[], None] = None,
|
||||||
single_depth: bool = None,
|
single_depth: bool = None,
|
||||||
@ -2618,7 +2628,9 @@ def hscrollwidget(edit: ba.Widget = None,
|
|||||||
color: Sequence[float] = None,
|
color: Sequence[float] = None,
|
||||||
highlight: bool = None,
|
highlight: bool = None,
|
||||||
border_opacity: float = None,
|
border_opacity: float = None,
|
||||||
simple_culling_h: float = None) -> ba.Widget:
|
simple_culling_h: float = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> ba.Widget:
|
||||||
"""hscrollwidget(edit: ba.Widget = None, parent: ba.Widget = None,
|
"""hscrollwidget(edit: ba.Widget = None, parent: ba.Widget = None,
|
||||||
size: Sequence[float] = None, position: Sequence[float] = None,
|
size: Sequence[float] = None, position: Sequence[float] = None,
|
||||||
background: bool = None, selected_child: ba.Widget = None,
|
background: bool = None, selected_child: ba.Widget = None,
|
||||||
@ -2626,7 +2638,9 @@ def hscrollwidget(edit: ba.Widget = None,
|
|||||||
on_select_call: Callable[[], None] = None,
|
on_select_call: Callable[[], None] = None,
|
||||||
center_small_content: bool = None, color: Sequence[float] = None,
|
center_small_content: bool = None, color: Sequence[float] = None,
|
||||||
highlight: bool = None, border_opacity: float = None,
|
highlight: bool = None, border_opacity: float = None,
|
||||||
simple_culling_h: float = None) -> ba.Widget
|
simple_culling_h: float = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> ba.Widget
|
||||||
|
|
||||||
Create or edit a horizontal scroll widget.
|
Create or edit a horizontal scroll widget.
|
||||||
|
|
||||||
@ -3283,12 +3297,18 @@ def rowwidget(edit: Widget = None,
|
|||||||
position: Sequence[float] = None,
|
position: Sequence[float] = None,
|
||||||
background: bool = None,
|
background: bool = None,
|
||||||
selected_child: Widget = None,
|
selected_child: Widget = None,
|
||||||
visible_child: Widget = None) -> Widget:
|
visible_child: Widget = None,
|
||||||
"""rowwidget(edit: Widget =None, parent: Widget =None,
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None,
|
||||||
|
selection_loops_to_parent: bool = None) -> Widget:
|
||||||
|
"""rowwidget(edit: Widget = None, parent: Widget = None,
|
||||||
size: Sequence[float] = None,
|
size: Sequence[float] = None,
|
||||||
position: Sequence[float] = None,
|
position: Sequence[float] = None,
|
||||||
background: bool = None, selected_child: Widget = None,
|
background: bool = None, selected_child: Widget = None,
|
||||||
visible_child: Widget = None) -> Widget
|
visible_child: Widget = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None,
|
||||||
|
selection_loops_to_parent: bool = None) -> Widget
|
||||||
|
|
||||||
Create or edit a row widget.
|
Create or edit a row widget.
|
||||||
|
|
||||||
@ -3365,14 +3385,20 @@ def scrollwidget(edit: ba.Widget = None,
|
|||||||
color: Sequence[float] = None,
|
color: Sequence[float] = None,
|
||||||
highlight: bool = None,
|
highlight: bool = None,
|
||||||
border_opacity: float = None,
|
border_opacity: float = None,
|
||||||
simple_culling_v: float = None) -> ba.Widget:
|
simple_culling_v: float = None,
|
||||||
|
selection_loops_to_parent: bool = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> ba.Widget:
|
||||||
"""scrollwidget(edit: ba.Widget = None, parent: ba.Widget = None,
|
"""scrollwidget(edit: ba.Widget = None, parent: ba.Widget = None,
|
||||||
size: Sequence[float] = None, position: Sequence[float] = None,
|
size: Sequence[float] = None, position: Sequence[float] = None,
|
||||||
background: bool = None, selected_child: ba.Widget = None,
|
background: bool = None, selected_child: ba.Widget = None,
|
||||||
capture_arrows: bool = False, on_select_call: Callable = None,
|
capture_arrows: bool = False, on_select_call: Callable = None,
|
||||||
center_small_content: bool = None, color: Sequence[float] = None,
|
center_small_content: bool = None, color: Sequence[float] = None,
|
||||||
highlight: bool = None, border_opacity: float = None,
|
highlight: bool = None, border_opacity: float = None,
|
||||||
simple_culling_v: float = None) -> ba.Widget
|
simple_culling_v: float = None,
|
||||||
|
selection_loops_to_parent: bool = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> ba.Widget
|
||||||
|
|
||||||
Create or edit a scroll widget.
|
Create or edit a scroll widget.
|
||||||
|
|
||||||
|
|||||||
@ -150,7 +150,10 @@ class AccountSettingsWindow(ba.Window):
|
|||||||
highlight=False,
|
highlight=False,
|
||||||
position=((self._width - self._scroll_width) * 0.5,
|
position=((self._width - self._scroll_width) * 0.5,
|
||||||
self._height - 65 - self._scroll_height),
|
self._height - 65 - self._scroll_height),
|
||||||
size=(self._scroll_width, self._scroll_height))
|
size=(self._scroll_width, self._scroll_height),
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
self._subcontainer: Optional[ba.Widget] = None
|
self._subcontainer: Optional[ba.Widget] = None
|
||||||
self._refresh()
|
self._refresh()
|
||||||
self._restore_state()
|
self._restore_state()
|
||||||
@ -322,15 +325,10 @@ class AccountSettingsWindow(ba.Window):
|
|||||||
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
||||||
size=(self._sub_width,
|
size=(self._sub_width,
|
||||||
self._sub_height),
|
self._sub_height),
|
||||||
background=False)
|
background=False,
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
claims_left_right=True,
|
||||||
claims_left_right=True,
|
claims_tab=True,
|
||||||
claims_tab=True,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._subcontainer,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
|
|
||||||
first_selectable = None
|
first_selectable = None
|
||||||
v = self._sub_height - 10.0
|
v = self._sub_height - 10.0
|
||||||
|
|||||||
@ -91,6 +91,8 @@ class AccountUnlinkWindow(ba.Window):
|
|||||||
size=(self._scroll_width, self._scroll_height))
|
size=(self._scroll_width, self._scroll_height))
|
||||||
ba.containerwidget(edit=self._scrollwidget, claims_left_right=True)
|
ba.containerwidget(edit=self._scrollwidget, claims_left_right=True)
|
||||||
self._columnwidget = ba.columnwidget(parent=self._scrollwidget,
|
self._columnwidget = ba.columnwidget(parent=self._scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0,
|
||||||
left_border=10)
|
left_border=10)
|
||||||
|
|
||||||
our_login_id = _ba.get_public_login_id()
|
our_login_id = _ba.get_public_login_id()
|
||||||
|
|||||||
@ -245,7 +245,10 @@ class CoopBrowserWindow(ba.Window):
|
|||||||
position=(65 + x_inset, 120) if uiscale is ba.UIScale.SMALL
|
position=(65 + x_inset, 120) if uiscale is ba.UIScale.SMALL
|
||||||
and app.ui.use_toolbars else (65 + x_inset, 70),
|
and app.ui.use_toolbars else (65 + x_inset, 70),
|
||||||
size=(self._scroll_width, self._scroll_height),
|
size=(self._scroll_width, self._scroll_height),
|
||||||
simple_culling_v=10.0)
|
simple_culling_v=10.0,
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
self._subcontainer: Optional[ba.Widget] = None
|
self._subcontainer: Optional[ba.Widget] = None
|
||||||
|
|
||||||
# Take note of our account state; we'll refresh later if this changes.
|
# Take note of our account state; we'll refresh later if this changes.
|
||||||
@ -792,17 +795,11 @@ class CoopBrowserWindow(ba.Window):
|
|||||||
self._subcontainer = ba.containerwidget(
|
self._subcontainer = ba.containerwidget(
|
||||||
parent=self._scrollwidget,
|
parent=self._scrollwidget,
|
||||||
size=(self._subcontainerwidth, self._subcontainerheight),
|
size=(self._subcontainerwidth, self._subcontainerheight),
|
||||||
background=False)
|
background=False,
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
|
|
||||||
# So we can still select root level widgets with controllers.
|
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._subcontainer,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._root_widget,
|
ba.containerwidget(edit=self._root_widget,
|
||||||
selected_child=self._scrollwidget)
|
selected_child=self._scrollwidget)
|
||||||
if self._back_button is not None:
|
if self._back_button is not None:
|
||||||
|
|||||||
@ -356,7 +356,7 @@ class GatherWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
v = c_height - 30.0
|
v = c_height - 30.0
|
||||||
ba.textwidget(
|
ba.textwidget(
|
||||||
parent=cnt,
|
parent=cnt,
|
||||||
@ -378,7 +378,7 @@ class GatherWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
v = c_height - 30
|
v = c_height - 30
|
||||||
self._internet_join_text = txt = ba.textwidget(
|
self._internet_join_text = txt = ba.textwidget(
|
||||||
parent=cnt,
|
parent=cnt,
|
||||||
@ -479,7 +479,10 @@ class GatherWindow(ba.Window):
|
|||||||
self._scrollwidget = scrollwidget
|
self._scrollwidget = scrollwidget
|
||||||
self._tab_button = tab_button
|
self._tab_button = tab_button
|
||||||
self._columnwidget = ba.columnwidget(
|
self._columnwidget = ba.columnwidget(
|
||||||
parent=self._scrollwidget, left_border=10)
|
parent=self._scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0,
|
||||||
|
left_border=10)
|
||||||
ba.widget(edit=self._columnwidget, up_widget=tab_button)
|
ba.widget(edit=self._columnwidget, up_widget=tab_button)
|
||||||
self._width = width
|
self._width = width
|
||||||
self._last_selected_host: Optional[Dict[str, Any]] = None
|
self._last_selected_host: Optional[Dict[str, Any]] = None
|
||||||
@ -540,7 +543,7 @@ class GatherWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
v = c_height - 30
|
v = c_height - 30
|
||||||
ba.textwidget(parent=cnt,
|
ba.textwidget(parent=cnt,
|
||||||
position=(c_width * 0.5, v - 3),
|
position=(c_width * 0.5, v - 3),
|
||||||
@ -578,7 +581,7 @@ class GatherWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
v = c_height - 30
|
v = c_height - 30
|
||||||
ba.textwidget(parent=cnt,
|
ba.textwidget(parent=cnt,
|
||||||
position=(c_width * 0.5, v),
|
position=(c_width * 0.5, v),
|
||||||
@ -631,7 +634,7 @@ class GatherWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
v = c_height - 80
|
v = c_height - 80
|
||||||
|
|
||||||
ba.textwidget(parent=cnt,
|
ba.textwidget(parent=cnt,
|
||||||
@ -684,7 +687,7 @@ class GatherWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
v = c_height - 30
|
v = c_height - 30
|
||||||
ba.textwidget(parent=cnt,
|
ba.textwidget(parent=cnt,
|
||||||
position=(c_width * 0.5, v),
|
position=(c_width * 0.5, v),
|
||||||
|
|||||||
@ -36,12 +36,12 @@ class KioskWindow(ba.Window):
|
|||||||
|
|
||||||
def __init__(self, transition: str = 'in_right'):
|
def __init__(self, transition: str = 'in_right'):
|
||||||
# pylint: disable=too-many-locals, too-many-statements
|
# pylint: disable=too-many-locals, too-many-statements
|
||||||
from bastd.ui import confirm
|
from bastd.ui.confirm import QuitWindow
|
||||||
self._width = 720.0
|
self._width = 720.0
|
||||||
self._height = 340.0
|
self._height = 340.0
|
||||||
|
|
||||||
def _do_cancel() -> None:
|
def _do_cancel() -> None:
|
||||||
confirm.QuitWindow(swish=True, back=True)
|
QuitWindow(swish=True, back=True)
|
||||||
|
|
||||||
super().__init__(
|
super().__init__(
|
||||||
root_widget=ba.containerwidget(size=(self._width, self._height),
|
root_widget=ba.containerwidget(size=(self._width, self._height),
|
||||||
|
|||||||
@ -146,7 +146,7 @@ class MainMenuWindow(ba.Window):
|
|||||||
# Don't refresh for the first few seconds the game is up so we don't
|
# Don't refresh for the first few seconds the game is up so we don't
|
||||||
# interrupt the transition in.
|
# interrupt the transition in.
|
||||||
ba.app.main_menu_window_refresh_check_count += 1
|
ba.app.main_menu_window_refresh_check_count += 1
|
||||||
if ba.app.main_menu_window_refresh_check_count < 3:
|
if ba.app.main_menu_window_refresh_check_count < 4:
|
||||||
return
|
return
|
||||||
|
|
||||||
store_char_tex = self._get_store_char_tex()
|
store_char_tex = self._get_store_char_tex()
|
||||||
|
|||||||
@ -119,7 +119,9 @@ class PartyWindow(ba.Window):
|
|||||||
self._height - 200),
|
self._height - 200),
|
||||||
position=(30, 80),
|
position=(30, 80),
|
||||||
color=(0.4, 0.6, 0.3))
|
color=(0.4, 0.6, 0.3))
|
||||||
self._columnwidget = ba.columnwidget(parent=self._scrollwidget)
|
self._columnwidget = ba.columnwidget(parent=self._scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
ba.widget(edit=self._menu_button, down_widget=self._columnwidget)
|
ba.widget(edit=self._menu_button, down_widget=self._columnwidget)
|
||||||
|
|
||||||
self._muted_text = ba.textwidget(
|
self._muted_text = ba.textwidget(
|
||||||
|
|||||||
@ -143,7 +143,9 @@ class PlaylistAddGameWindow(ba.Window):
|
|||||||
if self._column is not None:
|
if self._column is not None:
|
||||||
self._column.delete()
|
self._column.delete()
|
||||||
|
|
||||||
self._column = ba.columnwidget(parent=self._scrollwidget)
|
self._column = ba.columnwidget(parent=self._scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
|
|
||||||
gametypes = [
|
gametypes = [
|
||||||
gt for gt in get_game_types() if gt.supports_session_type(
|
gt for gt in get_game_types() if gt.supports_session_type(
|
||||||
|
|||||||
@ -228,7 +228,9 @@ class PlaylistCustomizeBrowserWindow(ba.Window):
|
|||||||
self._scroll_height + 10),
|
self._scroll_height + 10),
|
||||||
highlight=False)
|
highlight=False)
|
||||||
ba.widget(edit=back_button, right_widget=scrollwidget)
|
ba.widget(edit=back_button, right_widget=scrollwidget)
|
||||||
self._columnwidget = ba.columnwidget(parent=scrollwidget)
|
self._columnwidget = ba.columnwidget(parent=scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
|
|
||||||
h = 145
|
h = 145
|
||||||
|
|
||||||
|
|||||||
@ -214,7 +214,9 @@ class PlaylistEditWindow(ba.Window):
|
|||||||
ba.widget(edit=scrollwidget,
|
ba.widget(edit=scrollwidget,
|
||||||
left_widget=add_game_button,
|
left_widget=add_game_button,
|
||||||
right_widget=scrollwidget)
|
right_widget=scrollwidget)
|
||||||
self._columnwidget = ba.columnwidget(parent=scrollwidget)
|
self._columnwidget = ba.columnwidget(parent=scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
ba.widget(edit=self._columnwidget, up_widget=self._text_field)
|
ba.widget(edit=self._columnwidget, up_widget=self._text_field)
|
||||||
|
|
||||||
for button in [add_game_button, edit_game_button, remove_game_button]:
|
for button in [add_game_button, edit_game_button, remove_game_button]:
|
||||||
|
|||||||
@ -177,22 +177,17 @@ class PlaylistEditGameWindow(ba.Window):
|
|||||||
position=(44 + x_inset,
|
position=(44 + x_inset,
|
||||||
35 + y_extra),
|
35 + y_extra),
|
||||||
size=(scroll_width, height - 116),
|
size=(scroll_width, height - 116),
|
||||||
highlight=False)
|
highlight=False,
|
||||||
self._subcontainer = cnt = ba.containerwidget(
|
claims_left_right=True,
|
||||||
parent=self._scrollwidget,
|
claims_tab=True,
|
||||||
size=(scroll_width, scroll_height),
|
selection_loops_to_parent=True)
|
||||||
background=False)
|
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
||||||
|
size=(scroll_width,
|
||||||
# So selection loops through everything and doesn't get stuck in
|
scroll_height),
|
||||||
# sub-containers.
|
background=False,
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
claims_left_right=True,
|
||||||
claims_left_right=True,
|
claims_tab=True,
|
||||||
claims_tab=True,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=cnt,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
|
|
||||||
v = scroll_height - 5
|
v = scroll_height - 5
|
||||||
h = -40
|
h = -40
|
||||||
|
|||||||
@ -199,14 +199,18 @@ class PopupMenuWindow(PopupWindow):
|
|||||||
color=(0.35, 0.55, 0.15),
|
color=(0.35, 0.55, 0.15),
|
||||||
size=(self._width - 40,
|
size=(self._width - 40,
|
||||||
self._height - 40))
|
self._height - 40))
|
||||||
self._columnwidget = ba.columnwidget(parent=self._scrollwidget)
|
self._columnwidget = ba.columnwidget(parent=self._scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
else:
|
else:
|
||||||
self._offset_widget = ba.containerwidget(parent=self.root_widget,
|
self._offset_widget = ba.containerwidget(parent=self.root_widget,
|
||||||
position=(30, 15),
|
position=(30, 15),
|
||||||
size=(self._width - 40,
|
size=(self._width - 40,
|
||||||
self._height),
|
self._height),
|
||||||
background=False)
|
background=False)
|
||||||
self._columnwidget = ba.columnwidget(parent=self._offset_widget)
|
self._columnwidget = ba.columnwidget(parent=self._offset_widget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
for index, choice in enumerate(choices):
|
for index, choice in enumerate(choices):
|
||||||
if len(choices_display_fin) == len(choices):
|
if len(choices_display_fin) == len(choices):
|
||||||
choice_display_name = choices_display_fin[index]
|
choice_display_name = choices_display_fin[index]
|
||||||
|
|||||||
@ -177,7 +177,9 @@ class ProfileBrowserWindow(ba.Window):
|
|||||||
left_widget=self._new_button)
|
left_widget=self._new_button)
|
||||||
ba.containerwidget(edit=self._root_widget,
|
ba.containerwidget(edit=self._root_widget,
|
||||||
selected_child=self._scrollwidget)
|
selected_child=self._scrollwidget)
|
||||||
self._columnwidget = ba.columnwidget(parent=self._scrollwidget)
|
self._columnwidget = ba.columnwidget(parent=self._scrollwidget,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
v -= 255
|
v -= 255
|
||||||
self._profiles: Optional[Dict[str, Dict[str, Any]]] = None
|
self._profiles: Optional[Dict[str, Dict[str, Any]]] = None
|
||||||
self._selected_profile = selected_profile
|
self._selected_profile = selected_profile
|
||||||
|
|||||||
@ -146,14 +146,14 @@ class AdvancedSettingsWindow(ba.Window):
|
|||||||
simple_culling_v=20.0,
|
simple_culling_v=20.0,
|
||||||
highlight=False,
|
highlight=False,
|
||||||
size=(self._scroll_width,
|
size=(self._scroll_width,
|
||||||
self._scroll_height))
|
self._scroll_height),
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
ba.widget(edit=self._scrollwidget, right_widget=self._scrollwidget)
|
||||||
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
||||||
size=(self._sub_width,
|
size=(self._sub_width,
|
||||||
self._sub_height),
|
self._sub_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
|
|
||||||
self._rebuild()
|
self._rebuild()
|
||||||
|
|
||||||
@ -693,10 +693,10 @@ class AdvancedSettingsWindow(ba.Window):
|
|||||||
sel = self._language_inform_checkbox
|
sel = self._language_inform_checkbox
|
||||||
else:
|
else:
|
||||||
sel = None
|
sel = None
|
||||||
if sel is not None:
|
if sel is not None:
|
||||||
ba.containerwidget(edit=self._subcontainer,
|
ba.containerwidget(edit=self._subcontainer,
|
||||||
selected_child=sel,
|
selected_child=sel,
|
||||||
visible_child=sel)
|
visible_child=sel)
|
||||||
except Exception:
|
except Exception:
|
||||||
ba.print_exception(f'Error restoring state for {self.__class__}')
|
ba.print_exception(f'Error restoring state for {self.__class__}')
|
||||||
|
|
||||||
|
|||||||
@ -89,19 +89,17 @@ class GamepadAdvancedSettingsWindow(ba.Window):
|
|||||||
parent=self._root_widget,
|
parent=self._root_widget,
|
||||||
position=((self._width - self._scroll_width) * 0.5,
|
position=((self._width - self._scroll_width) * 0.5,
|
||||||
self._height - 65 - self._scroll_height),
|
self._height - 65 - self._scroll_height),
|
||||||
size=(self._scroll_width, self._scroll_height))
|
size=(self._scroll_width, self._scroll_height),
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
||||||
size=(self._sub_width,
|
size=(self._sub_width,
|
||||||
self._sub_height),
|
self._sub_height),
|
||||||
background=False)
|
background=False,
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
claims_left_right=True,
|
||||||
claims_left_right=True,
|
claims_tab=True,
|
||||||
claims_tab=True,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._subcontainer,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._root_widget,
|
ba.containerwidget(edit=self._root_widget,
|
||||||
selected_child=self._scrollwidget)
|
selected_child=self._scrollwidget)
|
||||||
|
|
||||||
|
|||||||
@ -105,23 +105,35 @@ class PluginSettingsWindow(ba.Window):
|
|||||||
simple_culling_v=20.0,
|
simple_culling_v=20.0,
|
||||||
highlight=False,
|
highlight=False,
|
||||||
size=(self._scroll_width,
|
size=(self._scroll_width,
|
||||||
self._scroll_height))
|
self._scroll_height),
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
ba.widget(edit=self._scrollwidget, right_widget=self._scrollwidget)
|
||||||
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
self._subcontainer = ba.columnwidget(parent=self._scrollwidget,
|
||||||
size=(self._sub_width,
|
selection_loops_to_parent=True)
|
||||||
self._sub_height),
|
|
||||||
background=False,
|
pluglist = [f'Test {i}' for i in range(10)]
|
||||||
selection_loop_to_parent=True)
|
for i, plug in enumerate(pluglist):
|
||||||
|
check = ba.checkboxwidget(parent=self._subcontainer,
|
||||||
|
text=plug,
|
||||||
|
size=(self._scroll_width - 40, 50))
|
||||||
|
|
||||||
|
# Make sure we scroll all the way to the end when using
|
||||||
|
# keyboard/button nav.
|
||||||
|
ba.widget(edit=check, show_buffer_top=40, show_buffer_bottom=40)
|
||||||
|
|
||||||
|
# Keep last from looping to back button when down is pressed.
|
||||||
|
if i == len(pluglist) - 1:
|
||||||
|
ba.widget(edit=check, down_widget=check)
|
||||||
|
ba.containerwidget(edit=self._root_widget,
|
||||||
|
selected_child=self._scrollwidget)
|
||||||
|
|
||||||
ba.screenmessage('Work in progress...')
|
|
||||||
self._restore_state()
|
self._restore_state()
|
||||||
|
|
||||||
def _save_state(self) -> None:
|
def _save_state(self) -> None:
|
||||||
print('would save state')
|
pass
|
||||||
|
|
||||||
def _restore_state(self) -> None:
|
def _restore_state(self) -> None:
|
||||||
print('would restore state')
|
pass
|
||||||
|
|
||||||
def _do_back(self) -> None:
|
def _do_back(self) -> None:
|
||||||
# pylint: disable=cyclic-import
|
# pylint: disable=cyclic-import
|
||||||
|
|||||||
@ -133,7 +133,6 @@ class TestingWindow(ba.Window):
|
|||||||
self._on_minus_press, entry['name']))
|
self._on_minus_press, entry['name']))
|
||||||
if i == 0:
|
if i == 0:
|
||||||
ba.widget(edit=btn, up_widget=self._back_button)
|
ba.widget(edit=btn, up_widget=self._back_button)
|
||||||
ba.widget(edit=btn, show_buffer_top=20, show_buffer_bottom=20)
|
|
||||||
entry['widget'] = ba.textwidget(parent=self._subcontainer,
|
entry['widget'] = ba.textwidget(parent=self._subcontainer,
|
||||||
position=(h + 100, v),
|
position=(h + 100, v),
|
||||||
size=(0, 0),
|
size=(0, 0),
|
||||||
@ -155,7 +154,7 @@ class TestingWindow(ba.Window):
|
|||||||
ba.widget(edit=btn, up_widget=self._back_button)
|
ba.widget(edit=btn, up_widget=self._back_button)
|
||||||
v -= self._spacing
|
v -= self._spacing
|
||||||
v -= 35
|
v -= 35
|
||||||
b_reset = ba.buttonwidget(
|
ba.buttonwidget(
|
||||||
parent=self._subcontainer,
|
parent=self._subcontainer,
|
||||||
autoselect=True,
|
autoselect=True,
|
||||||
size=(200, 50),
|
size=(200, 50),
|
||||||
@ -163,7 +162,6 @@ class TestingWindow(ba.Window):
|
|||||||
label=ba.Lstr(resource='settingsWindowAdvanced.resetText'),
|
label=ba.Lstr(resource='settingsWindowAdvanced.resetText'),
|
||||||
right_widget=btn,
|
right_widget=btn,
|
||||||
on_activate_call=self._on_reset_press)
|
on_activate_call=self._on_reset_press)
|
||||||
ba.widget(edit=b_reset, show_buffer_top=20, show_buffer_bottom=20)
|
|
||||||
|
|
||||||
def _get_entry(self, name: str) -> Dict[str, Any]:
|
def _get_entry(self, name: str) -> Dict[str, Any]:
|
||||||
for entry in self._entries:
|
for entry in self._entries:
|
||||||
|
|||||||
@ -84,26 +84,24 @@ class TouchscreenSettingsWindow(ba.Window):
|
|||||||
parent=self._root_widget,
|
parent=self._root_widget,
|
||||||
position=((self._width - self._scroll_width) * 0.5,
|
position=((self._width - self._scroll_width) * 0.5,
|
||||||
self._height - 65 - self._scroll_height),
|
self._height - 65 - self._scroll_height),
|
||||||
size=(self._scroll_width, self._scroll_height))
|
size=(self._scroll_width, self._scroll_height),
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
self._subcontainer = ba.containerwidget(parent=self._scrollwidget,
|
||||||
size=(self._sub_width,
|
size=(self._sub_width,
|
||||||
self._sub_height),
|
self._sub_height),
|
||||||
background=False)
|
background=False,
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
claims_left_right=True,
|
||||||
claims_left_right=True,
|
claims_tab=True,
|
||||||
claims_tab=True,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._subcontainer,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
|
|
||||||
self._build_gui()
|
self._build_gui()
|
||||||
|
|
||||||
def _build_gui(self) -> None:
|
def _build_gui(self) -> None:
|
||||||
from bastd.ui import config as cfgui
|
from bastd.ui.config import ConfigNumberEdit, ConfigCheckBox
|
||||||
from bastd.ui import radiogroup
|
from bastd.ui.radiogroup import make_radio_group
|
||||||
# clear anything already there
|
|
||||||
|
# Clear anything already there.
|
||||||
children = self._subcontainer.get_children()
|
children = self._subcontainer.get_children()
|
||||||
for child in children:
|
for child in children:
|
||||||
child.delete()
|
child.delete()
|
||||||
@ -145,20 +143,19 @@ class TouchscreenSettingsWindow(ba.Window):
|
|||||||
textcolor=clr2,
|
textcolor=clr2,
|
||||||
value=False,
|
value=False,
|
||||||
scale=0.9)
|
scale=0.9)
|
||||||
radiogroup.make_radio_group((cb1, cb2), ('joystick', 'swipe'), cur_val,
|
make_radio_group((cb1, cb2), ('joystick', 'swipe'), cur_val,
|
||||||
self._movement_changed)
|
self._movement_changed)
|
||||||
v -= 50
|
v -= 50
|
||||||
cfgui.ConfigNumberEdit(
|
ConfigNumberEdit(parent=self._subcontainer,
|
||||||
parent=self._subcontainer,
|
position=(h, v),
|
||||||
position=(h, v),
|
xoffset=65,
|
||||||
xoffset=65,
|
configkey='Touch Controls Scale Movement',
|
||||||
configkey='Touch Controls Scale Movement',
|
displayname=ba.Lstr(resource=self._r +
|
||||||
displayname=ba.Lstr(resource=self._r +
|
'.movementControlScaleText'),
|
||||||
'.movementControlScaleText'),
|
changesound=False,
|
||||||
changesound=False,
|
minval=0.1,
|
||||||
minval=0.1,
|
maxval=4.0,
|
||||||
maxval=4.0,
|
increment=0.1)
|
||||||
increment=0.1)
|
|
||||||
v -= 50
|
v -= 50
|
||||||
cur_val = ba.app.config.get('Touch Action Control Type', 'buttons')
|
cur_val = ba.app.config.get('Touch Action Control Type', 'buttons')
|
||||||
ba.textwidget(parent=self._subcontainer,
|
ba.textwidget(parent=self._subcontainer,
|
||||||
@ -183,28 +180,28 @@ class TouchscreenSettingsWindow(ba.Window):
|
|||||||
maxwidth=100,
|
maxwidth=100,
|
||||||
textcolor=clr2,
|
textcolor=clr2,
|
||||||
scale=0.9)
|
scale=0.9)
|
||||||
radiogroup.make_radio_group((cb1, cb2), ('buttons', 'swipe'), cur_val,
|
make_radio_group((cb1, cb2), ('buttons', 'swipe'), cur_val,
|
||||||
self._actions_changed)
|
self._actions_changed)
|
||||||
v -= 50
|
v -= 50
|
||||||
cfgui.ConfigNumberEdit(parent=self._subcontainer,
|
ConfigNumberEdit(parent=self._subcontainer,
|
||||||
position=(h, v),
|
position=(h, v),
|
||||||
xoffset=65,
|
xoffset=65,
|
||||||
configkey='Touch Controls Scale Actions',
|
configkey='Touch Controls Scale Actions',
|
||||||
displayname=ba.Lstr(resource=self._r +
|
displayname=ba.Lstr(resource=self._r +
|
||||||
'.actionControlScaleText'),
|
'.actionControlScaleText'),
|
||||||
changesound=False,
|
changesound=False,
|
||||||
minval=0.1,
|
minval=0.1,
|
||||||
maxval=4.0,
|
maxval=4.0,
|
||||||
increment=0.1)
|
increment=0.1)
|
||||||
|
|
||||||
v -= 50
|
v -= 50
|
||||||
cfgui.ConfigCheckBox(parent=self._subcontainer,
|
ConfigCheckBox(parent=self._subcontainer,
|
||||||
position=(h, v),
|
position=(h, v),
|
||||||
size=(400, 30),
|
size=(400, 30),
|
||||||
maxwidth=400,
|
maxwidth=400,
|
||||||
configkey='Touch Controls Swipe Hidden',
|
configkey='Touch Controls Swipe Hidden',
|
||||||
displayname=ba.Lstr(resource=self._r +
|
displayname=ba.Lstr(resource=self._r +
|
||||||
'.swipeControlsHiddenText'))
|
'.swipeControlsHiddenText'))
|
||||||
v -= 65
|
v -= 65
|
||||||
|
|
||||||
ba.buttonwidget(parent=self._subcontainer,
|
ba.buttonwidget(parent=self._subcontainer,
|
||||||
|
|||||||
@ -211,7 +211,7 @@ class SoundtrackBrowserWindow(ba.Window):
|
|||||||
left_widget=self._new_button,
|
left_widget=self._new_button,
|
||||||
right_widget=_ba.get_special_widget('party_button')
|
right_widget=_ba.get_special_widget('party_button')
|
||||||
if ba.app.ui.use_toolbars else self._scrollwidget)
|
if ba.app.ui.use_toolbars else self._scrollwidget)
|
||||||
self._col = ba.columnwidget(parent=scrollwidget)
|
self._col = ba.columnwidget(parent=scrollwidget, border=2, margin=0)
|
||||||
|
|
||||||
self._soundtracks: Optional[Dict[str, Any]] = None
|
self._soundtracks: Optional[Dict[str, Any]] = None
|
||||||
self._selected_soundtrack: Optional[str] = None
|
self._selected_soundtrack: Optional[str] = None
|
||||||
|
|||||||
@ -155,18 +155,15 @@ class SoundtrackEditWindow(ba.Window):
|
|||||||
highlight=False,
|
highlight=False,
|
||||||
position=(40 + x_inset, v - (scroll_height + 10)),
|
position=(40 + x_inset, v - (scroll_height + 10)),
|
||||||
size=(self._width - (80 + 2 * x_inset), scroll_height),
|
size=(self._width - (80 + 2 * x_inset), scroll_height),
|
||||||
simple_culling_v=10)
|
simple_culling_v=10,
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
ba.widget(edit=self._text_field, down_widget=self._scrollwidget)
|
ba.widget(edit=self._text_field, down_widget=self._scrollwidget)
|
||||||
self._col = ba.columnwidget(parent=scrollwidget)
|
self._col = ba.columnwidget(parent=scrollwidget,
|
||||||
|
claims_left_right=True,
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
claims_tab=True,
|
||||||
claims_left_right=True,
|
selection_loops_to_parent=True)
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._col,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
|
|
||||||
self._song_type_buttons: Dict[str, ba.Widget] = {}
|
self._song_type_buttons: Dict[str, ba.Widget] = {}
|
||||||
self._refresh()
|
self._refresh()
|
||||||
@ -210,11 +207,11 @@ class SoundtrackEditWindow(ba.Window):
|
|||||||
prev_test_button: Optional[ba.Widget] = None
|
prev_test_button: Optional[ba.Widget] = None
|
||||||
|
|
||||||
for index, song_type in enumerate(types):
|
for index, song_type in enumerate(types):
|
||||||
row = ba.rowwidget(parent=self._col, size=(self._width - 40, 40))
|
row = ba.rowwidget(parent=self._col,
|
||||||
ba.containerwidget(edit=row,
|
size=(self._width - 40, 40),
|
||||||
claims_left_right=True,
|
claims_left_right=True,
|
||||||
claims_tab=True,
|
claims_tab=True,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
type_name = type_names_translated.get(song_type, song_type)
|
type_name = type_names_translated.get(song_type, song_type)
|
||||||
ba.textwidget(parent=row,
|
ba.textwidget(parent=row,
|
||||||
size=(230, 25),
|
size=(230, 25),
|
||||||
@ -231,7 +228,7 @@ class SoundtrackEditWindow(ba.Window):
|
|||||||
entry = None
|
entry = None
|
||||||
|
|
||||||
if entry is not None:
|
if entry is not None:
|
||||||
# make sure they don't muck with this after it gets to us
|
# Make sure they don't muck with this after it gets to us.
|
||||||
entry = copy.deepcopy(entry)
|
entry = copy.deepcopy(entry)
|
||||||
|
|
||||||
icon_type = self._get_entry_button_display_icon_type(entry)
|
icon_type = self._get_entry_button_display_icon_type(entry)
|
||||||
|
|||||||
@ -52,7 +52,8 @@ class MacMusicAppPlaylistSelectWindow(ba.Window):
|
|||||||
position=(35, self._height - 65),
|
position=(35, self._height - 65),
|
||||||
size=(130, 50),
|
size=(130, 50),
|
||||||
label=ba.Lstr(resource='cancelText'),
|
label=ba.Lstr(resource='cancelText'),
|
||||||
on_activate_call=self._back)
|
on_activate_call=self._back,
|
||||||
|
autoselect=True)
|
||||||
ba.containerwidget(edit=self._root_widget, cancel_button=btn)
|
ba.containerwidget(edit=self._root_widget, cancel_button=btn)
|
||||||
ba.textwidget(parent=self._root_widget,
|
ba.textwidget(parent=self._root_widget,
|
||||||
position=(20, self._height - 54),
|
position=(20, self._height - 54),
|
||||||
@ -64,19 +65,13 @@ class MacMusicAppPlaylistSelectWindow(ba.Window):
|
|||||||
maxwidth=200)
|
maxwidth=200)
|
||||||
self._scrollwidget = ba.scrollwidget(parent=self._root_widget,
|
self._scrollwidget = ba.scrollwidget(parent=self._root_widget,
|
||||||
position=(40, v - 340),
|
position=(40, v - 340),
|
||||||
size=(self._width - 80, 400))
|
size=(self._width - 80, 400),
|
||||||
self._column = ba.columnwidget(parent=self._scrollwidget)
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
# So selection loops through everything and doesn't get stuck
|
ba.widget(edit=self._scrollwidget, right_widget=self._scrollwidget)
|
||||||
# in sub-containers.
|
self._column = ba.columnwidget(parent=self._scrollwidget,
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
claims_tab=True,
|
||||||
claims_left_right=True,
|
selection_loops_to_parent=True)
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
ba.containerwidget(edit=self._column,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
|
|
||||||
ba.textwidget(parent=self._column,
|
ba.textwidget(parent=self._column,
|
||||||
size=(self._width - 80, 22),
|
size=(self._width - 80, 22),
|
||||||
@ -93,7 +88,7 @@ class MacMusicAppPlaylistSelectWindow(ba.Window):
|
|||||||
if self._column:
|
if self._column:
|
||||||
for widget in self._column.get_children():
|
for widget in self._column.get_children():
|
||||||
widget.delete()
|
widget.delete()
|
||||||
for playlist in playlists:
|
for i, playlist in enumerate(playlists):
|
||||||
txt = ba.textwidget(parent=self._column,
|
txt = ba.textwidget(parent=self._column,
|
||||||
size=(self._width - 80, 30),
|
size=(self._width - 80, 30),
|
||||||
text=playlist,
|
text=playlist,
|
||||||
@ -103,10 +98,13 @@ class MacMusicAppPlaylistSelectWindow(ba.Window):
|
|||||||
on_activate_call=ba.Call(
|
on_activate_call=ba.Call(
|
||||||
self._sel, playlist),
|
self._sel, playlist),
|
||||||
click_activate=True)
|
click_activate=True)
|
||||||
|
ba.widget(edit=txt, show_buffer_top=40, show_buffer_bottom=40)
|
||||||
if playlist == self._existing_playlist:
|
if playlist == self._existing_playlist:
|
||||||
ba.columnwidget(edit=self._column,
|
ba.columnwidget(edit=self._column,
|
||||||
selected_child=txt,
|
selected_child=txt,
|
||||||
visible_child=txt)
|
visible_child=txt)
|
||||||
|
if i == len(playlists) - 1:
|
||||||
|
ba.widget(edit=txt, down_widget=txt)
|
||||||
|
|
||||||
def _sel(self, selection: str) -> None:
|
def _sel(self, selection: str) -> None:
|
||||||
if self._root_widget:
|
if self._root_widget:
|
||||||
|
|||||||
@ -353,19 +353,16 @@ class StoreBrowserWindow(ba.Window):
|
|||||||
highlight=False,
|
highlight=False,
|
||||||
position=((self._width - self._scroll_width) * 0.5,
|
position=((self._width - self._scroll_width) * 0.5,
|
||||||
self._height - self._scroll_height - 79 - 48),
|
self._height - self._scroll_height - 79 - 48),
|
||||||
size=(self._scroll_width, self._scroll_height))
|
size=(self._scroll_width, self._scroll_height),
|
||||||
|
claims_left_right=True,
|
||||||
|
claims_tab=True,
|
||||||
|
selection_loops_to_parent=True)
|
||||||
|
|
||||||
# NOTE: this stuff is modified by the _Store class.
|
# NOTE: this stuff is modified by the _Store class.
|
||||||
# Should maybe clean that up.
|
# Should maybe clean that up.
|
||||||
self.button_infos = {}
|
self.button_infos = {}
|
||||||
self.update_buttons_timer = None
|
self.update_buttons_timer = None
|
||||||
|
|
||||||
# So we can still select root level widgets with controllers.
|
|
||||||
ba.containerwidget(edit=self._scrollwidget,
|
|
||||||
claims_left_right=True,
|
|
||||||
claims_tab=True,
|
|
||||||
selection_loop_to_parent=True)
|
|
||||||
|
|
||||||
# Show status over top.
|
# Show status over top.
|
||||||
if self._status_textwidget:
|
if self._status_textwidget:
|
||||||
self._status_textwidget.delete()
|
self._status_textwidget.delete()
|
||||||
@ -781,11 +778,10 @@ class StoreBrowserWindow(ba.Window):
|
|||||||
cnt2 = ba.containerwidget(parent=scrollwidget,
|
cnt2 = ba.containerwidget(parent=scrollwidget,
|
||||||
scale=1.0,
|
scale=1.0,
|
||||||
size=(self._width, self._height),
|
size=(self._width, self._height),
|
||||||
background=False)
|
background=False,
|
||||||
ba.containerwidget(edit=cnt2,
|
claims_left_right=True,
|
||||||
claims_left_right=True,
|
claims_tab=True,
|
||||||
claims_tab=True,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
|
||||||
v = self._height - 20
|
v = self._height - 20
|
||||||
|
|
||||||
if self._tab == 'characters':
|
if self._tab == 'characters':
|
||||||
@ -976,11 +972,10 @@ class StoreBrowserWindow(ba.Window):
|
|||||||
scale=1.0,
|
scale=1.0,
|
||||||
size=(self._scroll_width,
|
size=(self._scroll_width,
|
||||||
self._scroll_height * 0.95),
|
self._scroll_height * 0.95),
|
||||||
background=False)
|
background=False,
|
||||||
ba.containerwidget(edit=cnt,
|
claims_left_right=True,
|
||||||
claims_left_right=True,
|
claims_tab=True,
|
||||||
claims_tab=True,
|
selection_loops_to_parent=True)
|
||||||
selection_loop_to_parent=True)
|
|
||||||
self._status_textwidget = ba.textwidget(
|
self._status_textwidget = ba.textwidget(
|
||||||
parent=cnt,
|
parent=cnt,
|
||||||
position=(self._scroll_width * 0.5,
|
position=(self._scroll_width * 0.5,
|
||||||
|
|||||||
@ -188,7 +188,7 @@ class WatchWindow(ba.Window):
|
|||||||
(self._scroll_height - c_height) * 0.5),
|
(self._scroll_height - c_height) * 0.5),
|
||||||
size=(c_width, c_height),
|
size=(c_width, c_height),
|
||||||
background=False,
|
background=False,
|
||||||
selection_loop_to_parent=True)
|
selection_loops_to_parent=True)
|
||||||
|
|
||||||
v = c_height - 30
|
v = c_height - 30
|
||||||
ba.textwidget(parent=cnt,
|
ba.textwidget(parent=cnt,
|
||||||
@ -265,7 +265,10 @@ class WatchWindow(ba.Window):
|
|||||||
position=(smlh, v),
|
position=(smlh, v),
|
||||||
size=(sub_scroll_width, sub_scroll_height))
|
size=(sub_scroll_width, sub_scroll_height))
|
||||||
ba.containerwidget(edit=cnt, selected_child=scrlw)
|
ba.containerwidget(edit=cnt, selected_child=scrlw)
|
||||||
self._columnwidget = ba.columnwidget(parent=scrlw, left_border=10)
|
self._columnwidget = ba.columnwidget(parent=scrlw,
|
||||||
|
left_border=10,
|
||||||
|
border=2,
|
||||||
|
margin=0)
|
||||||
|
|
||||||
ba.widget(edit=scrlw,
|
ba.widget(edit=scrlw,
|
||||||
autoselect=True,
|
autoselect=True,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
||||||
<h4><em>last updated on 2020-07-19 for Ballistica version 1.5.23 build 20148</em></h4>
|
<h4><em>last updated on 2020-07-21 for Ballistica version 1.5.23 build 20149</em></h4>
|
||||||
<p>This page documents the Python classes and functions in the 'ba' module,
|
<p>This page documents the Python classes and functions in the 'ba' module,
|
||||||
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
||||||
<hr>
|
<hr>
|
||||||
@ -6071,7 +6071,12 @@ are applied to the Widget.</p>
|
|||||||
print_list_exit_instructions: bool = None,
|
print_list_exit_instructions: bool = None,
|
||||||
left_border: float = None,
|
left_border: float = None,
|
||||||
top_border: float = None,
|
top_border: float = None,
|
||||||
bottom_border: float = None) -> <a href="#class_ba_Widget">ba.Widget</a></span></p>
|
bottom_border: float = None,
|
||||||
|
selection_loops_to_parent: bool = None,
|
||||||
|
border: float = None,
|
||||||
|
margin: float = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> <a href="#class_ba_Widget">ba.Widget</a></span></p>
|
||||||
|
|
||||||
<p>Create or edit a column widget.</p>
|
<p>Create or edit a column widget.</p>
|
||||||
|
|
||||||
@ -6097,7 +6102,7 @@ are applied to the Widget.</p>
|
|||||||
claims_left_right: bool = None,
|
claims_left_right: bool = None,
|
||||||
claims_tab: bool = None,
|
claims_tab: bool = None,
|
||||||
selection_loops: bool = None,
|
selection_loops: bool = None,
|
||||||
selection_loop_to_parent: bool = None,
|
selection_loops_to_parent: bool = None,
|
||||||
scale: float = None,
|
scale: float = None,
|
||||||
on_outside_click_call: Callable[[], None] = None,
|
on_outside_click_call: Callable[[], None] = None,
|
||||||
single_depth: bool = None,
|
single_depth: bool = None,
|
||||||
@ -6337,7 +6342,9 @@ in the background if necessary.</p>
|
|||||||
on_select_call: Callable[[], None] = None,
|
on_select_call: Callable[[], None] = None,
|
||||||
center_small_content: bool = None, color: Sequence[float] = None,
|
center_small_content: bool = None, color: Sequence[float] = None,
|
||||||
highlight: bool = None, border_opacity: float = None,
|
highlight: bool = None, border_opacity: float = None,
|
||||||
simple_culling_h: float = None) -> <a href="#class_ba_Widget">ba.Widget</a></span></p>
|
simple_culling_h: float = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> <a href="#class_ba_Widget">ba.Widget</a></span></p>
|
||||||
|
|
||||||
<p>Create or edit a horizontal scroll widget.</p>
|
<p>Create or edit a horizontal scroll widget.</p>
|
||||||
|
|
||||||
@ -6552,11 +6559,14 @@ app running.</p>
|
|||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<h2><strong><a name="function_ba_rowwidget">ba.rowwidget()</a></strong></h3>
|
<h2><strong><a name="function_ba_rowwidget">ba.rowwidget()</a></strong></h3>
|
||||||
<p><span>rowwidget(edit: Widget =None, parent: Widget =None,
|
<p><span>rowwidget(edit: Widget = None, parent: Widget = None,
|
||||||
size: Sequence[float] = None,
|
size: Sequence[float] = None,
|
||||||
position: Sequence[float] = None,
|
position: Sequence[float] = None,
|
||||||
background: bool = None, selected_child: Widget = None,
|
background: bool = None, selected_child: Widget = None,
|
||||||
visible_child: Widget = None) -> Widget</span></p>
|
visible_child: Widget = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None,
|
||||||
|
selection_loops_to_parent: bool = None) -> Widget</span></p>
|
||||||
|
|
||||||
<p>Create or edit a row widget.</p>
|
<p>Create or edit a row widget.</p>
|
||||||
|
|
||||||
@ -6607,7 +6617,10 @@ Currently the 'clients' option only works for transient messages.</p>
|
|||||||
capture_arrows: bool = False, on_select_call: Callable = None,
|
capture_arrows: bool = False, on_select_call: Callable = None,
|
||||||
center_small_content: bool = None, color: Sequence[float] = None,
|
center_small_content: bool = None, color: Sequence[float] = None,
|
||||||
highlight: bool = None, border_opacity: float = None,
|
highlight: bool = None, border_opacity: float = None,
|
||||||
simple_culling_v: float = None) -> <a href="#class_ba_Widget">ba.Widget</a></span></p>
|
simple_culling_v: float = None,
|
||||||
|
selection_loops_to_parent: bool = None,
|
||||||
|
claims_left_right: bool = None,
|
||||||
|
claims_tab: bool = None) -> <a href="#class_ba_Widget">ba.Widget</a></span></p>
|
||||||
|
|
||||||
<p>Create or edit a scroll widget.</p>
|
<p>Create or edit a scroll widget.</p>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user