Skip to content

Commit 6e5a814

Browse files
committed
Update pythonnative views
1 parent c4eeca4 commit 6e5a814

File tree

18 files changed

+92
-64
lines changed

18 files changed

+92
-64
lines changed

apps/android_pythonnative_3/app/src/main/python/app/main.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,76 @@
22

33

44
def main(context):
5-
layout = pn.LinearLayout(context)
5+
stack_view = pn.StackView(context)
66

77
# label = pn.Label(context, "This is a PythonNative label")
8-
# layout.add_view(label)
8+
# stack_view.add_view(label)
99
#
1010
# switch = pn.Switch(context)
11-
# layout.add_view(switch)
11+
# stack_view.add_view(switch)
1212
#
1313
# text_field = pn.TextField(context)
14-
# layout.add_view(text_field)
14+
# stack_view.add_view(text_field)
1515
#
1616
# text_view = pn.TextView(context)
17-
# layout.add_view(text_view)
17+
# stack_view.add_view(text_view)
1818

1919
activity_indicator_view = pn.ActivityIndicatorView(context)
2020
activity_indicator_view.start_animating()
21-
layout.add_view(activity_indicator_view)
21+
stack_view.add_view(activity_indicator_view)
2222

2323
material_activity_indicator_view = pn.MaterialActivityIndicatorView(context)
2424
material_activity_indicator_view.start_animating()
25-
layout.add_view(material_activity_indicator_view)
25+
stack_view.add_view(material_activity_indicator_view)
2626

2727
progress_view = pn.ProgressView(context)
2828
progress_view.set_progress(0.5)
29-
layout.add_view(progress_view)
29+
stack_view.add_view(progress_view)
3030

3131
material_progress_view = pn.MaterialProgressView(context)
3232
material_progress_view.set_progress(0.5)
33-
layout.add_view(material_progress_view)
33+
stack_view.add_view(material_progress_view)
3434

3535
material_button = pn.MaterialButton(context, "MaterialButton")
36-
layout.add_view(material_button)
36+
stack_view.add_view(material_button)
3737

3838
search_bar = pn.SearchBar(context)
39-
layout.add_view(search_bar)
39+
stack_view.add_view(search_bar)
4040

4141
image_view = pn.ImageView(context)
42-
layout.add_view(image_view)
42+
stack_view.add_view(image_view)
4343

4444
picker_view = pn.PickerView(context)
45-
layout.add_view(picker_view)
45+
stack_view.add_view(picker_view)
4646

4747
# date_picker = pn.DatePicker(context)
48-
# layout.add_view(date_picker)
48+
# stack_view.add_view(date_picker)
4949

5050
# time_picker = pn.TimePicker(context)
51-
# layout.add_view(time_picker)
51+
# stack_view.add_view(time_picker)
5252

5353
# TODO: fix
5454
# material_time_picker = pn.MaterialTimePicker(context)
55-
# layout.add_view(material_time_picker)
55+
# stack_view.add_view(material_time_picker)
5656

5757
# TODO: fix
5858
# material_date_picker = pn.MaterialDatePicker(context)
59-
# layout.add_view(material_date_picker)
59+
# stack_view.add_view(material_date_picker)
6060

6161
# TODO: fix
6262
# material_switch = pn.MaterialSwitch(context)
63-
# layout.add_view(material_switch)
63+
# stack_view.add_view(material_switch)
6464

6565
# TODO: fix
6666
# material_search_bar = pn.MaterialSearchBar(context)
67-
# layout.add_view(material_search_bar)
67+
# stack_view.add_view(material_search_bar)
6868

6969
# web_view = pn.WebView(context)
7070
# web_view.load_url("https://www.djangoproject.com/")
71-
# layout.add_view(web_view)
71+
# stack_view.add_view(web_view)
7272
#
7373
# for i in range(100):
7474
# button = pn.Button(context, "Click me")
75-
# layout.add_view(button)
75+
# stack_view.add_view(button)
7676

77-
return layout.native_instance
77+
return stack_view.native_instance

apps/android_pythonnative_3/app/src/main/python/create_pn_layout.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44
def create_pn_layout(context):
5-
layout = pn.LinearLayout(context)
5+
layout = pn.StackView(context)
66

77
label = pn.Label(context, "This is a PythonNative label")
88
layout.add_view(label)

apps/pythonnative_demo/app/main.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22

33

44
def main():
5-
# Create a screen
6-
screen = pn.Screen()
5+
# Create a full-screen page
6+
page = pn.Page()
77

88
# Create a layout
9-
layout = pn.LinearLayout()
9+
stack_view = pn.StackView()
1010

11-
# Create a button and add it to layout
11+
# Create a button and add it to the layout
1212
button = pn.Button("Click Me")
13-
layout.add_view(button)
13+
stack_view.add_view(button)
1414

15-
# Create a label and add it to layout
15+
# Create a label and add it to the layout
1616
label = pn.Label("Hello, World!")
17-
layout.add_view(label)
17+
stack_view.add_view(label)
1818

19-
# Set layout to screen
20-
screen.set_layout(layout)
19+
# Set the layout
20+
page.set_layout(stack_view)
2121

22-
# Display the screen
23-
screen.show()
22+
# Display the page
23+
page.show()
2424

2525

2626
if __name__ == "__main__":

libs/pythonnative/pythonnative/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33
from .date_picker import DatePicker
44
from .image_view import ImageView
55
from .label import Label
6-
from .linear_layout import LinearLayout
76
from .material_activity_inidicator_view import MaterialActivityIndicatorView
8-
from .material_button import MaterialButton
7+
from .material_button import MaterialButton
98
from .material_date_picker import MaterialDatePicker
109
from .material_progress_view import MaterialProgressView
1110
from .material_search_bar import MaterialSearchBar
1211
from .material_switch import MaterialSwitch
1312
from .material_time_picker import MaterialTimePicker
13+
from .page import Page
1414
from .picker_view import PickerView
1515
from .progress_view import ProgressView
16-
from .screen import Screen
1716
from .search_bar import SearchBar
17+
from .stack_view import StackView
1818
from .switch import Switch
1919
from .text_field import TextField
2020
from .text_view import TextView
@@ -27,18 +27,18 @@
2727
"DatePicker",
2828
"ImageView",
2929
"Label",
30-
"LinearLayout",
3130
"MaterialActivityIndicatorView",
3231
"MaterialButton",
3332
"MaterialDatePicker",
3433
"MaterialProgressView",
3534
"MaterialSearchBar",
3635
"MaterialSwitch",
3736
"MaterialTimePicker",
37+
"Page",
3838
"PickerView",
3939
"ProgressView",
40-
"Screen",
4140
"SearchBar",
41+
"StackView",
4242
"Switch",
4343
"TextField",
4444
"TextView",

libs/pythonnative/pythonnative/activity_indicator_view.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ class ActivityIndicatorView(ActivityIndicatorViewBase, ViewBase):
5555
def __init__(self) -> None:
5656
super().__init__()
5757
self.native_class = ObjCClass("UIActivityIndicatorView")
58-
self.native_instance = self.native_class.alloc().initWithActivityIndicatorStyle_(0) # 0: UIActivityIndicatorViewStyleLarge
58+
self.native_instance = (
59+
self.native_class.alloc().initWithActivityIndicatorStyle_(0)
60+
) # 0: UIActivityIndicatorViewStyleLarge
5961
self.native_instance.hidesWhenStopped = True
6062

6163
def start_animating(self) -> None:

libs/pythonnative/pythonnative/date_picker.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ def get_date(self) -> tuple:
2929
from java import jclass
3030

3131
class DatePicker(DatePickerBase, ViewBase):
32-
def __init__(self, context, year: int = 0, month: int = 0, day: int = 0) -> None:
32+
def __init__(
33+
self, context, year: int = 0, month: int = 0, day: int = 0
34+
) -> None:
3335
super().__init__()
3436
self.native_class = jclass("android.widget.DatePicker")
3537
self.native_instance = self.native_class(context)

libs/pythonnative/pythonnative/material_activity_inidicator_view.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
# Base class
77
# ========================================
88

9+
910
class MaterialActivityIndicatorViewBase(ABC):
1011
@abstractmethod
1112
def __init__(self) -> None:
@@ -30,7 +31,9 @@ def stop_animating(self) -> None:
3031
class MaterialActivityIndicatorView(MaterialActivityIndicatorViewBase, ViewBase):
3132
def __init__(self, context) -> None:
3233
super().__init__()
33-
self.native_class = jclass("com.google.android.material.progressindicator.CircularProgressIndicator")
34+
self.native_class = jclass(
35+
"com.google.android.material.progressindicator.CircularProgressIndicator"
36+
)
3437
self.native_instance = self.native_class(context)
3538
self.native_instance.setIndeterminate(True)
3639

@@ -53,7 +56,9 @@ class MaterialActivityIndicatorView(MaterialActivityIndicatorViewBase, ViewBase)
5356
def __init__(self) -> None:
5457
super().__init__()
5558
self.native_class = ObjCClass("UIActivityIndicatorView")
56-
self.native_instance = self.native_class.alloc().initWithActivityIndicatorStyle_(0) # 0: UIActivityIndicatorViewStyleLarge
59+
self.native_instance = (
60+
self.native_class.alloc().initWithActivityIndicatorStyle_(0)
61+
) # 0: UIActivityIndicatorViewStyleLarge
5762
self.native_instance.hidesWhenStopped = True
5863

5964
def start_animating(self) -> None:

libs/pythonnative/pythonnative/material_button.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ def get_title(self) -> str:
3131
class MaterialButton(MaterialButtonBase, ViewBase):
3232
def __init__(self, context, title: str = "") -> None:
3333
super().__init__()
34-
self.native_class = jclass("com.google.android.material.button.MaterialButton")
34+
self.native_class = jclass(
35+
"com.google.android.material.button.MaterialButton"
36+
)
3537
self.native_instance = self.native_class(context)
3638
self.set_title(title)
3739

@@ -51,7 +53,9 @@ def get_title(self) -> str:
5153
class MaterialButton(MaterialButtonBase, ViewBase):
5254
def __init__(self, title: str = "") -> None:
5355
super().__init__()
54-
self.native_class = ObjCClass("UIButton") # Apple does not have a direct equivalent for MaterialButton
56+
self.native_class = ObjCClass(
57+
"UIButton"
58+
) # Apple does not have a direct equivalent for MaterialButton
5559
self.native_instance = self.native_class.alloc().init()
5660
self.set_title(title)
5761

libs/pythonnative/pythonnative/material_date_picker.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,17 @@ def get_date(self) -> tuple:
3131
class MaterialDatePicker(MaterialDatePickerBase, ViewBase):
3232
def __init__(self, year: int = 0, month: int = 0, day: int = 0) -> None:
3333
super().__init__()
34-
self.native_class = jclass("com.google.android.material.datepicker.MaterialDatePicker")
34+
self.native_class = jclass(
35+
"com.google.android.material.datepicker.MaterialDatePicker"
36+
)
3537
self.builder = self.native_class.Builder.datePicker()
3638
self.set_date(year, month, day)
3739
self.native_instance = self.builder.build()
3840

3941
def set_date(self, year: int, month: int, day: int) -> None:
4042
# MaterialDatePicker uses milliseconds since epoch to set date
4143
from java.util import Calendar
44+
4245
cal = Calendar.getInstance()
4346
cal.set(year, month, day)
4447
milliseconds = cal.getTimeInMillis()
@@ -47,9 +50,14 @@ def set_date(self, year: int, month: int, day: int) -> None:
4750
def get_date(self) -> tuple:
4851
# Convert selection (milliseconds since epoch) back to a date
4952
from java.util import Calendar
53+
5054
cal = Calendar.getInstance()
5155
cal.setTimeInMillis(self.native_instance.getSelection())
52-
return cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH)
56+
return (
57+
cal.get(Calendar.YEAR),
58+
cal.get(Calendar.MONTH),
59+
cal.get(Calendar.DAY_OF_MONTH),
60+
)
5361

5462
else:
5563
# ========================================

libs/pythonnative/pythonnative/material_progress_view.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ def get_progress(self) -> float:
3131
class MaterialProgressView(MaterialProgressViewBase, ViewBase):
3232
def __init__(self, context) -> None:
3333
super().__init__()
34-
self.native_class = jclass("com.google.android.material.progressindicator.LinearProgressIndicator")
34+
self.native_class = jclass(
35+
"com.google.android.material.progressindicator.LinearProgressIndicator"
36+
)
3537
self.native_instance = self.native_class(context)
3638
self.native_instance.setIndeterminate(False)
3739

@@ -52,7 +54,9 @@ class MaterialProgressView(MaterialProgressViewBase, ViewBase):
5254
def __init__(self) -> None:
5355
super().__init__()
5456
self.native_class = ObjCClass("UIProgressView")
55-
self.native_instance = self.native_class.alloc().initWithProgressViewStyle_(0) # 0: UIProgressViewStyleDefault
57+
self.native_instance = self.native_class.alloc().initWithProgressViewStyle_(
58+
0
59+
) # 0: UIProgressViewStyleDefault
5660

5761
def set_progress(self, progress: float) -> None:
5862
self.native_instance.setProgress_animated_(progress, False)

0 commit comments

Comments
 (0)