Skip to content

Commit 6473c62

Browse files
committed
Update CNativeAPI and refactor Menu/MenuItem to use initializers
Updates the CNativeAPI submodule and refactors Menu and MenuItem classes to use Swift-style initializers instead of factory methods. Removes guard-let error handling patterns and replaces create() methods with init() constructors.
1 parent c5b5a23 commit 6473c62

File tree

3 files changed

+146
-188
lines changed

3 files changed

+146
-188
lines changed

Sources/Example/main.swift

Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,10 @@ import NativeAPI
2222
trayIcon.setTooltip("NativeAPI Tray Icon Demo")
2323

2424
// Create context menu for tray icon
25-
guard let contextMenu = Menu.create() else {
26-
print("❌ Failed to create context menu")
27-
return
28-
}
25+
let contextMenu = Menu()
2926

3027
// Add "Show Window" menu item
31-
guard let showItem = MenuItem.create("显示窗口") else {
32-
print("❌ Failed to create show item")
33-
return
34-
}
28+
let showItem = MenuItem("显示窗口")
3529
contextMenu.addItem(showItem)
3630
showItem.onClicked { menuItem in
3731
print("📱 显示窗口")
@@ -41,20 +35,14 @@ import NativeAPI
4135
contextMenu.addSeparator()
4236

4337
// Add "About" menu item
44-
guard let aboutItem = MenuItem.create("关于") else {
45-
print("❌ Failed to create about item")
46-
return
47-
}
38+
let aboutItem = MenuItem("关于")
4839
contextMenu.addItem(aboutItem)
4940
aboutItem.onClicked { menuItem in
5041
print("ℹ️ 关于 - NativeAPI Demo v1.0")
5142
}
5243

5344
// Add "Settings" menu item
54-
guard let settingsItem = MenuItem.create("设置") else {
55-
print("❌ Failed to create settings item")
56-
return
57-
}
45+
let settingsItem = MenuItem("设置")
5846
contextMenu.addItem(settingsItem)
5947
settingsItem.onClicked { menuItem in
6048
print("⚙️ 打开设置面板")
@@ -64,17 +52,11 @@ import NativeAPI
6452
contextMenu.addSeparator()
6553

6654
// Add checkbox items for demonstration
67-
guard let showToolbarItem = MenuItem.create("显示工具栏", type: .checkbox) else {
68-
print("❌ Failed to create toolbar checkbox")
69-
return
70-
}
55+
let showToolbarItem = MenuItem("显示工具栏", type: .checkbox)
7156
showToolbarItem.setChecked(true)
7257
contextMenu.addItem(showToolbarItem)
7358

74-
guard let autoSaveItem = MenuItem.create("自动保存", type: .checkbox) else {
75-
print("❌ Failed to create autosave checkbox")
76-
return
77-
}
59+
let autoSaveItem = MenuItem("自动保存", type: .checkbox)
7860
autoSaveItem.setChecked(false)
7961
contextMenu.addItem(autoSaveItem)
8062

@@ -93,26 +75,17 @@ import NativeAPI
9375
contextMenu.addSeparator()
9476

9577
// Add radio button group for view mode selection
96-
guard let compactViewItem = MenuItem.create("紧凑视图", type: .radio) else {
97-
print("❌ Failed to create compact view radio")
98-
return
99-
}
78+
let compactViewItem = MenuItem("紧凑视图", type: .radio)
10079
compactViewItem.setRadioGroup(1)
10180
compactViewItem.setChecked(false)
10281
contextMenu.addItem(compactViewItem)
10382

104-
guard let normalViewItem = MenuItem.create("普通视图", type: .radio) else {
105-
print("❌ Failed to create normal view radio")
106-
return
107-
}
83+
let normalViewItem = MenuItem("普通视图", type: .radio)
10884
normalViewItem.setRadioGroup(1)
10985
normalViewItem.setChecked(true)
11086
contextMenu.addItem(normalViewItem)
11187

112-
guard let detailedViewItem = MenuItem.create("详细视图", type: .radio) else {
113-
print("❌ Failed to create detailed view radio")
114-
return
115-
}
88+
let detailedViewItem = MenuItem("详细视图", type: .radio)
11689
detailedViewItem.setRadioGroup(1)
11790
detailedViewItem.setChecked(false)
11891
contextMenu.addItem(detailedViewItem)
@@ -137,10 +110,7 @@ import NativeAPI
137110
contextMenu.addSeparator()
138111

139112
// Add "Exit" menu item
140-
guard let exitItem = MenuItem.create("退出") else {
141-
print("❌ Failed to create exit item")
142-
return
143-
}
113+
let exitItem = MenuItem("退出")
144114
contextMenu.addItem(exitItem)
145115
exitItem.onClicked { menuItem in
146116
print("👋 退出应用程序")

0 commit comments

Comments
 (0)