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.
|
3 years ago | |
---|---|---|
.. | ||
3rd_party | 3 years ago | |
lib | 3 years ago | |
linux | 3 years ago | |
resources | 3 years ago | |
test | 4 years ago | |
web | 3 years ago | |
.gitignore | 4 years ago | |
.metadata | 4 years ago | |
README.md | 4 years ago | |
build.yaml | 4 years ago | |
build_web.sh | 4 years ago | |
pubspec.yaml | 3 years ago | |
source_gen.sh | 3 years ago |
README.md
DDE Gesture Manager
专为 DDE 桌面环境打造的触摸板手势管理工具
ProviderGenerator
利用 source_gen 和 build_runner 生成 provider 的模板代码:
- 在
lib/models/
下编写模型类
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
@ProviderModel()
class Test {
@ProviderModelProp()
bool? tested;
@ProviderModelProp()
String? name;
}
-
app
项目目录下执行flutter packages pub get && flutter packages pub run build_runner build --delete-conflicting-outputs
-
将在
lib/models/test.provider.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)