You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.4 KiB

# DDE Gesture Manager
专为 DDE 桌面环境打造的触摸板手势管理工具
## ProviderGenerator
利用 [source_gen](https://pub.dev/packages/source_gen) 和 [build_runner](https://pub.flutter-io.cn/packages/build_runner) 生成 [provider](https://pub.flutter-io.cn/packages/provider) 的模板代码:
1.`lib/models/` 下编写模型类
```dart
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
@ProviderModel()
class Test {
@ProviderModelProp()
bool? tested;
@ProviderModelProp()
String? name;
}
```
4 years ago
2. `app` 项目目录下执行 `flutter packages pub get && flutter packages pub run build_runner build --delete-conflicting-outputs`
3. 将在 `lib/models/test.provider.dart` 生成如下代码:
```dart
import 'package:flutter/foundation.dart';
import 'package:dde_gesture_manager/extensions/compare_extension.dart';
import 'test.dart';
class TestProvider extends Test with ChangeNotifier {
void setProps({
bool? tested,
String? name,
}) {
bool changed = false;
if (tested.diff(this.tested)) {
this.tested = tested;
changed = true;
}
if (name.diff(this.name)) {
this.name = name;
changed = true;
}
if (changed) notifyListeners();
}
}
```
## easy_localization
### 生成资源代码
`flutter pub run easy_localization:generate && flutter pub run easy_localization:generate -f keys -o locale_keys.g.dart`
### 已经支持语言
- 简体中文(zh-CN)
- English(en)