Skip to content

Commit 5f89c60

Browse files
authored
New page formats (#10)
* Updated AppInApp example. * Updated UgCalculator example. * Updated Gesture example. * Updated map control example. * Updated CryptoSwift example. * Updated WebView example. * Updated Clock application. * Updated ModalPage. * Updated UgSwiftFoundationDemo examples. * Updated MasterPageDemo example. * Updated build.yaml in MasterDemo. * Updated UgProgrammatic example. * Updated UgBitmap example. * Updated SimplyE example. * Updated settings page in SimplyE example.
1 parent ad0df92 commit 5f89c60

File tree

104 files changed

+4135
-2777
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+4135
-2777
lines changed

SimplyE/Sources/SimplyE/BookDetail.page

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2-
<xmi:XMI xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0" xmlns:binding="http://scade.com/sdk/data/binding" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:graphics="http://scade.com/sdk/view/graphics" xmlns:layout="http://scade.com/sdk/layout" xmlns:navigation="http://scade.com/lattice/navigation" xmlns:widgets="http://scade.com/sdk/view/widgets">
2+
<xmi:XMI xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0" xmi:id="0.3" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:graphics="http://scade.com/sdk/view/graphics" xmlns:layout="http://scade.com/sdk/layout" xmlns:navigation="http://scade.com/lattice/navigation" xmlns:widgets="http://scade.com/sdk/view/widgets">
33
<widgets:Page name="BookDetail">
44
<children xsi:type="widgets:ToolBar" name="toolbar11">
55
<children xsi:type="widgets:ToolBarItem" name="item11">
@@ -386,6 +386,5 @@
386386
<minArea width="320" height="480"/>
387387
<size width="320" height="480"/>
388388
</widgets:Page>
389-
<binding:BindingModel/>
390389
<navigation:Navigation page="/0"/>
391390
</xmi:XMI>

SimplyE/Sources/SimplyE/BookDetail.page.svg

+94-127
Loading

SimplyE/Sources/SimplyE/BookDetail.page.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class BookDetailPageAdapter: SCDLatticePageAdapter {
2626
}
2727

2828
func goBack() {
29-
self.navigation?.go(page: "main.page", transition : .fromRight)
29+
self.navigation?.go(page: "BooksList.page", transition : .fromRight)
3030
}
3131

3232
}

SimplyE/Sources/SimplyE/BookInformation.page

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2-
<xmi:XMI xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0" xmlns:binding="http://scade.com/sdk/data/binding" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:graphics="http://scade.com/sdk/view/graphics" xmlns:layout="http://scade.com/sdk/layout" xmlns:navigation="http://scade.com/lattice/navigation" xmlns:widgetlayouts="http://scade.com/sdk/view/widgets/layout" xmlns:widgets="http://scade.com/sdk/view/widgets">
2+
<xmi:XMI xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0" xmi:id="0.3" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:graphics="http://scade.com/sdk/view/graphics" xmlns:layout="http://scade.com/sdk/layout" xmlns:navigation="http://scade.com/lattice/navigation" xmlns:widgetlayouts="http://scade.com/sdk/view/widgets/layout" xmlns:widgets="http://scade.com/sdk/view/widgets">
33
<widgets:Page name="BookInformation">
44
<minArea width="414" height="736"/>
55
<location/>
@@ -517,6 +517,5 @@
517517
<maxArea width="414" height="736"/>
518518
<size width="414" height="736"/>
519519
</widgets:Page>
520-
<binding:BindingModel/>
521520
<navigation:Navigation page="/0"/>
522521
</xmi:XMI>

SimplyE/Sources/SimplyE/BookInformation.page.svg

+105-151
Loading

SimplyE/Sources/SimplyE/BookInformation.page.swift

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ class BookInformationPageAdapter: SCDLatticePageAdapter {
1818

1919

2020
toolBarItem3.onClick { _ in
21-
self.navigation?.go(page: "settings.page", transition: .fromLeft)
21+
self.navigation?.go(page: "ReaderSettings.page", transition: .fromLeft)
2222
}
2323

2424
item.onClick { _ in
25-
self.navigation?.go(page: "main.page", transition: .fromLeft)
25+
self.navigation?.go(page: "BooksList.page", transition: .fromLeft)
2626
}
2727

2828
// add back button event to go back to Catalog page
@@ -63,6 +63,6 @@ class BookInformationPageAdapter: SCDLatticePageAdapter {
6363
}
6464

6565
func goBack() {
66-
self.navigation!.go(page: "main.page", transition: .fromRight)
66+
self.navigation!.go(page: "BooksList.page", transition: .fromRight)
6767
}
6868
}

SimplyE/Sources/SimplyE/BooksList.page

+315
Large diffs are not rendered by default.

SimplyE/Sources/SimplyE/BooksList.page.svg

+148
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
import ScadeKit
2+
#if os(Android)
3+
import FoundationNetworking
4+
#endif
5+
6+
class BooksListPageAdapter: SCDLatticePageAdapter {
7+
8+
var categories: [Category] = []
9+
10+
// page adapter initialization
11+
override func load(_ path: String) {
12+
super.load(path)
13+
// Get data from REST endpoint instead of local dummy data
14+
15+
if let rsp = EReaderService.getOverview() {
16+
self.categories = rsp.data.map { CatalogServiceManager.fromBookCategory(bc: $0) }
17+
// listen to click event
18+
print("loaded data \(self.categories.count)")
19+
}
20+
21+
// setup toolbar events
22+
let item = self.page!.getWidgetByName("itmMore") as! SCDWidgetsContainer
23+
item.onClick.append(SCDWidgetsEventHandler { _ in self.gotoMore() })
24+
25+
// onEnter
26+
self.page!.onEnter.append(SCDWidgetsEnterEventHandler { _ in self.enterPage() })
27+
28+
populateBitmaps()
29+
}
30+
31+
func enterPage() {
32+
33+
}
34+
35+
func gotoMore() {
36+
self.navigation!.go(page: "ReaderSettings.page", transition: .fromLeft)
37+
}
38+
39+
func populateBitmaps() {
40+
41+
// get a reference to the name of the list control
42+
43+
//let ctrlLst = self.page!.getWidgetByName("ctrlListBookCatalog") as! SCDWidgetsList
44+
// Iterate across the elements in the list (the categories)
45+
//for (num,e) in ctrlLst.elements.enumerated() {
46+
// get bitmaps based on categories
47+
//let booksPerCategory = category.books
48+
49+
if let ctrlLst = page?.getWidgetByName("ctrlListBookCatalog") as? SCDWidgetsList {
50+
51+
ctrlLst.elementProvider = SCDWidgetsElementProvider { (category: Category, listElement) in
52+
53+
// get the horizontal grid layout control that contains the bitmaps
54+
guard let row = listElement.getWidgetByName("rowviewbooks") as? SCDWidgetsRowView else {
55+
return
56+
}
57+
58+
// iterate through list of books and set the respective URLS
59+
// if the list of books is greater than the number of bitmaps,
60+
// the respective books will be ignored
61+
guard let viewCategory = listElement.getWidgetByName("viewCategory") as? SCDWidgetsRowView else {
62+
return
63+
}
64+
65+
if let lbCategory = viewCategory.getWidgetByName("lbCategory") as? SCDWidgetsLabel {
66+
lbCategory.text = category.label
67+
}
68+
69+
for (index, book) in category.books.enumerated() {
70+
let bitmapname = "bmpbook\(index+1)"
71+
print("bitmapname \(bitmapname)")
72+
if let bitmap = row.getWidgetByName(bitmapname) as? SCDWidgetsImage {
73+
74+
NetworkUtils.loadDataAsync(from: book.bookCoverUrl, queue: .main) { [weak bitmap] data in
75+
bitmap?.content = data
76+
}
77+
78+
// add onClickEvent
79+
bitmap.onClick { _ in
80+
self.displayBookDetails(bookId: book.id)
81+
}
82+
83+
}
84+
}
85+
86+
}
87+
88+
ctrlLst.items = self.categories
89+
90+
}
91+
92+
}
93+
94+
func displayBookDetails(bookId: String) {
95+
print("BookId : \(bookId)")
96+
self.navigation?.goWith(page: "BookInformation.page", data: bookId, transition: .fromLeft)
97+
}
98+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
import ScadeKit
2+
3+
extension BookDetailPageAdapter {
4+
var toolbar11: SCDWidgetsToolBar {
5+
return self.page?.getWidgetByName("toolbar11") as! SCDWidgetsToolBar
6+
}
7+
8+
var item11: SCDWidgetsToolBarItem {
9+
return self.page?.getWidgetByName("item11") as! SCDWidgetsToolBarItem
10+
}
11+
12+
var icon11: SCDWidgetsImage {
13+
return self.page?.getWidgetByName("icon11") as! SCDWidgetsImage
14+
}
15+
16+
var caption11: SCDWidgetsLabel {
17+
return self.page?.getWidgetByName("caption11") as! SCDWidgetsLabel
18+
}
19+
20+
var item21: SCDWidgetsToolBarItem {
21+
return self.page?.getWidgetByName("item21") as! SCDWidgetsToolBarItem
22+
}
23+
24+
var icon21: SCDWidgetsImage {
25+
return self.page?.getWidgetByName("icon21") as! SCDWidgetsImage
26+
}
27+
28+
var caption21: SCDWidgetsLabel {
29+
return self.page?.getWidgetByName("caption21") as! SCDWidgetsLabel
30+
}
31+
32+
var item31: SCDWidgetsToolBarItem {
33+
return self.page?.getWidgetByName("item31") as! SCDWidgetsToolBarItem
34+
}
35+
36+
var icon31: SCDWidgetsImage {
37+
return self.page?.getWidgetByName("icon31") as! SCDWidgetsImage
38+
}
39+
40+
var caption31: SCDWidgetsLabel {
41+
return self.page?.getWidgetByName("caption31") as! SCDWidgetsLabel
42+
}
43+
44+
var item41: SCDWidgetsToolBarItem {
45+
return self.page?.getWidgetByName("item41") as! SCDWidgetsToolBarItem
46+
}
47+
48+
var icon41: SCDWidgetsImage {
49+
return self.page?.getWidgetByName("icon41") as! SCDWidgetsImage
50+
}
51+
52+
var caption41: SCDWidgetsLabel {
53+
return self.page?.getWidgetByName("caption41") as! SCDWidgetsLabel
54+
}
55+
56+
var viewNavbar: SCDWidgetsRowView {
57+
return self.page?.getWidgetByName("viewNavbar") as! SCDWidgetsRowView
58+
}
59+
60+
var label1: SCDWidgetsLabel {
61+
return self.page?.getWidgetByName("label1") as! SCDWidgetsLabel
62+
}
63+
64+
var viewBackButton: SCDWidgetsRowView {
65+
return self.page?.getWidgetByName("viewBackButton") as! SCDWidgetsRowView
66+
}
67+
68+
var bitmap1: SCDWidgetsImage {
69+
return self.page?.getWidgetByName("bitmap1") as! SCDWidgetsImage
70+
}
71+
72+
var label2: SCDWidgetsLabel {
73+
return self.page?.getWidgetByName("label2") as! SCDWidgetsLabel
74+
}
75+
76+
var horizontalview3: SCDWidgetsRowView {
77+
return self.page?.getWidgetByName("horizontalview3") as! SCDWidgetsRowView
78+
}
79+
80+
var gridBookDetails: SCDWidgetsGridView {
81+
return self.page?.getWidgetByName("gridBookDetails") as! SCDWidgetsGridView
82+
}
83+
84+
var viewBookInfo: SCDWidgetsListView {
85+
return self.page?.getWidgetByName("viewBookInfo") as! SCDWidgetsListView
86+
}
87+
88+
var lbBooktitel: SCDWidgetsLabel {
89+
return self.page?.getWidgetByName("lbBooktitel") as! SCDWidgetsLabel
90+
}
91+
92+
var lbAuthorName: SCDWidgetsLabel {
93+
return self.page?.getWidgetByName("lbAuthorName") as! SCDWidgetsLabel
94+
}
95+
96+
var viewBookPublisherInfo: SCDWidgetsGridView {
97+
return self.page?.getWidgetByName("viewBookPublisherInfo") as! SCDWidgetsGridView
98+
}
99+
100+
var lb: SCDWidgetsLabel {
101+
return self.page?.getWidgetByName("lb") as! SCDWidgetsLabel
102+
}
103+
104+
var lbPublished: SCDWidgetsLabel {
105+
return self.page?.getWidgetByName("lbPublished") as! SCDWidgetsLabel
106+
}
107+
108+
var lb1: SCDWidgetsLabel {
109+
return self.page?.getWidgetByName("lb1") as! SCDWidgetsLabel
110+
}
111+
112+
var lbpublisher: SCDWidgetsLabel {
113+
return self.page?.getWidgetByName("lbpublisher") as! SCDWidgetsLabel
114+
}
115+
116+
var lb11: SCDWidgetsLabel {
117+
return self.page?.getWidgetByName("lb11") as! SCDWidgetsLabel
118+
}
119+
120+
var lbcategory: SCDWidgetsLabel {
121+
return self.page?.getWidgetByName("lbcategory") as! SCDWidgetsLabel
122+
}
123+
124+
var horizontalview5: SCDWidgetsRowView {
125+
return self.page?.getWidgetByName("horizontalview5") as! SCDWidgetsRowView
126+
}
127+
128+
var bmpDetail: SCDWidgetsImage {
129+
return self.page?.getWidgetByName("bmpDetail") as! SCDWidgetsImage
130+
}
131+
132+
var viewBookDescription: SCDWidgetsListView {
133+
return self.page?.getWidgetByName("viewBookDescription") as! SCDWidgetsListView
134+
}
135+
136+
var lbdescription2: SCDWidgetsLabel {
137+
return self.page?.getWidgetByName("lbdescription2") as! SCDWidgetsLabel
138+
}
139+
140+
var lbDescription1: SCDWidgetsLabel {
141+
return self.page?.getWidgetByName("lbDescription1") as! SCDWidgetsLabel
142+
}
143+
144+
var verticalview1: SCDWidgetsListView {
145+
return self.page?.getWidgetByName("verticalview1") as! SCDWidgetsListView
146+
}
147+
148+
var viewBorrowStatus: SCDWidgetsRowView {
149+
return self.page?.getWidgetByName("viewBorrowStatus") as! SCDWidgetsRowView
150+
}
151+
152+
var label4: SCDWidgetsLabel {
153+
return self.page?.getWidgetByName("label4") as! SCDWidgetsLabel
154+
}
155+
156+
var viewGetBook: SCDWidgetsGridView {
157+
return self.page?.getWidgetByName("viewGetBook") as! SCDWidgetsGridView
158+
}
159+
160+
var horizontalview8: SCDWidgetsRowView {
161+
return self.page?.getWidgetByName("horizontalview8") as! SCDWidgetsRowView
162+
}
163+
164+
var horizontalview9: SCDWidgetsRowView {
165+
return self.page?.getWidgetByName("horizontalview9") as! SCDWidgetsRowView
166+
}
167+
168+
var label5: SCDWidgetsLabel {
169+
return self.page?.getWidgetByName("label5") as! SCDWidgetsLabel
170+
}
171+
172+
var horizontalview10: SCDWidgetsRowView {
173+
return self.page?.getWidgetByName("horizontalview10") as! SCDWidgetsRowView
174+
}
175+
176+
var label6: SCDWidgetsLabel {
177+
return self.page?.getWidgetByName("label6") as! SCDWidgetsLabel
178+
}
179+
180+
var customwidget1: SCDWidgetsCustomWidget {
181+
return self.page?.getWidgetByName("customwidget1") as! SCDWidgetsCustomWidget
182+
}
183+
}

0 commit comments

Comments
 (0)